COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3...

16
COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre

Transcript of COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3...

Page 1: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre

Page 2: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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: COMPTE RENDU PPE 4 - Alexandre Pausé · COMPTE RENDU PPE 4 Environnement Web HNT - Groupe 3 17/05/2016 Humanist Network PAUSE Alexandre . ... Crontab (un planificateur de tâches)

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.