COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre
Page 2
Sommaire RAPPEL DU CONTEXTE : ........................................................................................................................... 3
Equipe : ................................................................................................................................................ 3
Mission 1 : Environnement système ....................................................................................................... 4
Modification de la configuration IP de la machine : ........................................................................... 4
Création du compte dev : ................................................................................................................ 4
Reprise du compte incident : .............................................................................................................. 5
Mise en place d’une stratégie permettant la sauvegarde (automatique) journalière du site et des
bases de données : .......................................................................................................................... 5
Fonctionnalités secondaires : .............................................................................................................. 6
Mission 2 : Le site dynamique ................................................................................................................. 8
Modélisation Conceptuelle des données ............................................................................................ 8
Exportation vers phpmyadmin : ...................................................................................................... 8
Dynamisation des pages sous PHP ...................................................................................................... 9
Connexion au site web .................................................................................................................... 9
Les news ........................................................................................................................................ 10
La liste des membres ..................................................................................................................... 11
Les liens utiles ................................................................................................................................ 12
L’historique .................................................................................................................................... 13
Fonctionnalités secondaires .............................................................................................................. 14
Hachage des mots de passes ......................................................................................................... 14
Authentification MYSQL : .............................................................................................................. 15
Bilan ................................................................................................................................................... 16
Diagramme de Gant ...................................................................................................................... 16
Justification des écarts .................................................................................................................. 16
Page 3
RAPPEL DU CONTEXTE :
Deux missions ont été confiées à notre équipe dans le cadre de ce quatrième projet.
Humanist Network souhaitant faire évoluer son site Web vers une solution entièrement dynamique à
besoin de nos connaissances en développement pour assurer en php le dynamise de l’ensemble du
site web.
La nouvelle version de ce site sera hébergée sur un serveur virtuel dédié aux tests avant
déploiement. Cette configuration a été en partie préparée par le service informatique. Après
l’élaboration d’une maquette de réalisation validée par les professionnels d’HNT, le projet à pu
débuter.
Equipe : PAUSE Alexandre – Chef de projet SLAM
HU Sonny – Membre SISR
TECHER Donovan – Membre SLAM
Page 4
Mission 1 : Environnement système
Dans cette mission, nous somme chargé de créer un compte pour les développeurs ainsi qu’un menu
interactif effectuant un script de sauvegarde et restauration du site et de la base de données mais
aussi restreindre l’accès à distance pour certains utilisateurs.
Modification de la configuration IP de la machine :
On a procédé à la configuration du fichier interface, se trouvant dans /etc/network/interface et
on lui a ensuite attribué la configuration IP ci-dessus :
Adresse IP : 172.18.158.112
Masque de sous réseau : 255.255.248.0
Passerelle : 172.18.152.254
Adresse de broadcast : 172.18.159.255
Une adresse DNS a également été attribuée à la machine, en modifiant le fichier
/etc/resolv.conf
Enfin afin d’assurer la connectivité internet, une modification a été faite sur le fichier
/etc/apt/apt.conf
Création du compte dev :
Un nouveau compte utilisateur nommé « dev » a été créé à disposition des développeurs
« dev » a été créé à partir de la commande useradd,
-m permet de créer le répertoire
-d permet de spécifier son dossier home, qui ici en l’occurrence se trouve dans
/var/www/dev
On définit ensuite le mot de passe du compte :
Page 5
Reprise du compte incident : HNT nous a demandé de mettre en place une procédure simplifiée de reprise sur incident au
moyen d’un script qui permettra la sauvegarde et la restauration de leur site web, accompagné
de leur base de données.
Le script :
Le lancement du script nous affiche un menu interactif permettant de choisir entre sauvegarde
ou restauration :
Le dossier stockant les sauvegardes du site web ainsi que de la base de données se trouve dans
/var/backup
dev correspond à la sauvegarde du site, BDD.sql.gz correspond à toute la base de données
sauvegardée
Mise en place d’une stratégie permettant la sauvegarde (automatique) journalière du site
et des bases de données :
Page 6
Un autre script de sauvegarde (non interactif) a été créé afin de sauvegarder le site web et les
bases de données de HNT:
Crontab (un planificateur de tâches) a été ensuite utilisé et configuré pour assurer le
lancement du script tous les jours, à minuit et permettre ainsi une sauvegarde journalière
Fonctionnalités secondaires : Il nous a été demandé d’interdire l’accès au serveur via ssh des comptes « test » et « dev »
pour des raisons de sécurités. On a pour cela modifié le fichier config /etc/ssh/sshd_config, en
spécifiant les utilisateurs qui pourront se connecter au serveur via ssh (Allowuserstectecroot).
Ici, seuls tectec et root y sont autorisés, le reste, c’est-à-dire test et dev ne pourront donc pas
se connecter via ssh.
Interdiction d’accès au serveur via ssh pour dev :
Page 7
Interdiction d’accès au serveur via ssh pour test :
Enfin, il nous a été demandé de créer un compte nommé « tectec » qui assurera la reprise sur
incident (au lieu d’utiliser le compte root)
Page 8
Mission 2 : Le site dynamique
Ici, nous devons dynamiser le site Humanist Network en prenant en compte les soucis de
confidentialités, de sécurisations et d’authentification de la personne administré à modifier les
formulaires de mise à jour crée par nos soins.
Après validation de la dite-maquette du site web et la mise en place d’un modèle conceptuelle des
données, nous avons pu répondre aux besoins.
Modélisation Conceptuelle des données Notre choix c’est portée sur le logiciel JMerise pour réaliser le MCD de la base de donnée tout
simplement parce que ce logiciel permet de vérifier que notre MCD est correct, puis suite à une
connexion à la base de données créer si on le désire la base de données sur phpmyadmin.
Exportation vers phpmyadmin :
Page 9
La table « user » permet l’authentification de l’administrateur, les autres tables correspondent à
chaque page modifiable dynamiquement.
Dynamisation des pages sous PHP
Nous avons choisis PHP comme langage de programmation étant donné qu’il permet de faire des
formulaires de mise à jour en temps réel. Connaissant ce langage en particulier, nous l’avons couplé
à du MYSQL pour se connecter à la base de données distantes. Chacune des pages à dynamiser ont
étaient traités, nous exploiterons dans ce compte rendu un exemple pour chaque page.
Connexion au site web
A l’aide d’un hachage (voir partie secondaire) et d’une requête INSERT, nous avons à la première
connexion enregistrée le mot de passe et login du futur administrateur. Puis on récupère le login et
le password en format haché et on compare les deux hachages, celle de la base de données et celle
rentré par l’utilisateur.
Si les hachages correspondent alors l’administrateur est logué, avec une connexion bien à lui sous
phpmyadmin.
Page 10
Les news
Ajouter :
Nous avons optés pour des listes déroulantes pour les dates afin de rendre la saisie plus aisée. Un
script est effectué en amont pour récupérer la date actuel. A l’aide d’une requête INSERT on
récupère toute les informations données dans ce formulaire et on les ajoutes dans la base de
données. La date est automatique mis sous le bon format à l’aide de script.
L’image est incrémenté automatiquement avec les champs « photoNews » qui permettra de
renommer l’image et de la récupérer.
Une requête INSERT est nécessaire pour renseigner tout les champs de la table hormis l’auto-
incrément afin d’ajouter la nouvelle news.
Une fois ajouté, la news apparait dans le site web grâce aux requêtes SELECT disposé sur chaque
page dynamique.
Page 11
La liste des membres
Ce menu n’est accessible qu’après authentification de l’administrateur.
Modifier :
Nous avons utilisés des cases à cocher pour sélectionner les membres à modifier, plus chaque texte
sont pré-remplis pour faciliter la modification. Ainsi, chaque case coché aura à l’aide d’un compteur
un nom unique et seront modifié dans la base de donnée à l’aide d’une requête UPDATE et des
champs pré-remplis et/ou modifiés.
La photo est toujours en auto-incrément pour gérer l’attribution des photos.
Page 12
Les liens utiles
Supprimer
De même que pour modifier, il suffit de cocher le ou les cases que l’on désir supprimer.
Cependant :
On vérifie que l’administrateur souhaite bel et bien supprimé définitivement ce ou ces liens. Si c’est
le cas, une requête DELETE est envoyée au serveur et la base de données supprime les champs
sélectionnés.
La photo est de même en auto-incrément et sera supprimé séparément du script originale.
Page 13
L’historique
Chaque image mènent aux formulaires en question avec en bonus conformément à notre maquette
la modification de l’historique.
Président et effectif
Les présidents sont obtenue pas une requête sélection ordonné par année de début croissante.
Les effectifs suivent le même raisonnement.
Page 14
Fonctionnalités secondaires
La sécurité est une priorité chez Humanist Network. Du côté développement web, une connexion
MYSQL dédié ainsi qu’un hachage du mot de passe sont des sécurités de bases importantes.
Hachage des mots de passes
Pour hacher notre mot de passe on à d’abord crée un sel solide :
Puis on récupère la valeur du mot de passe en protégé, pour inviter les injections SQL :
Enfin on hache le mot de passe récupéré de valeur protégé avec la fonction php md5 et son sel :
Pour la première connexion on ajoute à la base de données le hachage du mot de passe, puis à
chaque connexion on vérifie que les hachages correspondent.
Page 15
Authentification MYSQL :
Premièrement, si le login n’est pas renseigné (donc l’administrateur pas connecté) alors l’utilisateur
sur le site se verra attribuer les login « root » et « » pour accéder à la lecture des ressources de la
base de données sur le site.
Ensuite, si l’administrateur se connecte et que son login/mdp est vérifié :
On ajoute les valeurs de connexion à la base de données du login et du mot de passe de
l’administrateur.
Enfin, ce dernier dispose d’un compte utilisateur et de tout les droits sur la dites base de données du
site web :
Page 16
Bilan
Estimation du projet
Le projet avec 2 développeurs et 1 réseau pourra être effectué sur 6 semaines à l’ordre de 35h par
semaine. On partira sur une planche de 2 mois. HNT devra supporter un coût total de 15.000€ pour
rémunérer ses employés.
Diagramme de Gant
Justification des écarts
Nous avons prévu de nous attarder sur l’hébergement du site web sur la machine virtuelle à distance
pour pouvoir proposer le site web à l’ensemble du réseau.
En réalité, nous n’avons eu aucun problème lié à ce projet d’Humanist Network.
Top Related