Memoire Master Assemien Serge20182
Memoire Master Assemien Serge20182
DEDICACE.................................................................................................................................................III
REMERCIEMENTS....................................................................................................................................IV
AVANT – PROPOS.....................................................................................................................................V
RESUME...................................................................................................................................................VI
ABSTRACT...............................................................................................................................................VII
FIGURES ET IMAGES..............................................................................................................................VIII
TABLEAUX................................................................................................................................................IX
SIGLES ET ABBREVIATIONS.......................................................................................................................X
INTRODUCTION........................................................................................................................................1
PREMIERE PARTIE : CADRE DE REFERENCE ....................................................................2
I. PRESENTATION DE L’ENTREPRISE.....................................................................................................3
II. PRESENTATION DU PROJET..............................................................................................................6
III. CHOIX DE LA METHODE D’ANALYSE.............................................................................................8
DEUXIEME PARTIE : ETUDE PREALABLE ...........................................................................18
I. ETUDE DE L’EXISTANT.....................................................................................................................19
II. PROPOSITIONS DE SOLUTIONS POSSIBLES....................................................................................20
TROISIEME PARTIE : ETUDE DETAILLEE DE LA SOLUTION ......................................22
I. DIAGRAMME ET DESCRIPTION DES CAS D’UTILISATION LES PLUS IMPORTANTS........................23
II. IDENTIFICATION DES CLASSES ET DIAGRAMME DES CLASSES......................................................31
III. DIAGRAMMES DE SEQUENCE.....................................................................................................36
IV. DU MODELE OBJET AU MODELE RELATIONNEL.........................................................................42
V. MODELISATION PHYSIQUE DE DONNEES.......................................................................................43
QUATRIEME PARTIE : REALISATION .....................................................................................49
I. CAPTURE DES BESOINS TECHNIQUES.............................................................................................50
II. ENVIRONNEMENT DE DEVELOPPEMENT.......................................................................................52
III. CHOIX DU LANGAGES DE PROGRAMMATION............................................................................60
IV. SERVEUR WEB..............................................................................................................................64
V. PRESENTATION DE QUELQUES FONCTIONALITES..........................................................................67
VI. DEPLOIEMENT DE L’APPLICATION..............................................................................................71
|Page Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge
CONCLUSION..........................................................................................................................................80
BIBLIOGRAPHIE – WEBOGRAPHIE..........................................................................................................81
ANNEXES.............................................................................................................................................82
ANNEXE 1 : EXTRAIT DE CODES DE L’APPLICATION........................................................................................................................83
ANNEXE 2 : DOCUMENTS UTILISÉS............................................................................................................................................87
|Page Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge
DEDICACE
Je dédie ce mémoire à mon père AKANI ASSEMIEN et à ma mère AHULE TANO YABA
AGNES.
Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge III | P a g e
REMERCIEMENTS
La réalisation de ce mémoire a été possible grâce au concours de plusieurs personnes à
qui nous voudrions témoigner toute notre reconnaissance. Nous adressons, tout
d’abord, notre gratitude à Monsieur N’GOUAN Jérémie Directeur général de PIGIER CI
à qui, je suis redevable, d’une formation de qualité dont je suis fier et qui est d’un
apport considérable dans ma vie professionnelle.
Nous désirons aussi remercier tous ceux qui nous ont fournis les outils nécessaires à la
réussite de notre formation académique, à savoir :
Nous adressons également nos sincères remerciements aux personnes avec lesquelles
nous avons pu échanger et qui nous ont aidé pour la rédaction de ce mémoire :
Enfin, nous adressons nos plus sincères remerciements à notre famille : nos parents,
nos sœurs, et tous nos proches et amis, qui nous ont accompagné, aidé, soutenu et
encouragé tout au long de la réalisation de ce mémoire.
Qu’ils trouvent en cette œuvre toute notre gratitude pour les efforts consentis à notre
égard.
Tout comme les autres parcours, il a un cycle LICENCE et un cycle MASTER dont le
quatrième semestre comprend une Unité d’Enseignement (UE) nommée Travail de Fin
d’Etudes (TFE). La validation de cette UE s’obtient suite à une soutenance de mémoire
de stage élaboré en entreprise lors d’un stage d’au moins trois mois. C’est dans ce
contexte de stage que nous avons réalisé ce travail.
Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge V|Page
RESUME
Pour améliorer sa performance, toute entreprise moderne a besoin d’automatiser la
gestion interne de ses activités en faisant appel à des technologies informatiques.
D’ailleurs c’est le cas de l’entreprise PIGIER Côte d’Ivoire qui souhaite optimiser la
totalité de sa gestion.
Ce projet vise à développer une application web de gestion et de suivi des absences
des étudiants. Mais, pour aboutir à cette fin, nous allons tout d’abord effectué une
étude conceptuelle de l’application. Cette dernière nous permettra, en effet,
d’accéder facilement à la réalisation de l’application en organisant les idées et en
structurant le processus de codage suivant des diagrammes.
This project aims at developing a web application for the management and monitoring
of students’ absence. In order to reach such a goal, we first dealt with the conceptual
study of the application that could allow an easy implementation and data
organization by structuring the encoding process according to charts.
The whole application has been carried out with BOOSTRAP, a framework that allows a
quick and efficient authoring of a complex and flexible website.
Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge VII | P a g e
FIGURES ET IMAGES
Figure 1 : Représentation d’un acteur
Figure 2 : Représentation d’un cas d’utilisation
Figure 3 : Représentation de relation
Figure 4 : Diagramme de cas d’utilisation
Figure 5 : Composition d’une classe
Figure 6 : Composition d’une association
Figure 7 : Diagramme de séquences « s’authentifier »
Figure 8 : Diagramme de séquences « consulter absence »
Figure 9 : Diagramme de séquences « modifier absence »
Figure 10 : Diagramme de séquences « ajouter absence »
Figure 11 : Diagramme de séquences « imprimer liste, fiche de bordereaux et de
convocation
Figure 12 : Diagramme de séquences « générer graphe »
Figure 13 : Couches organisationnelle d’une application
Figure 14 : Diagramme de déploiement
Image 1 : Interface de connexion
Image 2 : Interface de connexion erreur compte utilisateur pas encore activé
Image 3 : Interface d’inscription
Image 4 : Erreur login utilisateur existe
Image 5 : Interface d’accueil de l’administrateur
Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge VIII | P a g e
TABLEAUX
Tableau 1 : Synthèse d’une étude conceptuelle de MERISE
Tableau 2 : Comparatif UML – MERISE
Tableau 3 : Choix du système d’exploitation (Windows vs GNU/LINUX vs MacOs)
Tableau 4 : Comparaison des SGBD
Tableau 5 : Comparaison des langages de programmation
Tableau 6 : Comparaison Apache vs Nginx
Diplôme Master Génie Informatique & Réseaux Assemien Ouake Serge X|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
INTRODUCTION
L’informatique est l’une des technologies qui a révolutionné le monde contemporain.
Ainsi, l’Afrique qui ne peut continuer d’être à la traine se doit de s’intégrer de façon
efficace et stratégique afin de rattraper son retard dans l’ère informatique. Des
moyens de travail, en passant par les outils de conception sans oublier la formation,
bon nombre d’efforts sont faits pour ne pas rester en marge de l’avancée fulgurante
des NTIC.
Aujourd’hui le monde s’accorde à donner du crédit à la formation. L’Afrique le doit
plus encore car la qualité des ressources humaines constitue un pari plus que vital
pour les défis à relever. Des écoles se sont créées et s’y sont dévouées. Tel est le cas de
PIGIER côte d’ivoire.
Pendant ces dernières années, la gestion des absences des étudiants au sein de PIGIER
Côte d’Ivoire devient de plus en plus complexe, d’où l’informatisation de tel système
est indispensable. C’est dans ce contexte que le responsable du service surveillance
général nous a confié une tâche afin de mieux contrôler les absences des étudiants.
D’où le thème de notre étude : « CONCEPTION ET REALISATION D’UNE APPLICATION
WEB DE GESTION ET DE SUIVI DES ABSENCES ETUDIANTS : CAS DE PIGIER COTE
D’IVOIRE ».
Notre application comprendra les fonctionnalités suivantes :
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 1|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 2|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
PREMIERE PARTIE :
CADRE DE REFERENCE
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 3|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
I. PRESENTATION DE L’ENTREPRISE
1. Historique
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 4|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
2. Missions
Les missions que cet établissement s’est assignées résident en ces points :
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 5|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
3. Organisation
DIRECTION GENERALE
COMITE DE DIRECTION
ADMINISTRATEUR RESEAUX
SURVEILLANCE GENERALE
SERVICE REPROGRAPHIE
SERVICE COMMERCIALE
SERVICE DES EXAMENS
SERVICE PLACEMENT
SERVICE SCOLARITE
COMMUNICATION
COMPTABILITE
STAGES
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 6|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
La surveillance générale de PIGIER Côte d’Ivoire abrite le même bloc que le cabinet
médical, le service examen, le service informatique et le service note. La surveillance
générale est située au deuxième (2ème) étage du bâtiment A au siège de PIGIER Côte
d’ivoire.
Elle gère :
1. Contexte
La gestion administrative des étudiants inscrits à PIGIER Côte d’Ivoire est actuellement
assurée par la surveillance générale. Cette dernière a la responsabilité de permettre le
suivi des étudiants et de leurs absences au cours des différents enseignements.
En parallèle, elle s’occupe plus particulièrement des éventuelles convocations,
disciplines, fiches de bordereaux d’absences, des salles.
En harmonie donc avec cette vision, nous sommes emmenés à travailler sur le projet
ayant pour thème : « CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE
GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER COTE
D’IVOIRE ».
Ce thème soumis à notre étude doit nous conduire à faire des choix techniques en vue
de mettre en place un système d’information (SI) qui pourrait répondre aux nouveaux
besoins de ladite entreprise.
2. Mot clés
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 7|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
3. Problèmes
4. Problématique
Au vu des différents problèmes énoncés ci-dessus, notre problématique sera axée sur
les deux (2) points suivants :
5. Objectifs du projet
L’objectif principal est de fournir à PIGIER Côte d’Ivoire une application capable de
permettre un suivi sur les absences de chaque étudiant.
Objectifs spécifiques :
La réalisation de cette application web dynamique permettra d’assurer la bonne
gestion des absences des étudiants à travers diverses fonctionnalités :
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 8|Page
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
1. Méthode MERISE
MERISE est une méthode qui a une double vocation. C’est d’abord une méthode de
conception du système informatique (SI) à savoir :
une approche globale du SI menée parallèlement sur les données et sur les
traitements.
une description du SI par niveaux :
le niveau conceptuel
le niveau logique ou organisationnel
le niveau physique ou opérationnel
une description du SI utilisant un formalisme de représentation précis,
simple rigoureux pour la description des données
une représentation visuelle de modèles conceptuels.
mise en œuvre
une description de la structure de travail à mettre en place pour mener à bien
le développement du SI.
Niveau conceptuel
A ce niveau, il est établi une description des finalités de l’entreprise en précisant le
« QUOI » tout en faisant abstraction des contraintes organisationnelles et techniques.
Il sera fait une description des données stables ou données invariantes du SI et de
l’ensembles des règles de gestion qui y sont appliquées au niveau des concepts par le
biais d’un formalisme qui peut se traduire en termes de :
Modèle logique des données (MLD), qui peut être selon le cas Codasyl,
Relationnel, Fichier classique
Modèle organisationnel des traitements (MOT), qui permet de représenter par
phases les taches exécutées et les postes de travail correspondants.
Il définit les organisations physiques des données au travers du Modèle Physique des
Données (MPD) et la description des traitements effectués par unités de traitements
au travers du Modèle Opérationnel des Traitements (MOT).
A ce niveau, le MOPT, décrit « LE COMMENT FAIRE ».
La méthode de conception proposée par MERISE nous a présenté une vue globale des
différents niveaux applicables par cette méthode pour mener à bien un projet.
Cependant, ces concepts ne pouvant être pris en compte qu’après une analyse
détaillée du SI et une délimitation précise du domaine d’activités à partir de la
démarche du développement.
NIVEAU
D’ABSTRACTION DONNEES TRAITEMENTS
CONCEPTUEL
Modèle Conceptuel des Modèle Conceptuel des
Données (MCD) Traitements (MCT)
ORGANISATION ou
Modèle Logique des Modèle Organisationnel
LOGIQUE
Données (MLD) des Traitements (MOT)
OPERATIONNEL ou
Modèle Physique des Modèle Opérationnel des
PHYSIQUE
Données (M.P.D) Traitements (M.Op.T)
nécessite une très grande rigueur, car ceux-ci fournissent les fondements pour
spécifier, construire, visualiser, et décrire les artéfacts d’un système logiciel.
L’un des avantages est donc de bénéficier d’une panoplie d’outils et de langages
performants pour la programmation orientée objet.
Diagramme de composants
Diagramme de déploiement
Diagramme de communication
Diagramme d’états-transition
Diagramme d’activité
MERISE UML
Méthode d’analyse et de conception de Langage de représentation d’un système
système d’information d’information
Méthode de modélisation de données et Système de notation orienté objet
traitements orienté bases de données
relationnelles
Relationnel Objet
Schéma directeur, étude préalable, étude Langage de modélisation des systèmes
détaillée et la réalisation standard, qui utilise des diagrammes pour
représenter chaque aspect d’un système :
statique, dynamique, en s’appuyant sur la
notion d’orienté objet
Plus adapté à une approche théorique Plus orienté vers la conception
Du « bottom up » de la base de données Du « top down » du modèle vers la base de
vers le code données
Une autre approche sera de comparer UML et MERISE par un système de pointage.
Effet les points attribués seront fait selon les besoins du projet :
MERISE UML
Principe de construction 7 7
Formalisme 5 8
Type d’approche 7 7
Cycle de vie 4 9
Niveau d’analyse 4 8
Découpage 6 6
Point de vue 4 8
Notion du temps 5 7
Type de système 4 8
Application 5 8
Apprentissage 8 5
Support logiciel 7 7
Niveau conception 7 4
Totaux 73 92
En conclusion, avec 92 points, UML est largement supérieur à MERISE pour l’exécution
de notre projet. Si l’on considère que le SI est modélisable comme deux sous-systèmes
DEUXIEME PARTIE :
ETUDE PREALABLE
I. ETUDE DE L’EXISTANT
1. Présentation de l’existant
2. Analyse de l’existant
2.1.1. Présentation
2.1.2. Besoins
Le service surveillance général de PIGIER Côte d’Ivoire est en attente d’une application
permettant d’assurer :
2.2.Critique de l’existant
Cette partie a pour but de dégager les insuffisances et les défaillances du système
actuel. Concernant la gestion et le suivi des absences, on peut noter les travaux
manuels élèves, lourds et pénibles qui se présentent d’une façon répétitive à savoir
l’archivage, la mise en œuvre et la consultation des fiches d’absences.
Le service surveillance générale présente en son sein une application standard
développée sous Access 2003. Cette application gère la saisie des absences, mais
présente beaucoup de défaillances à savoir :
Après l’analyse de l’existant nous proposons une application web de gestion de suivi
des absences des étudiants pour améliorer le mode de fonctionnement du service
surveillance générale.
Les responsables de la surveillance générale de PIGIER Côte d’Ivoire ont opté pour la
réalisation d’une nouvelle application web dynamique automatisant la gestion et le
suivi des absences des étudiants et permettant d’optimiser le temps d’accès aux
différentes données, puis d’éviter les tâches pénibles et ennuyeuses. Cette application
aidera à mettre en place une nouvelle circulation de l’information grâce à un réseau de
communication pour diffuser les informations entre les responsables du service
surveillance générale.
Par ailleurs, elle permettra de mettre en place un système qui gère toute une liste des
absences, des convocations, des fiches de bordereaux de présence de façon détaillée
et rapide pour avoir des informations à temps réel, etc. En outre, elle diminuera la
gestion des droits d’accès afin de permettre un accès sélectif aux différents menus et
attribuer des responsabilités à chaque utilisateur.
TROISIEME PARTIE :
ETUDE DETAILLEE DE LA
SOLUTION
Un acteur : c’est l’idéalisation d’un rôle joué par une personne externe, un
processus ou une chose qui interagit avec un système. Il se représente par un
petit bonhomme avec un nom inscrit dessous.
Acto
Figure 1 : Représentationrd’un acteur
Use Case
Les relations : Trois types de relations sont pris en charge par la norme UML et
sont graphiquement représentés par des types particuliers de ces relations. Les
relations indiquent que le cas d’utilisation source présente les mêmes conditions
d’exécution. Une relation simple entre un acteur et une utilisation est un trait
simple.
User Reminde
Logou r
t
Cette représentation nous permet d’avoir une vue globale sur les fonctionnalités du
système ainsi que les catégories d’utilisateurs.
Ajouter absence
<<extend>>
<<include>>
Gerer absence
<<include>>
<<extend>>
S'authentifier
Modifier absence
educateur
<<include>>
Gerer fiche
<<include>>
<<extend>> <<extend>>
<<extend>>
Imprimer fiche
Imprimer liste convo
absence
Imprimer fiche BP
Consultation
tableau de bord <<include>>
Administrateur
<<extend>> Activer ou desactiver s'authentifier
compte utilisateur <<include>>
Gerer utilisateur
<<extend>>
<<include>>
Scénario « S’authentifier »
1-A.1.1. L’utilisateur clique sur le bouton Se connecter sans avoir introduit son
nom d’utilisateur et / ou son mot de passe.
1-A.1.2. L’application indique le champ vide et qu’il faut le remplir.
1-A.1.3. Le cas d’utilisation reprend à l’action 1-N.1.1 du scénario nominal.
Scénario alternatif :
Scénario alternatif :
Scénario alternatif :
id_user
login login utilisateur
email email utilisateur
utilisateur password password utilisateur
etat etat utilisateur
rôle rôle utilisateur
date_creation date création utilisateur
id_absence
periode_debut periode debut
periode_fin periode fin
Absence nbreabsence nombre absence
date_absence date absence
absence_just absence justifié
id_convo
code_generique code generique
heure_debut heure debut
type_convo type convocation
Convocation antenne antenne
date_saisie_convo date saisie convocation
nom_educateur nom éducateur
motif motif
id_annee_acad
Année académique nom_annee_acad nom année académique
date_annee_acad date année académique
id_absence_excusee
date_debut date début
Absence excusée date_fin date fin
motif motif
nbrejours nombre de jours
id_clas
Classe nom_clas nom classe
date_crea_clas date creation classe
id_parcours
parcours nom_parcours nom parcours
date_saisie_parcours date saisie parcours
id_fil
Filière nom_fil nom filière
date_fil date filière
id_etud
Etudiant matricule matricule étudiant
nom nom étudiant
prenom prénom étudiant
Matière id_mat
nom_mat nom matière
date_mat date matière
2. Diagramme de classe
2.1 Définition
Une classe se représente avec UML sous forme d’un rectangle divisé en trois sections.
Le premier contient le nom donné à la classe (non souligné).
Les attributs d’une classe sont définis par un nom, un type (éventuellement une valeur
par défaut, c’est-à-dire une valeur affectée à la propriété lors de l’instanciation) dans le
second compartiment. Les opérations sont répertoriées dans le troisième volet du
rectangle.
Classe
X
-attribut_1 : int
-attribut_2 : string
+set_attribut_1(int):
void
+get_attribut_1(): int
+set_attribut_2(string):
void
Figure 5 +get_attribut_2():
: Composition d’unestring
classe
Association : une association est une relation entre deux classes (association
binaire) ou plus (association n-aire), qui décrit les connexions structurelles entre
leurs instances. Une association indique donc qu’il peut y avoir des liens entre
des instances des classes associées.
Personne Entrepr
ise
nom : String employé travailler pour employeur Raison
Prénom : String * 1 sociale :
String
Salaire () : float Chiffre_d_a
ffaires () :
float
Etudiant
*
* *
Matière Professeur
Cours
Attribut : est une propriété élémentaire d’une classe. Pour chaque objet d’une
classe, l’attribut prend une valeur (sauf cas d’attributs multivalués).
Opération : est une fonction applicable aux objets d’une classe. Une opération
permet de décrire le comportement d’un objet. Une méthode est
l’implémentation d’une opération.
Rôle : nom donné à chaque extrémité d’une association ; par extension, c’est la
manière dont les instances d’une classe voient les instances d’une autre classe
au travers d’une association.
Multiplicité : le nombre d’objet (min… max) qui peuvent participer à une
relation avec un autre objet dans le cadre d’une association.
Agrégation : cas particulier d’association non symétrique exprimant une relation
de contenance.
Généralisation : est la relation entre une classe et deux autres classes ou plus
partageant un sous-ensemble commun d’attributs et/ou d’opérations.
Super-classe : classe générale reliée à d’autre classe plus spécialisées (sous-
classe) par la relation de généralisation
Classe d’association : permet de décrire soit les attributs soit des opérations
propres à l’association. Cette classe-association est elle-même reliée par un trait
concerner1 Filière
- id_fil : int
1..* avoir + nom_fil : varchar
+ date_fil : date
Absence excusee # Ajouter ()
- id_absence_excusee : int 1..1 # Afficher ()
+ date_debut : date 1..1 # Modifier ()
+ date_fin : date
Absence
+ motif : varchar
+ nbre_jours : varchar - id_abs : int
+ periode_debut : date
# Ajouter ()
+ periode_fin : date
# Afficher ()
+ nbreabsence : varchar
# Modifier () Matière
+ date_absence : date
+ absence_just : varchar - id_mat : int
+ semaine : varchar concerner4 + nom_mat : varchar
# Ajouter () + date_mat : date
1..1
# Afficher () 1..* # Ajouter ()
# Modifier () # Afficher ()
Utilisateur # Modifier ()
- id_user : int
+ login : varchar
+ email : varchar gerer
+ role : varchar
+ etat : int
+ date_creation : date
# s'authentifier () 1..* Service absence
+ ajouterclasse() : void
+ ajouterdepartement() : void
1..1 + ajouteretudiant() : void
appartenir1 + ajoutermatiere() : void
+ activer_desactiver_user() : void
+ ajouterfiliere() : void
+ ajouterconvocation() : void
+ ajouterannee_academique() : void
+ ajouterabsence() : void
+ consulterabsence() : void
+ consulterliste_user() : void
+ imprimer_fiche_absence() : void
+ modifier_absence() : void
Description :
Description :
Description :
Après
authentification, l’éducateur(s) accède à son espace de travail pour pourvoir effectuer
ses fonctions, l’une de ces fonctions est de sélectionner le ou les absences à modifier.
Un message de demande de validation de la modification s’affiche, il est redirigé à
l’interface de l’application.
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
Les
trois
L’architecture un tiers
Avec cette architecture, les trois couches s’exécutent sur la même machine, on parle
d’informatique centralisée.
Cette architecture est constituée d’un côté, du client qui envoie des requetés au
serveur et récupère les réponses de celui-ci, il prend en charge la couche présentation
et de l’autre, du serveur qui est à l’écoute, prêt à répondre aux requêtes envoyées par
les clients. Il se charge de la couche applicative et de la couche d’accès aux données.
Les trois couches s’exécutent chacune sur une machine différente. La couche
présentation s’exécute sur le client (par exemple un navigateur web), la couche
applicative sur un serveur d’application et la couche accès aux données sur un serveur
de base de données.
L’architecture n-tiers
L’architecture N-tiers (anglais tiers : étage, niveau), ou encore appelée multi-tiers, est
une architecture client-serveur dans laquelle une application est exécutée par
plusieurs composants logiciels distincts.
Nous avons opté pour l’architecture trois tiers composée de trois niveaux physiques :
Cette architecture est très flexible, évolutive et nous permet de mieux repartir nos
composants logiciels. Nous pouvons compter aussi au nombre des motivations de ce
choix, la possibilité d’appliquer une sécurité à tous les niveaux de manière
indépendante, la réduction des charges du poste client, ce qui rend le plus simple à
manipuler et une expérience utilisateur plus agréable.
1. Systèmes d’exploitation
Un système d’exploitation, abrégé parfois SE, (ou Operating System en anglais, que
l’on rencontre souvent sous l’abréviation OS) repente l’ensemble des programmes qui
pilote les différents composants (disque dur, écran, processeur, mémoire etc…) de
l’appareil informatique et lui permet donc de fonctionner.
Il permet donc de faire l’interface entre l’utilisateur et le matériel informatique. Il est
d’ailleurs chargé en premier lors du démarrage de l’appareil.
1.1.1 Windows
Avantages
système d’exploitation le plus populaire ;
compatible avec presque tous les logiciels et périphériques ;
système d’exploitation complet.
Inconvénients
victime de nombreuses attaques de virus, logiciels malveillants.
1.1.2 GNU/Linux
GNU est né en 1983, il s’agit d’un système d’exploitation. En 1991, il est complété par
le noyau Linux. Les outils de GNU permettent de faire fonctionner la machine alors que
Linux contrôle le matériel et gère les pilotes. Certains périphériques ne disposent pas
de pilote pour Linux et ne pourront pas faire fonctionner celui-ci.
Il utilise son propre système de fichiers et, contrairement à Windows, n’utilise pas de
lettre de partition.
Avantages
tous les logiciels conçus pour Linux-Ubuntu sont gratuits ;
système d’exploitation fiable ;
très peu d’attaques virus ;
possibilité de modifier et ajoute des applications en toute liberté.
Inconvénients
peu répandu : presque seulement utilisé par les informaticiens
certains périphériques ne fonctionnent pas sous Linux.
1.1.3 MAC OS
C’est le nom du système d’exploitation développé par Apple pour ses ordinateurs
personnels. Macintosh a été l’un des premiers à posséder une interface graphique
(avec des menus, des fenêtres etc…).
On distingue deux grandes familles de système d’exploitation pour l’ordinateur Mac :
Avantages
système d’exploitation complet ;
peu d’attaques virus.
Inconvénients
ne fonctionne qu’avec les ordinateurs Mac d’Apple ;
compatible avec moins de logiciels et jeux que Windows ou Linux Ubuntu.
L’étude comparative des trois systèmes les plus répandus dans le monde effectuée
dans le tableau ci-dessous nous permettra de faire notre choix.
A la suite de notre tableau de comparaison de système notre choix s’est porté sur le
système d’exploitation Windows qui possède les atouts d’un bon système
d’exploitation malgré certains points encore négatifs qui suscitent des réticences à son
utilisation. Mais, ce système d’exploitation possède une simplicité de fonctionnement
et est idéal pour un informaticien.
2. SGBD
2.1 Définition
La fonction première d’un système de Gestion de Base de Données (SGBD) est d’être
un outil de stockage d’informations offrant des fonctions simples de manipulation de
grands volumes de données. L’un des avantages de ces SGBD est que l’interrogation de
ces informations s’effectue d’une manière indépendante de l’architecture physique de
stockage.
2.2 Présentation
2.2.1 SQL SERVER
Produit par Microsoft, SQL Server est un système de gestion de base de données
relationnelles. Le stockage, la manipulation et l’analyse de ces données se font au sein
de son moteur de bases de données. Ce service permet la réalisation de nombreuses
applications, requêtes, et transactions, notamment grâce au langage T-SQL (Transact-
SQL).
Avantages
administration aisée ;
fonction d’audit évoluée ;
indépendance entre les diverses bases, facilitant l’intégration de plusieurs
applicatifs dans une même instance ;
une des bases les plus performantes sous Windows en configuration par
défaut ;
langage T-SQL très convivial, intégration de CLR (Common Language
Runtime)
gestion de l’indexation textuelle ;
services Web et support XML ;
ordonnanceur intégré ;
compression des données et de sauvegardes.
Inconvénients
distributions fortement liées au système d’exploitation ;
mono-plateforme (MS Windows) ;
pas de contraintes d’unicité multi null.
2.2.2 Oracle DB
Oracle, édité par Oracle Corporation (qui édite également MySQL) est un SGBDR
payant.
Son coût élevé fait qu’il est principalement utilisé par des entreprises. Oracle gère très
bien de grands volumes de données. Il est inutile d’acheter une licence Oracle pour un
projet de petite taille, car les performances ne seront pas différentes de celles de
MySQL ou d’un autre SGBDR. Par contre, pour des projets conséquents (plusieurs
centaines de Go de données), Oracle sera bien plus performant. Par ailleurs, Oracle
dispose d’un langage procédural très puissant (du moins plus puissant que le langage
procédural de MySQL).
Avantages
richesse fonctionnelle ;
fonction d’audit évolué ;
row Level Storage Security (RLSS) : permet de ne faire apparaître que
certaines lignes des tables pour un utilisateur/une application donnée.
parallélisme, caches nommés, haute disponibilité ;
gestion centralisée de plusieurs instances ;
assistants performants via Oracle Manager Server, possibilité de gérer en
interne des tâches et des alarmes ;
services web, support XML ;
ordonnanceur intégré ;
compression des données et des sauvegardes ;
support technique Orion extrêmement riche et fourni.
Inconvénients
administration complexe, liée à la richesse fonctionnelle ;
méta-modèle propriétaire, loin de la norme ;
prix élevé, tant au point de vue de licences que des composants matériels
(RAM, CPU) à fournir pour de bonnes performances ;
gestion des verrous mortels mal conçue (suppression d’une commande
bloquante sans rollback) ;
une quantité des bugs proportionnels à la richesse fonctionnelle, surtout
sur les dernières versions.
2.2.3 MySQL
MySQL est un SGBDR qui utilise le langage SQL (Structured Query Language), et fait
partie des plus utilisés. Sa popularité est due en grande partie au fait qu’il s’agit d’un
logiciel Open Source, ce qui signifie que son code source est librement disponible et
que quiconque qui en ressent l’envie et/ou le besoin peut modifier MySQL pour
l’améliorer ou l’adapter à ses besoins. Une version gratuite de MySQL est par
conséquent disponible.
Avantages
solution très courante en hébergement public ;
très bonne intégration dans l’environnement Apache/PHP ;
open Source, bien que les critères de licence soient de plus en plus
difficiles à supporter ;
ordonnanceur et partitionnement dès la version 5.1 ;
facilité de déploiement et de prise en main ;
plusieurs moteurs de stockage adaptés aux différentes problématiques,
configurable au niveau table ;
multi plate-forme Linux, Windows, OSX, Unix.
Inconvénients
ne supporte qu’une faible partie des standards SQL-92 ;
support incomplet des triggers et procédures stockées ;
assez peu de richesse fonctionnelle ;
pas d’héritage de table ;
pas de vue matérialisée ;
manque de robustesse avec fortes volumétries.
2.2.4 MS Access
MS Access ou Microsoft Access est un logiciel édité par Microsoft (comme son nom
l’indique…). Par conséquent, c’est un logiciel payant qui ne fonctionne que sous
Windows. Il n’est pas du tout adapté pour gérer un grand volume de données et a
beaucoup moins de fonctionnalités que les autres SGBDR. Son avantage principal est
l’interface graphique intuitive qui vient avec le logiciel.
Avantages
grâce à son interface graphique complète, MS Access est idéal pour créer,
gérer et analyser rapidement des bases de données, mais aussi pour créer
facilement des rapports ;
le programme est conçu pour tous les niveaux : débutants comme
utilisateurs avancés peuvent travailler sur MS Access. Grâce aux macros, il
est possible de combiner plusieurs commandes, comme automatiser
certaines tâches, sans connaissance en programmation ;
manipulation facile et simple à apprendre ; l’assistance permet de
comprendre de nombreuses fonctionnalités ;
il est possible de réaliser des bases de données sous forme d’application
en utilisant une application SharePoint Web ;
nombreuses options d’export et d’import vers d’autres systèmes de
banques de données et vers MS Office grâce à ODBC ;
très utilisé comme composant de Microsoft Office.
Inconvénients
par rapport à un système de base de données fonctionnant sur le modèle
client-serveur, MS Access est plus instable, conçu pour traiter seulement
un certain volume de données et des requêtes spécifiques, et offre
beaucoup moins de fonctionnalités ;
comme les informations d’une base de données sont enregistrées sur un
seul et même fichier, MS Access présente des capacités et des
performances limitées. Le traitement de gros fichiers ralentit
considérablement le programme et le rend assez instable (surtout à partir
de fichiers d’environ 1 GB). De plus, les fichiers ne peuvent excéder un
poids de 2 GB ;
l’utilisation simultanée par plusieurs personnes n’est possible qu’avec un
programme additionnel, et assez limitée ;
la performance baisse considérablement lorsque plusieurs utilisateurs ont
un accès simultané à la même base de données ;
payant et disponible seulement sous Windows.
Le SGBD choisi est MySQL qui est un système de gestion de base de données en
langage SQL incorporant entre autres un SGBDR Libre. Il fonctionne sous les systèmes
d’exploitation Windows, Linux, Mac OS.
MySQL se distingue de la concurrence par une grande communauté contribuant à son
évolution et à faire aux défis fonctionnels de plus en plus évolutifs.
C’est aussi le plus populaire au monde avec sa vitesse supérieure, sa fiabilité et facilité
d’utilisation. Son point fort est d’être gratuit et peut être utilisé même par les
débutants du domaine.
1. Définition
1.1 PHP
PHP acronyme de Personal Home Page (devenu par la suite Hypertext Preprocessor)
est un langage interprété créé au début de l’automne 1994 par Rasmus Lerdof, et qui
emprunte des concepts aux langages tels que le Perl ou le C. il est actuellement le
premier outil de conception de pages Web dynamiques.
Avantages
la simplicité d’écriture de scripts ;
la possibilité d’inclure le script PHP au sein d’une page HTML
(contrairement aux scripts CGI, pour les lesquels il faut écrire des lignes de
code pour affiche chaque ligne en langage HTML) ;
la simplicité d’interfaçage avec de nombreux formats de bases de données
(Oracle, MySQL, dBase, etc…) ;
l’intégration au sein de nombreux serveurs Web (Apache, Microsoft IIS,
Wamp, etc…) ;
l’exécution du côté serveur ;
la gratuité.
Inconvénients
il est peu plus lent en exécution ;
il permet la personnalisation qui causent des bugs ;
pas facile à entretenir (peut-être les anciennes versions).
1.2 JAVA EE
J2EE (aujourd’hui appelé JEE – Java Enterprise Edition) est une spécification pour le
langage de programmation Java de Sun destinée aux applications d’entreprise. J2EE
offre une plateforme de développement et déploiement en langage Java pour les
applications distribuées à plusieurs niveaux. Il doit être traduit dans le langage de la
machine sur laquelle il doit fonctionner. Le compilateur Java traduit le code source
dans le langage de sa machine virtuelle, appelée JVM (Java Virtual Machine). Le code
produit est appelé « bytecode ». Ainsi, la JVM fait de Java, un langage multiplateforme.
Avantages
Assemien Ouake Serge Diplôme Master Génie Informatique & Réseaux 51 | P a g e
CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE GESTION ET DE SUIVI DES ABSENCES DES ETUDIANTS : CAS DE PIGIER CI
1.3 ASP.NET
Avantages
2. Choix du langage
A la suite de notre tableau de comparaison de langages, notre choix s’est porté d’une
part vers PHP qui est un langage des langages les plus utilisés en matière de
développement Web. Il est simple d’utilisation, facile à mettre en place et s’intègre
aisément.
1. Définition
Un serveur web est spécifiquement un serveur multi-service utilisé pour publier des
sites Web sur Internet ou un Intranet. L’expression « serveur web » désigne également
le logiciel utilisé sur le serveur pour exécuter les requêtes HTPP, le protocole de
communication employé sur le Word Wide Web.
Un serveur Web diffuse également généralement des sites web, il peut contenir
d’autres services liés comme l’envoi d’email, du streaming, le transfert de fichiers par
FTP, etc.
1.1 Apache
Apache est le serveur le plus répandu sur Internet. Il s’agit d’une application
fonctionnant à la base sur les systèmes d’exploitation de type Unix, mais il a désormais
été porté sur de nombreux systèmes, dont Microsoft Windows.
Bien que nous appelions Apache un serveur web, ce n’est pas un serveur physique
mais plutôt un logiciel qui s’exécute sur un serveur. Son travail consiste à établir une
connexion entre un serveur et les navigateurs des visiteurs du site web (Firefox,
Google Chrome, etc.) tout en délivrant des fichiers entre eux (structure client-serveur).
Apache est hautement personnalisable, car il a une structure basée sur des modules.
Les modules permettent aux administrateurs de serveur d’activer ou de désactiver des
fonctionnalités supplémentaires. Apache possède des modules pour la sécurité, la
mise en cache, la réécriture d’URL, l’authentification par mot de passe et encore plus.
Vous pouvez également configurer vos propres configurations du serveur via un fichier
appelé .htaccess, qui est un fichier de configuration Apache.
Avantages
open-source et gratuit même pour un usage commercial ;
logiciel faible et stable ;
mise à jour régulière, correctifs de sécurité réguliers ;
flexible grâce à sa structure basée sur de modules ;
plateforme-Cross (fonctionne sur les serveurs Unix et Windows) ;
grande communauté et support disponible en cas de problème.
Inconvénients
problèmes de performances sur les sites web avec un énorme trafic ;
trop d’options de configuration peuvent mener à la vulnérabilité de la
sécurité ;
gourmand en mémoire.
1.2 NGINX
NGINX, prononcé Engine-X, est une application récente de serveur web, lancée en
2002.
A ce jour, elle a acquis une certaine popularité auprès des propriétaires de sites web.
NGINX a été créé pour résoudre le problème appelé C10k, ce qui signifie qu’un serveur
web utilisant des fils pour gérer les demandes des utilisateurs ne peut pas gérer plus
de 10000 connexions simultanément.
NGINX dispose également d’un ensemble complet de fonctionnalités et peut effectuer
différents rôles de serveur :
- Un serveur proxy inverse pour le protocole http, HTTPS, SMTP, POP3 et IMAP
- Un équilibreur de charge et un cache http
- Un proxy de frontend pour apache et d’autres serveurs web, exemple la
combinaison entre la flexibilité d’Apache et la bonne performance de contenu
statique de NGINX.
Avantages
fonction de load balancer virtuel : cela vous évite d’utiliser un load
balancer physique qui est plus difficile à gérer ;
reconfiguration sans interruption de service : lorsque sa configuration
change, des nouvelles instances sont démarrées avant d’arrêter les
anciennes. Cela permet de conserver les connections avec les clients ;
il est très léger ;
il consomme moins de mémoire et de ressource ;
fichier de configuration facile à utiliser ;
il est asynchrone, permet donc de gérer un nombre important de trafic ;
multiplateforme ;
possibilité d’avoir 1000 connexions simultanées ;
open Source, gratuit et stable.
Inconvénients
faible documentation ;
pas assez flexible dans sa gestion des modules ;
configuration un peu complexe.
Apache Nginx
Sécurité 3 3
Performance 2 4
Flexibilité 4 2
Documentation 4 3
Support 3 3
Total 16/20 15/20
Les deux serveurs Web, dans leurs dernières versions, peuvent rivaliser l’un avec
l’autre dans la plupart des domaines. Pour le contenu statique, NGINX est un Roi, mais
pour un contenu dynamique, la différence de performance est assez mince. Mais notre
choix se tournera vers Apache, compte tenu de sa flexibilité en matière de chargement
de modules et aussi pour sa parfaite documentation.
Interface authentification
Interface inscription
Description
Il s’agit de la fenêtre d’inscription. Pour la page d’inscription, l’utilisateur doit entrer
respectivement le login, l’email, le mot de passe et la confirmation du mot de passe
dans les champs visibles. La page comporte un bouton « S’inscrire » qui permet de
vous mener jusqu’à la page login si les données entrées sont correctes et le login du
l’utilisateur existe. Dans le cas contraire, un message d’erreur s’affiche pour interpeler
l’utilisateur.
Espace Administrateur
Description
La page d’accueil représente un tableau de bord. Les informations de toute
l’application sont réunies sur cette page pour permettre à l’administrateur
d’avoir une idée générale. Les différentes rubriques sont dans le menu de
navigation, il s’agit de :
Pour le déploiement de notre application nous avons opté pour le server Wamp et
Windows server 2012 pour la configuration du serveur Apache.
Un serveur de base de données sert à stocker, à extraire et à gérer les données dans
une base de données. Il permet également de gérer la mise à jour des données. Il
donne un accès simultané à cette base à plusieurs serveurs Web et utilisateurs. Enfin, il
assure la sécurité et l’intégrité des données.
WampServer est une plate-forme de développement Web sous Windows pour des
applications Web dynamiques à l’aide du serveur Apache2, du langage de scripts PHP
et d’une base de données MySQL. Parmi les autres composantes de cette plate-forme,
l’outil PhpMyAdmin qu’on utilisera dans la création et l’administration de notre base
de donnée.
WAMP signifie « Windows », « Apache », « MySQL » et « PHP ».
L’icône de « Wampmanager » dans la barre des tâches doit être de couleur verte.
Si ce n’est pas le cas, vous ne pourrez pas lancer la visualisation d’une page php par le
navigateur ou lancer PhpMyAdmin ou modifier config.inc.php.
« Serveur hors ligne » signifie que Wampserver est uniquement en local (sur votre PC).
« Serveur en ligne » signifie que Wampserver est connecté à votre réseau et que tous
les PC ou tablettes numériques appartenant à votre réseau (configurés sur la même
plage d’adresse IP) peuvent accéder à vos sites et à vos bases de données (à moins que
vous ayez effectué les modifications sécuritaires qui s’imposent).
2. PhpMyAdmin
Pour la création de notre base de données, nous avons opté pour PhpMyAdmin.
Sécurité de MySQL
Par défaut, la plupart des serveurs WAMP sont fournis avec MySQL sans mot de
passe. Cela convient au développement, mais si vous souhaitez utiliser cela pour un
serveur public, vous devrez définir un mot de passe. Si vous utilisez le serveur WAMP,
procédez comme suit :
cliquez avec le bouton gauche sur l'icône WAMP dans la barre d'état système ;
sélectionnez MySQL | Console MySQL ;
lorsque la fenêtre de la console est ouverte et vous invite à entrer un mot de
passe, appuyez sur Entrée ;
a partir de la ligne de commande, entrez SET PASSWORD FOR root @ localhost =
PASSWORD ('password'); (mot de passe est le nouveau mot de passe à définir).
appuyez sur Entrée ;
si le changement de mot de passe est réussi, vous devriez voir Query OK. Fermez
la fenêtre de la console MySQL et essayez de l'ouvrir à nouveau. Cette fois-ci,
lorsque vous êtes invité à entrer un mot de passe, entrez le nouveau mot de
passe et vous devrez atterrir à l'invite de MySQL.
3. Serveur Apache
Un Serveur Apache ou Apache HTTP Server, est un logiciel de serveur HTTP produit par
l'Apache Software Foundation. C'est le serveur HTTP le plus populaire du Web. Apache
est connu pour prendre en charge de nombreux modules lui donnant des
fonctionnalités supplémentaires : interprétation du langage Perl, PHP, Python et Ruby,
serveur proxy, Common Gateway Interface, Server Side Includes, réécriture d'URL,
négociation de contenu, protocoles de communication additionnels, etc.
Etape 1 :
Etape 2 :
<Directory "c:/wamp/apps/phpmyadmin4.1.14/">
<IfDefine APACHE24>
"Require all granted”
</IfDefine>
<IfDefine! APACHE24>
Order Deny,Allow
Allow from all
Allow from « l’adresse IP du poste serveur »
</IfDefine>
</Directory>
<Directory "c:/wamp/apps/phpmyadmin4.1.14/">
<IfDefine APACHE24>
"Require all granted”
</IfDefine>
<IfDefine! APACHE24>
Order Deny,Allow
Allow from all
Allow from 192.168.32.100: l’adresse IP du poste serveur
</IfDefine>
</Directory>
le port d’écoute ;
le répertoire <Directory> </Directory> ;
limitation des accès en interdisant ou autorisant des adresses IP ;
redirection automatique vers HTTPS (HyperText Transport Protocol
Secure) si in visiteur arrive via HTTP (HyperText Transport Protocol)
Il suffit de modifier :
<VirtualHost « adresse IP : le port » >
Redirect /https://nom_du_site
</VirtualHost>
4 Diagramme de déploiement
4.1Présentation
Un diagramme de déploiement est une vue statique qui sert à représenter l’utilisation
de l’infrastructure physique par le système et la manière dont les composants du
système sont répartis ainsi que leurs relations entre eux. Les éléments utilisés par un
diagramme de déploiement sont principalement les nœuds, les composants, les
associations et les artefacts. Les caractéristiques des ressources matérielles physiques
et des supports de communication peuvent être précisées par stéréotype.
Les rubriques suivantes décrivent les éléments de modèle dans les diagrammes de
déploiement :
Le serveur : C’est le serveur principal qui abrite les différents composants logiciels de
notre application. Ces composants sont entre autres :
l’Application Web : l’application proprement dit qui est déployé sur le serveur
web.
le Serveur Web : assure la gestion des connexions et des requêtes du client.
la Base de données : c’est le composant qui s’occupe du stockage et de la
gestion des données.
l’HyperText Transfer Protocol (HTTP, littéralement « protocole de
transfert hypertexte ») : est un protocole de communication client-serveur.
HTTP est un protocole de la couche application. Il peut fonctionner sur
n'importe quelle connexion fiable, dans les faits on utilise le
protocole TCP comme couche de transport. Un serveur HTTP utilise alors par
défaut le port 80.
- prendre en charge les normes connues des principales menaces et de gérer les
menaces telles que OWASP (Open Web Application Security Project).
- vérifier l'entrée et la sortie des applications Web en fonction de la définition
des règles de sécurité et la mise en œuvre des opérations appropriées telles
que bloquer, autoriser, alerter et consigner les enregistrements, conformément
à la pratique acceptée.
- arrêter et révéler des informations importantes (prévention des fuites de
données).
- vérifier le contenu des pages Web telles que HTML, HTML dynamique, CSS ainsi
que des pages Web de protocoles de transfert tels que HTTP, HTTPS.
- vérifier tout protocole ou quelle construction de données utilise pour
transférer des données vers une application Web ou recevoir des données de
celle-ci
- prévenir les attaques et les accès non autorisés.
- Empêcher ou détecter la falsification de jetons de session, par exemple en
chiffrant des cookies de session, des champs de formulaire masqués ou en
utilisant d'autres méthodes pouvant être utilisées par ceux qui suivent la
session.
- possibilité de recevoir de nouvelles mises à jour et de demander une signature
dynamique et une manuelle.
La protection des WAFs face aux menaces liées aux applications web
<<database>>
MySQL
<<Web application>>
gest-absence.php
HTTP/HTTPS <<exécutable>>
RESEAU LOCAL Navigateur
Déployer
<<web server>>
Apache
WAF
CONCLUSION
Au total, il convient de retenir que la réalisation de ce projet nous a été très bénéfique
puisse qu’elle nous a permis de renforcer les connaissances reçues de nos enseignants
au cours de notre formation, d’améliorer la connaissance d’un bon nombre de notions
en développement d’application mais aussi de nous familiariser à la vie entreprise.
Notre objectif initial était de concevoir et réaliser une application web pour combler
un déficit existant au service surveillance générale de PIGIER Côte d’Ivoire en terme de
gestion et de suivi des absences des étudiants.
Notre étude nous a permis, d’une étude préalable à parvenir à la réalisation de
l’application souhaitée. L’intérêt d’une telle demande est que permettra de faciliter le
travail des agents du dit service et d’optimiser leurs performances.
Cela dit, nous sommes conscient qu’aucune création humaine n’est parfaite. C’est
pourquoi nous restons convaincus que des aménagements sont nécessaires pour
l’améliorer.
Nos travaux constituent, par conséquence, un prémice qui pourrai servir de
fondements à d’autres.
BIBLIOGRAPHIE – WEBOGRAPHIE
BIBLIOGRAPHIE
Joseph Gabay, David Gabay, UML 2 analyse et conception, 2008, 242 pages.
WEBOGRAPHIE
ANNEXES
<?php
//traitement Utilisateur
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$validationErrors = array();
$succesMsg = array();
$login = $_POST['login'];
$email = $_POST['email'];
$password = $_POST['password'];
$confirpass = $_POST['confirpass'];
if (isset($login)) {
if($login ==""){
}elseif(strlen($filtredLogin) > 8) {
}}
if (empty($password)) {
$validationErrors[] = "!!! Erreur de validation: Le mot de passe ne doit pas être vide!";
$validationErrors[] = "!!! Erreur de validation: Les deux mots de passe ne sont pas
identiques";
if(strlen($password)<6){
if (isset($email)) {
if($email ==""){
}elseif(!preg_match("/^[a-zA-Z0-9._]+@[a-zA-Z0-9._]+\.[a-zA-Z]{2,4}$/",$_POST['email'])){
if (empty($validationErrors)) {
VALUES (:pLogin,:pEmail,:pPassword,:pRole,:pEtat,:pDatecreation)');
$stmt->execute(array(
'pRole' =>'VISITEUR',
'pEtat' =>0,
);
if(!empty($validationErrors)){
$_SESSION['validationErrors'] = $validationErrors;
$_SESSION['inputs'] = $_POST;
if(!empty($succesMsg)){
$_SESSION['succesMsg'] = 1;
header("refresh:5;url=login.php");
?>
<?php
require_once('../bd/connexion.php');
$id=$_POST['id'];
$nbreabsence=$_POST['nbreabsence'];
$heuremodif=$_POST['heuremodif'];
$etatabsence=$_POST['etatabsence'];
$param=array($calculabsence,$etatabsence,$id);
$resultat = $con->prepare($requete);
$resultat->execute($param);
header("location:http://127.0.0.1/gestabsence/index.php?page=DetailAbsence");
?>
<?php
require_once('./bd/connexion.php');
if(isset($_GET['id_user']))
$id=$_GET['id_user'];
else
$id=0;
if(isset($_GET['etat']))
$etat=$_GET['etat'];
else
$etat=1;
$etat=$etat==1?0:1;
$resultat = $con->query($requete);
header("location:./index.php?page=listeutilisateur");
?>
1.1.1 Windows....................................................................................................................................................................... 53
1.1.2 GNU/Linux..................................................................................................................................................................... 53
1.1.3 MAC OS......................................................................................................................................................................... 54
1.2 Choix du système d’exploitation........................................................................................................................55
2. SGBD........................................................................................................................................................................ 55
2.1 Définition............................................................................................................................................................55
2.2 Présentation.......................................................................................................................................................56
2.2.1 SQL SERVER................................................................................................................................................................... 56
2.2.2 Oracle DB....................................................................................................................................................................... 57
2.2.3 MySQL........................................................................................................................................................................... 58
2.2.4 MS Access...................................................................................................................................................................... 58
2.3 Choix du SGBD...................................................................................................................................................60
CONCLUSION..........................................................................................................................................80
BIBLIOGRAPHIE – WEBOGRAPHIE..........................................................................................................81
ANNEXES.............................................................................................................................................82
ANNEXE 1 : EXTRAIT DE CODES DE L’APPLICATION........................................................................................................................83
ANNEXE 2 : DOCUMENTS UTILISÉS............................................................................................................................................87