diff options
Diffstat (limited to 'Documents_et_infos/infos_generales.txt')
| -rw-r--r-- | Documents_et_infos/infos_generales.txt | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/Documents_et_infos/infos_generales.txt b/Documents_et_infos/infos_generales.txt deleted file mode 100644 index 05ef1f6..0000000 --- a/Documents_et_infos/infos_generales.txt +++ /dev/null @@ -1,73 +0,0 @@ -******************************************************************************* - Infos: Déroulé de la réalisation de l'exercice. -******************************************************************************* - -Le cahier des charges que je me suis fixé pour cet exercice est un peu plus chargé -que ce qui était demandé initalement: --Mettre en place un sytème de client / consultant (et non uniquement pour moi). --Mettre en place un système d'inscription. --Mettre en place un système de connection. --Rechercher par nom un consultant. --Afficher les capacités d'un consultant. --Pouvoir enregistrer et noter une mission effectuée auprès d'un consultant en -tant que client. --Pouvoir supprimer un utilisateur du site. - -Pour cet exercice, j'ai tout d'abord voulu créer mes pages web indépendamment les -unes des autres (index, login, register, etc...), il m'a rapidement paru évident -de séparer la gestion de la base de données dans un fichier à part, et mettre ce -système dans une classe m'a également paru être un bon choix car on pouvait avec -une classe définir les différents paramatres de connection à la base de données -dans les attributs de cette dernière et initier la connection à l'instanciation. -Ce système me permettait de mettre en place des requêtes en créant des méthodes et la classe -grossissant j'ai décidé de la scinder en trois, le fichier principal contenant les -informations de connection et d'initialisation de la base de données ainsi que quelques -requêtes basiques, un second fichier contenant toutes les méthodes pour effectuer des -recherches, et un dernier fichier contenant toutes les méthodes permettant de pouvoir -modifier les éléments de la base de données. - -En avancant dans l'exercice, j'ai voulu séparer la partie "logique" (traitement des données) -de la partie "rendue" (partie envoyée au client), les fichiers grossissants rapidement -cela permettait de gérer plus clairement ces deux parties du site. - -J'ai alors décidé de faire un fichier logique que j'ai appelé "wrapper", -ce wrapper avait deux objectifs: -- Récupérer les données transmises par les formulaires. -- Effectuer toute la partie logique (le traitement des données). -Je souhaitais renvoyer toutes les données vers un seul fichier pour minimiser -l'exposition d'informations transmises au client quand au fonctionnement du site web, -dans une optique de sécurité je souhaite afficher au client -uniquement le strict minimum. Ce fichier wrapper a lui aussi rapidement grossi, -et dans un soucis de lisibilité et de facilité de maintenance, j'ai décidé de le diviser -en plusieurs fichiers qui sont devenus ses fonctions. - -Enfin la partie "rendue" contenait les différentes pages accessibles par le client, -voulant éviter la répétition dans les différentes pages, j'ai séparé les parties -communes dans des fichiers à part (header, navbar, footer) cela me permettait en -modifiant un seul fichier de modifier le rendu sur toutes les pages, et dans un -soucis d'uniformité, j'ai décidé de "sortir" également les parties principales des -différentes pages et de placer le tout dans un dossier nommé "includes" dans lequel -les pages pourraient importer leur contenu. Enfin pour la gestion des langues, il -m'a paru opportun de créer des fichiers contenant le texte pour chaque langue à la -manière de fichier de traduction pour vidéo, et le site allait importer ensuite le -fichier en fonction de la langue sélectionnée, pour le faire j'ai créé deux dossiers -"fr" et "en" et je change la source de l'import en fonction de la langue choisie -par le client. - -Pour permettre une retention d'information entre les pages, le système de session -m'a paru inévitable et grâce à ce dernier, j'ai pu mettre en place le système -de changement de langue (défini dans une variable de cette dernière), un système de -connection (on affiche différents éléments en fonction du contenu de variable défini dans la session). - -J'ai également choisi de créer un système d'auto-connection car je voulais -expérimenter l'utilisation de cookie en PHP pour mettre en place ce système -le but était de créer un "jeton d'auto-connection": une chaine de caractères aléatoires -permettant la connection, valable une seule fois et qui serait stoqué 7 jours -sur le navigateur du client. La session ne restant ouverte -par défaut que 24 min (https://stackoverflow.com/questions/9904105/php-sessions-default-timeout). - -Pour la charte graphique, j'ai mis en place ce qui me parait être la structure la plus basique -pour un site web: En-tête avec barre de navigation -> corps de la page -> pied de page. -J'ai choisi un style clair, anguleux et épuré avec une dominance pour le rouge. - -Et enfin pour pouvoir faire un peu de JS, j'ai choisi de créer un slideshow. |
