summaryrefslogtreecommitdiff
path: root/Documents_et_infos/infos_generales.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documents_et_infos/infos_generales.txt')
-rw-r--r--Documents_et_infos/infos_generales.txt73
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.