From be364bb579f60ce87f43bb8421f81dc6312be23e Mon Sep 17 00:00:00 2001 From: Debulois Date: Wed, 13 Jul 2022 13:13:45 +0200 Subject: Résolution bug regex vérification email en Js Résolution bug si char non présent dans cookie autologin Optimisation de quelques éléments Réorganisation légère des documents tiers Ajout .htaccess pour interdire le listage des dossiers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Anciennes_versions_avant_git.zip | Bin 1217591 -> 0 bytes Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb | Bin 13477 -> 0 bytes .../Bdd_mysql/mysql_alphajob.mwb.bak | Bin 13489 -> 0 bytes Documents_et_infos/Bdd_mysql/mysql_alphajob.png | Bin 47039 -> 0 bytes Documents_et_infos/Bdd_mysql/mysql_alphajob.sql | 143 --------------------- .../arborescence_alphajob.jpg | Bin 202720 -> 0 bytes .../Structure_plan_de_site/depth_optimised.jpg | Bin 76763 -> 0 bytes .../Structure_plan_de_site/html5_balises.jpg | Bin 71847 -> 0 bytes .../logigramme_fonction_login.jpg | Bin 383335 -> 0 bytes .../structure_projet_web.jpg | Bin 271075 -> 0 bytes .../Zooning_maquette_graphique/infos_css.txt | 19 --- .../maquette_page_web.jpg | Bin 32246 -> 0 bytes .../Zooning_maquette_graphique/zooning_avance.epgz | Bin 64354 -> 0 bytes .../Zooning_maquette_graphique/zooning_simple.epgz | Bin 13568 -> 0 bytes .../cahier_des_charges_fonctionnalitees.jpg | Bin 317462 -> 0 bytes Documents_et_infos/infos_generales.txt | 73 ----------- 16 files changed, 235 deletions(-) delete mode 100644 Documents_et_infos/Anciennes_versions_avant_git.zip delete mode 100644 Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb delete mode 100644 Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak delete mode 100644 Documents_et_infos/Bdd_mysql/mysql_alphajob.png delete mode 100644 Documents_et_infos/Bdd_mysql/mysql_alphajob.sql delete mode 100644 Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg delete mode 100644 Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg delete mode 100644 Documents_et_infos/Structure_plan_de_site/html5_balises.jpg delete mode 100644 Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg delete mode 100644 Documents_et_infos/Structure_plan_de_site/structure_projet_web.jpg delete mode 100644 Documents_et_infos/Zooning_maquette_graphique/infos_css.txt delete mode 100644 Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg delete mode 100644 Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz delete mode 100644 Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz delete mode 100644 Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg delete mode 100644 Documents_et_infos/infos_generales.txt (limited to 'Documents_et_infos') diff --git a/Documents_et_infos/Anciennes_versions_avant_git.zip b/Documents_et_infos/Anciennes_versions_avant_git.zip deleted file mode 100644 index 4f69087..0000000 Binary files a/Documents_et_infos/Anciennes_versions_avant_git.zip and /dev/null differ diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb deleted file mode 100644 index 3a7249d..0000000 Binary files a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb and /dev/null differ diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak b/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak deleted file mode 100644 index 570f173..0000000 Binary files a/Documents_et_infos/Bdd_mysql/mysql_alphajob.mwb.bak and /dev/null differ diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.png b/Documents_et_infos/Bdd_mysql/mysql_alphajob.png deleted file mode 100644 index a9b8e1c..0000000 Binary files a/Documents_et_infos/Bdd_mysql/mysql_alphajob.png and /dev/null differ diff --git a/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql b/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql deleted file mode 100644 index 1189648..0000000 --- a/Documents_et_infos/Bdd_mysql/mysql_alphajob.sql +++ /dev/null @@ -1,143 +0,0 @@ --- MySQL Script generated by MySQL Workbench --- Sun Mar 13 12:15:01 2022 --- Model: New Model Version: 1.0 --- MySQL Workbench Forward Engineering - -SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; -SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; -SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; - --- ----------------------------------------------------- --- Schema exophp --- ----------------------------------------------------- - --- ----------------------------------------------------- --- Schema exophp --- ----------------------------------------------------- -CREATE SCHEMA IF NOT EXISTS `exophp` DEFAULT CHARACTER SET utf8 ; -USE `exophp` ; - --- ----------------------------------------------------- --- Table `exophp`.`userAccount` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `exophp`.`userAccount` ( - `userId` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `email` VARCHAR(128) NOT NULL, - `password` VARCHAR(128) NOT NULL, - `tokenAutoLogin` VARCHAR(128) NULL DEFAULT NULL, - `inscriptionDate` TIMESTAMP NOT NULL, - `isClient` TINYINT(1) UNSIGNED NOT NULL, - `isPro` TINYINT(1) UNSIGNED NOT NULL, - `isAdmin` TINYINT(1) UNSIGNED NOT NULL, - PRIMARY KEY (`userId`)) -ENGINE = InnoDB -DEFAULT CHARACTER SET = utf8; - - --- ----------------------------------------------------- --- Table `exophp`.`jobCategrory` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `exophp`.`jobCategrory` ( - `jobCategoryId` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `jobCategoryNameEn` VARCHAR(128) NOT NULL, - `jobCategoryNameFr` VARCHAR(128) NOT NULL, - PRIMARY KEY (`jobCategoryId`)) -ENGINE = InnoDB; - - --- ----------------------------------------------------- --- Table `exophp`.`mission` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `exophp`.`mission` ( - `missionId` INT UNSIGNED NOT NULL AUTO_INCREMENT, - `date` TIMESTAMP NOT NULL, - `subject` VARCHAR(128) NOT NULL, - `note` TINYINT(1) UNSIGNED NULL DEFAULT NULL, - `review` TEXT NULL DEFAULT NULL, - `acceptedByPro` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, - `validatedByClient` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, - `validatedByPro` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, - `clientId` INT UNSIGNED NOT NULL, - `proId` INT UNSIGNED NOT NULL, - `jobCategroryId` INT UNSIGNED NOT NULL, - PRIMARY KEY (`missionId`), - INDEX `fk_mission_clientId_idx` (`clientId` ASC) VISIBLE, - INDEX `fk_mission_proId_idx` (`proId` ASC) VISIBLE, - INDEX `fk_mission_jobCategroryId_idx` (`jobCategroryId` ASC) VISIBLE, - CONSTRAINT `fk_mission_userId` - FOREIGN KEY (`clientId`) - REFERENCES `exophp`.`userAccount` (`userId`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_mission_consultantId` - FOREIGN KEY (`proId`) - REFERENCES `exophp`.`userAccount` (`userId`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_mission_jobcategrory1` - FOREIGN KEY (`jobCategroryId`) - REFERENCES `exophp`.`jobCategrory` (`jobCategoryId`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB -DEFAULT CHARACTER SET = utf8; - - --- ----------------------------------------------------- --- Table `exophp`.`userInfo` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `exophp`.`userInfo` ( - `lastName` VARCHAR(128) NOT NULL, - `firstName` VARCHAR(128) NOT NULL, - `phoneNumber` VARCHAR(10) NOT NULL, - `adress` VARCHAR(128) NOT NULL, - `zipCode` VARCHAR(6) NOT NULL, - `city` VARCHAR(128) NOT NULL, - `degree` VARCHAR(128) NULL DEFAULT NULL, - `capability` TEXT NULL DEFAULT NULL, - `description` TEXT NULL DEFAULT NULL, - `userId` INT UNSIGNED NOT NULL, - PRIMARY KEY (`userId`), - INDEX `fk_userinfo_userId_idx` (`userId` ASC) VISIBLE, - CONSTRAINT `fk_userinfo_userId` - FOREIGN KEY (`userId`) - REFERENCES `exophp`.`userAccount` (`userId`) - ON DELETE CASCADE - ON UPDATE CASCADE) -ENGINE = InnoDB -DEFAULT CHARACTER SET = utf8; - - --- ----------------------------------------------------- --- Table `exophp`.`category` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `exophp`.`category` ( - `category_id` INT NOT NULL, - `name` VARCHAR(255) NOT NULL, - PRIMARY KEY (`category_id`)); - - --- ----------------------------------------------------- --- Table `exophp`.`userJob` --- ----------------------------------------------------- -CREATE TABLE IF NOT EXISTS `exophp`.`userJob` ( - `jobCategroryId` INT UNSIGNED NOT NULL, - `userId` INT UNSIGNED NOT NULL, - INDEX `fk_userJob_jobcategrory1_idx` (`jobCategroryId` ASC) VISIBLE, - INDEX `fk_userJob_userinfo1_idx` (`userId` ASC) VISIBLE, - CONSTRAINT `fk_userJob_jobCategroryId` - FOREIGN KEY (`jobCategroryId`) - REFERENCES `exophp`.`jobCategrory` (`jobCategoryId`) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT `fk_userJob_userId` - FOREIGN KEY (`userId`) - REFERENCES `exophp`.`userInfo` (`userId`) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - - -SET SQL_MODE=@OLD_SQL_MODE; -SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; -SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; diff --git a/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg b/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg deleted file mode 100644 index b236126..0000000 Binary files a/Documents_et_infos/Structure_plan_de_site/arborescence_alphajob.jpg and /dev/null differ diff --git a/Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg b/Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg deleted file mode 100644 index 5a7303b..0000000 Binary files a/Documents_et_infos/Structure_plan_de_site/depth_optimised.jpg and /dev/null differ diff --git a/Documents_et_infos/Structure_plan_de_site/html5_balises.jpg b/Documents_et_infos/Structure_plan_de_site/html5_balises.jpg deleted file mode 100644 index 873958d..0000000 Binary files a/Documents_et_infos/Structure_plan_de_site/html5_balises.jpg and /dev/null differ diff --git a/Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg b/Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg deleted file mode 100644 index 5aef760..0000000 Binary files a/Documents_et_infos/Structure_plan_de_site/logigramme_fonction_login.jpg and /dev/null differ diff --git a/Documents_et_infos/Structure_plan_de_site/structure_projet_web.jpg b/Documents_et_infos/Structure_plan_de_site/structure_projet_web.jpg deleted file mode 100644 index 4aea17c..0000000 Binary files a/Documents_et_infos/Structure_plan_de_site/structure_projet_web.jpg and /dev/null differ diff --git a/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt b/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt deleted file mode 100644 index 33af86c..0000000 --- a/Documents_et_infos/Zooning_maquette_graphique/infos_css.txt +++ /dev/null @@ -1,19 +0,0 @@ -Ressources: -https://github.com/bradtraversy/design-resources-for-developers -https://www.photopea.com/ - -Tailles écrans: -https://gbksoft.com/blog/common-screen-sizes-for-responsive-web-design/ -https://www.w3schools.com/browsers/browsers_display.asp -https://99designs.fr/blog/design-web-digital/lconception-sites-web-adaptatifs/ - -Infos utiles: -https://kinsta.com/fr/wp-content/uploads/sites/4/2020/09/points-rupture-responsives-bootstrap.png -https://raidboxes.io/fr/blog/webdesign-development/webdesign-trends-2021/ -https://webdesign.tutsplus.com/tutorials/how-to-create-a-frosted-glass-effect-in-css--cms-32535 - -Fonds: -https://unsplash.com/photos/eMNevd6ErCU - -Lisibilité et texte: -http://all-for-design.com/web-design/lisibilite-des-sites-web-font-size-100-16px/ \ No newline at end of file diff --git a/Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg b/Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg deleted file mode 100644 index 2e4a256..0000000 Binary files a/Documents_et_infos/Zooning_maquette_graphique/maquette_page_web.jpg and /dev/null differ diff --git a/Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz b/Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz deleted file mode 100644 index 723e951..0000000 Binary files a/Documents_et_infos/Zooning_maquette_graphique/zooning_avance.epgz and /dev/null differ diff --git a/Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz b/Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz deleted file mode 100644 index a2051a0..0000000 Binary files a/Documents_et_infos/Zooning_maquette_graphique/zooning_simple.epgz and /dev/null differ diff --git a/Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg b/Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg deleted file mode 100644 index 8519988..0000000 Binary files a/Documents_et_infos/cahier_des_charges_fonctionnalitees.jpg and /dev/null differ 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. -- cgit v1.2.3