REPUBLIQUE DU SENEGAL Un Peuple - Un But - Une
Foi
***************
Institut Supérieur d'Informatique
************
Licence Professionnelle Génie Logiciel
Mise en place d'un portail de gestion
des recrutements, évaluations et suivi des cursus des
étudiants de l'ISI.
Réalisé et Soutenu par : Cheryl Lorenzi
OGUIAO
Encadré par : Nawal Dine TOURE
Année Académique : 2014 - 2015
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
I
Je tiens à exprimer ma profonde gratitude à
Mr Abdou SAMBE, Directeur Général de l'Institut
Supérieur d'Informatique (ISI) ainsi qu'à
l'ensemble de son personnel.
Je remercie tous nos enseignants qui, avec professionnalisme,
nous ont transmis de multiples connaissances pendant notre formation.
Je remercie particulièrement mon encadreur Mr
Nawal Dine TOURE, qui m'a encadré dans la patience et la
détermination afin que je puisse réussir.
Je ne saurais terminer sans exprimer ma gratitude
inconditionnelle à l'endroit de tous mes parents, amis et connaissances
qui m'ont soutenu de près ou de loin durant toute ma formation.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
II
Je dédie particulièrement ce rapport de fin de
formation à Dieu, le Père Tout Puissant qui, par son esprit
saint, m'a fortifié durant toute ma formation.
Je dédie aussi à :
Mon père OGUIAO Bertrand
Ma mère MBOUKA Arlette Brice Clarice
Mon oncle SAMBA Clotaire
Mon oncle SABOYOMBO Sylvestre
Ma grande soeur SABOYOMBO Chaddia Nelly Ghyslaine
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
III
LISTE DES SIGLES ET ABREVIATIONS
TIC : Technologie de l'information et de
communication
ISI : Institut Supérieur
d'Informatique
PHP : Hypertext Preprocessor
PDO : PHP Data Objects
BDD : Base de données
UML : Unified Modeling Language
SGBD : Système de Gestion de Base de
Données
SMS : Short Message Service
APT : Advanced Packaging Tool
GSM : Global System for Mobile
Communications
WAP : Wireless Application Protocol
XAMPP: X (cross) Apache MySQL Perl PHP
CSS : Cascading Style Sheet
SQL : Structured Query Language
IDE : Environnement de Développement
intégré
HTTP : HyperText Transfert Protocol
XML : Extensible Markup Language
AJAX : Asynchronous Javascript and XML
MERISE : Méthode d'Etude et de
Réalisation Informatique pour les Systèmes d'Entreprise
RACINES : Rationalisation des Choix Informatiques.
UP : Unified Process
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
IV
SOMMAIRE
Remerciements I
Dédicace II
Liste des sigles et abréviations III
Liste des figures VII
Introduction Générale 1
PREMIERE PARTIE : PHASE D'INSERTION
Chapitre I : Présentation générale
et cadre du projet
I.1. Introduction 3
I.2. Présentation de l'Institut Supérieur
d'Informatique (I.S.I) 3
I.2.1. Fondation de l'ISI 3
I.2.2. Expertise de l'ISI 3
I.2.3. Structure administrative de l'ISI 4
I.2.4. Les Formations à l'ISI 5
I.3. Cadre du projet . 5
I.4. Problématique 6
I.5. Conclusion 7
DEUXIEME PARTIE : PHASE DE CONCEPTION
Chapitre I : Etude de l'art
I.1. Introduction . 9
I.2. Etude de l'existant 9
I.3. Critique de l'existant 9
I.4. Objectif du projet 9
I.5. Méthodologie et approche adoptée 10
I.5.1. Présentation d'UML 10
I.5.2. Les avantages d'UML 10
I.6. Conclusion 11 Chapitre II : Analyse et
spécification des besoins
II.1. Introduction . 12
II.2.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
V
Analyse des besoins 12
II.2.1. Les besoins fonctionnels 12
II.2.2. Les besoins non fonctionnels 12
II.3. Les diagrammes des cas d'utilisation 13
II.3.1. Identification des acteurs 14
II.3.2. Les diagramme de cas d'utilisation 14
II.4. Conclusion . 24 Chapitre III : Conception du
système
III.1. Introduction 25
III.2. Architecture de l'application 25
III.2.1. Présentation de l'architecture à deux
(2) niveaux 25
III.2.2. Présentation de l'architecture à trois
(3) niveaux 26
III.2.3. Architecture adoptée 26
III.3. Conception générale 27
III.3.1. Le cycle de développement en V 27
III.4. Conception détaillée . 28
III.4.1. Le diagramme de déploiement 28
III.4.2. Les diagrammes de séquences 29
III.4.3. Les diagrammes d'activités 35
III.4.4. Le diagramme des composants du système 41
III.4.5. Le diagramme de classes 44
III.5. Conclusion 46
TROISEME PARTIE : PHASE DE REALISATION
Chapitre I : Réalisation de l'application
I.1. Introduction 48
I.2. Architecture générale de l'application
. 48
I.3. Le Langage de programmation et les bibliothèques
utilisés 49
I.4. Choix des outils de développement 50
I.5. Travail réalisé 55
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
VI
I.6. Conclusion 64
CONCLUSION GENERALE : 65 ANNEXES :
ANNEXE 1 : UML 67
ANNEXE 2 : PDO 69
ANNEXE 3 : Fichier configuration de KANNEL 70
ANNEXE 4 : Configuration de POSTFIX 72
BIBLIOGRAPHIE & WEBOGRAPHIE : 74
TABLE DES MATIERES 75
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
VII
Liste des figures
Figure 1 : Organigramme de l'ISI 4
Figure 2 : Schéma présentatif du cadre du
projet 6
Figure 3 : Formalisme du diagramme des cas
d'utilisation 13
Figure 4 : Diagramme des cas d'utilisation «
Gérer inscription » 15
Figure 5 : Diagramme des cas d'utilisation « Demande
d'inscription » 17
Figure 6 : Diagramme des cas d'utilisation « Espace
étudiant » 19
Figure 7 : Diagramme des cas d'utilisation « Espace
enseignant » 21
Figure 8 : Diagramme des cas d'utilisation « Espace
Administrateur » 23
Figure 9 : Architecture à deux (2) niveaux 25
Figure 10 : Architecture à trois (3) niveaux 26
Figure 11 : Modèle de cycle de développement
en V 27
Figure 12 : Diagramme de déploiement 29
Figure 13 : Diagramme de séquences du cas
d'utilisation « S'authentifier » 30
Figure 14 : Diagramme de séquences du cas
d'utilisation « Inscrire étudiant » 31
Figure 15 : Diagramme de séquences du cas
d'utilisation « Demander formation » 32
Figure 16 : Diagramme de séquences du cas
d'utilisation « Modifier numéro de téléphone
» 33
Figure 17 : Diagramme de séquences du cas
d'utilisation « Editer notes » 34
Figure 18 : Diagramme de séquences du cas
d'utilisation « Gérer demandes d'inscription » 35
Figure 19 : Diagramme d'activités du cas
d'utilisation « S'authentifier » 36
Figure 20 : Diagramme d'activités du cas
d'utilisation « Inscrire étudiant » 37
Figure 21 : Diagramme d'activités du cas
d'utilisation « Demander formation » 38
Figure 22 : Diagramme d'activités du cas
d'utilisation « Modifier numéro de téléphone» 39
Figure 23 : Diagramme d'activités du cas
d'utilisation « Editer notes » 40
Figure 24 : Diagramme d'activités du cas
d'utilisation « Gérer demande inscription » 41
Figure 25 : Formalisme du diagramme de composants
42
Figure 26 : Diagramme de composants du système 43
Figure 27 : Diagramme de classe 45
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
INTRODUCTION GENERALE
De nos jours avec l'évolution des
Technologies de l'Information et de
Communications (TIC), la gestion
automatisée est devenue de plus en plus courante dans notre
société. Le secteur éducatif n'échappe pas à
cette tendance. En effet, ce dernier fait partie des domaines qui ont le plus
besoins d'adopter les nouvelles technologies de pointes tant au niveau de la
gestion des enseignements qu'au niveau des acteurs impliqués.
Notons qu'il est intéressant pour un
établissement comme l'Institut
Supérieur d'Informatique
(ISI) ambitieux et présentant de nombreuses
perspectives d'avenir, de se doter des outils numériques qui respectent
les exigences technologiques à l'heure.
C'est dans ce contexte, que s'inscrit notre projet qui
consiste à mettre en place un site web dynamique assurant la
communication, le partage et l'échange collaboratif des informations
entre les différents acteurs : à savoir les professeurs, les
étudiants, le personnel administratif.
Ce document détaillera donc les travaux
effectués tout au long de la réalisation de ce projet. Le travail
réalisé a été divisé en trois parties. Dans
la première partie, il sera question de présenter
l'établissement hôte, ensuite nous exposerons les résultats
de nos recherches dans la seconde. La troisième partie sera
consacrée à l'implémentation.
1
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
2
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
Chapitre I : Présentation générale
et cadre du projet
3
I.1. Introduction
Dans ce chapitre, nous allons présenter
l'établissement de formation dans lequel nous avons effectué
notre projet. Ensuite la présentation du cadre du projet permettra de
mieux comprendre le problème étudié et présenter le
principe de fonctionnement de système dans le domaine métier de
l'établissement.
I.2. Présentation de l'Institut
Supérieur d'Informatique (ISI) I.2.1. Fondation de
l'ISI
L'éducation en général et la formation
professionnelle en particulier, figure depuis l'indépendance parmi les
objectifs prioritaires de la stratégie de développement
économique. ISI a été fondé en 1988 sous le nom de
JET INFORMATIQUE par des étudiants de
l'université Cheikh ANTA DIOP de Dakar en collaboration
avec ceux de l'université Laval au Québec Canada. JET
INFORMATIQUE avait comme principales activités la consultation
en informatique, la formation, la maintenance, et la vente de matériels
informatiques. Conçu comme un institut commercial pour la promotion et
la vente de matériels informatiques, il devient tout naturellement
Institut Supérieur d'Informatique en 1994 date à laquelle L'Etat
du Sénégal a proclamé la libéralisation de la
formation professionnelle où Il invitait les promoteurs nationaux
à s'y investir afin de désengorger l'université.
I.2.2. Expertise de l'ISI
ISI dispose d'un bureau qui s'occupe des études de
conception, d'expérimentation, de réalisation et de conseil dans
différents domaines. Aussi il est important de noter que le groupe
dispose en son sein des experts de très haut niveau universitaires et
spécialistes dans plusieurs domaines de la gestion.
I.2.3. Structure administrative de l'ISI
Conseillers
Attachée
Cantine
Marketing
Sécurité
2e Cycle
1er Cycle
Affaires Académiques
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
Formation Entreprise
Coopération Internationale
Publicité - Communication
Conseil Scientifique
Directeur Général
Accueil - Scolarité
Directeurs des Etudes
Comptabilité
Service Technique
Développement Maintenance
Administrative
Ressources Humaines
Coopérative
Département Informatique
Conseil de Département
Filière Ingénieur
Filière Licences
Filière DTS - BTS
Filière Master
Conseil de Département
Département de Gestion
Figure 1 : Organigramme de l'Institut Supérieur
d'Informatique
4
Filière BTS - DTS Filière
Licences Filière Master
MISE EN PLACE D'UN PORTAIL DE GESTION DE
RECRUTEMENTS, DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE
L'ISI
5
I.2.4. Les formations à l'ISI
L'Institut Supérieur d'Informatique dispose de deux (2)
départements. Le département de gestion résulte de la
volonté des professeurs spécialisés en gestion de projet,
gestion des opérations, gestion des systèmes d'information,
management, entreprenariat et gestion des technologies de travailler ensemble
à l'intérieur de valeurs communes et propose différentes
filières comme :
- Banque finance assurance
- Commerce international
- Assistanat de direction
- Gestion de projet
- Comptabilité gestion financière.
Le département d'informatique quant à lui forme
des ingénieurs à caractère généraliste et
multi-métiers. Il s'agit là d'un vrai atout du département
et d'une marque de différentiation par rapport à des «
concurrents ». Le Département Informatique est composé des
filières telles que :
- Génie logiciel
- Réseaux informatique
- Réseaux de télécommunication
- Maintenance informatique
- Multimédia.
Il a toujours su résister aux phénomènes de
modes tellement fréquents en informatique.
I.3. Cadre du projet
L'Institut Supérieur d'Informatique (ISI) est un
institut d'enseignement supérieur avec une expérience de plus de
dix ans d'existence dans la formation continue de type académique et
particulièrement dans des domaines tels que l'informatique, la gestion,
la comptabilité et l'organisation des entreprises. Dans ce cadre, notre
projet consiste à mettre en place une application type web qui permet de
gérer les recrutements, évaluations et le suivi de cursus des
étudiants de l'ISI. Comme toutes autres applications, elle devrait
répondre à certains besoins et assurer plusieurs
fonctionnalités telles que : Diriger les étudiants vers un site
Web personnalisé pour effectuer une demande d'inscription en ligne,
consulter les informations des étudiants et les rapports financiers
depuis n'importe quel ordinateur, éditer les notes et les relevés
des étudiants grâce aux outils intégrés en ligne,
améliorer la communication administration-étudiant grâce
aux outils de gestion intégrés d'envoi de messages.
Ordinateur Portable
Serveur de messagerie
Desktop
Internet
Serveur d'application
Portable
Serveur de données
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET
SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
6
Figure 2 : Schéma présentatif du cadre
du projet
I.4. Problématique
La gestion des données est un critère essentiel
pour tout établissement de formation. Pour ce projet, on a opté
pour le cas de l'ISI qui aura besoin de gérer les recrutements,
évaluations et le cursus des étudiants à partir d'une
plateforme. Le problème se pose au niveau de l'administration lors de la
réception des dossiers d'inscription des étudiants en
présentiel et/ou à distance afin d'informer les candidats si leur
demande a été acceptée ou rejetée. Lors de la
planification des évaluations et de la saisie des notes, un grand
problème se pose, l'établissement prend le plus souvent des
retards pour recevoir les sujets d'examen et les notes des étudiants de
la part des enseignants et ensuite informer les étudiants et les
professeurs sur les plannings de cours ou des examens en temps réel.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
I.5. Conclusion
Ce chapitre introductif nous a permis de détailler le
cadre général du système, ainsi que de présenter
les objectifs visés. Dans ce qui suit nous allons entamer la
première phase de la conception de notre projet « Analyse et
spécification des besoins » pour identifier les différentes
fonctionnalités de l'application.
7
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
8
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
Chapitre I : Etude de l'art
9
I.1. Introduction
Ce chapitre présente un état des lieux : il s'agit
d'une étude de l'existant suivie de critique permettant au projet de
présenter une amélioration résumant l'ensemble des
solutions retenues.
I.2. Etude de l'existant
L'étude de l'existant est une phase importante pour
bien comprendre le système actuel et définir ses objectifs. Le
service scolarité, responsable de la gestion des dossiers d'inscription
des étudiants et de la gestion des programmes de déroulement des
cours ainsi pour valider un dossier d'inscription, l'étudiant doit
déposer tous les documents demandés à la scolarité
pour une étude au préalable. Ce processus est fait manuellement.
La planification des programmes des examens et la saisie des notes se fait
à partir d'une application qui traite ces informations et assure ensuite
un état des données à imprimer. Pour la saisie des notes,
l'administration doit attendre à ce que les enseignants déposent
les notes au niveau de la scolarité, qui ensuite seront saisies par un
utilisateur du système. Les étudiants sont informés des
résultats des examens et des programmes des examens lorsque ces derniers
sont imprimés et ensuite affichés au niveau de
l'établissement.
I.3. Critique de l'existant
L'étude de l'existant nous a permis de dégager
un certain nombre de lacunes. D'une part l'outil d'administration de l'ISI,
bien qu'il soit puissant, ne satisfait pas tous les besoins nécessaires
pour la gestion automatisée des informations au sein de
l'établissement. En effet, ce dernier est utilisé juste pour
éditer les informations et ensuite les sauvegardées ou les
imprimées.
D'autre part, la communication entre l'administration et les
étudiants n'est pas efficace, pour informer les étudiants ou les
enseignants, l'administration affiche sur la bannière de
l'établissement le message à passer.
I.4. Objectif du projet
Afin de pallier aux défaillances observées, nous
proposons d'informatiser le processus de recrutements, la gestion des
évaluations ainsi le suivi de cursus des étudiants de l'ISI. Pour
cela, nous
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
10
optons pour le développement d'une application web
dynamique qui va être exploité par plusieurs intervenants.
Après étude, nous avons divisé notre projet en trois
modules. Le premier module consiste à administrer les recrutements des
étudiants dans différentes filières. Ces recrutements se
font par le service de scolarité de l'ISI, qui reçoit les
dossiers des étudiants en présentiel ou à distance. Chaque
candidat pourra envoyer une demande d'inscription, télécharger
les documents demandés (diplômes, photos, pièce
d'identité etc.) via une interface web. Une notification leur sera
envoyée après étude de dossiers pour une confirmation. Le
deuxième module s'appuie sur la gestion des évaluations au sein
de l'établissement c'est-à-dire la planification des
différentes sessions et examens dans différentes filières.
Lors de la saisie des notes des évaluations et du dépôt des
sujets d'examens, les enseignants depuis n'importe quel ordinateur, peuvent se
connecter au système pour éditer les notes des étudiants
ou envoyer les sujets d'examen sans pouvoir se déplacer jusqu'à
l'établissement. Enfin le troisième module consiste à
gérer toutes les informations concernant les parcours des
étudiants à l'ISI.
I.5. Méthodologie et approche adoptée
Un projet informatique, quelle que soit sa taille et la
portée de ses objectifs, nécessite la mise en place d'un planning
organisationnel tout au long de son cycle de vie. C'est ainsi qu'est apparue la
notion de méthode. Une méthode, dans le contexte informatique,
peut être définie comme une démarche fournissant une
méthodologie et des notations standards qui aident à concevoir
des logiciels de qualité. Modéliser un système avant sa
réalisation permet de mieux comprendre le fonctionnement du
système. C'est également un bon moyen de maîtriser sa
complexité et d'assurer sa cohérence. Un modèle est un
langage commun, précis, qui est connu par tous les membres de
l'équipe et il est donc, à ce titre, un vecteur
privilégié pour communiquer. Cette communication est essentielle
pour aboutir à une compréhension commune aux différentes
parties prenantes (notamment entre la maîtrise d'ouvrage et la
maîtrise d'oeuvre informatique) et précise d'un problème
donné.
Ainsi il existe plusieurs méthodes d'analyse et de
conception, parmi lesquelles nous pouvons citer : MERISE, RACINES, Unified
Process et bien d'autres. Pour le cadre de notre projet, nous avons opté
pour UML.
I.5.1. Présentation d'UML
En regardant les objectifs fixés pour la
réalisation du projet, nous remarquons que nous sommes face à une
application modulaire et qui devra rester ouverte pour les améliorations
futures.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
11
De ce fait, il est très important d'utiliser un langage
universel pour la modélisation afin de clarifier la conception et de
faciliter les échanges. Notre choix est porté sur le langage UML
puisqu'il convient pour toutes les méthodes objet et se prête bien
à la représentation de l'architecture du système.
UML (Unified Modeling Language) est un langage de
modélisation unifié permettant de modéliser une
application logicielle d'une façon standard dans le cadre de conception
orienté objet. UML permet de couvrir le cycle de vie d'un logiciel
depuis la spécification des besoins jusqu'au codage en offrant plusieurs
moyens de description et de modélisation des acteurs et de utilisation
système, du comportement des objets, du flot de contrôle internes
aux opérations, des composants d'implémentation et leurs
relations, de la structure matérielle et de la distribution des objets
et des composants indépendamment des techniques d'implémentation
et peut être mis à jour selon les besoins.
I.5.2. Les avantages d'UML
De nos jours, les outils de modélisation de processus
métier s'étoffent chaque année et les suites logicielles
sont de plus en plus nombreuses. L'usage et les fonctionnalités d'UML
diffèrent d'un périmètre à un autre, selon les
besoins des clients et des fournisseurs d'applications. Dans le cadre d'un
projet informatique pour le SI, le recours à la modélisation UML
procure de nombreux avantages qui agissent sur:
? La modularité
? L'abstraction
? La dissimulation
? La structuration cohérente des fonctionnalités et
des données
I.6. Conclusion
Après avoir mis le projet dans son cadre et
après avoir mis en place une démarche de développement qui
nous aidera tout au long du projet, nous pouvons ainsi entamer la prochaine
étape c'est-à-dire décortiquer le cahier de charges pour
analyser les besoins qui s'y trouvent et ainsi les spécifier.
Chapitre II: Analyse et spécification des
besoins
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
12
II.1. Introduction
Dans ce chapitre, nous présenterons les objectifs de notre
application, ce qui nous amène à identifier les
possibilités du système et les besoins des utilisateurs que nous
essayerons de les projeter dans des diagrammes de cas d'utilisations globales
et détaillés.
II.2. Analyse des besoins
II.2.1. Les besoins fonctionnels
Les besoins fonctionnels ou besoin métiers
représentent les actions que le système doit
exécuter, il ne devient opérationnel que s'il les
satisfait.
Cette application doit couvrir principalement les besoins
fonctionnels suivants :
> Effectuer une demande d'inscription en ligne
> Suivre l'état de la demande jusqu'à la
validation
> Gestion des demandes d'inscription
> Gestion du dossier des étudiants
> Gestion des enseignants
> Gestion des plannings des examens et des cours
> Gestion de la saisie des notes
> Gestion des droits d'accès
> Informer les étudiants en temps réel
II.2.2. Les besoins non fonctionnels
Ce sont des exigences qui ne concernent pas spécifiquement
le comportement du système mais plutôt identifient des contraintes
internes et externes du système. Les principaux besoins non fonctionnels
de notre application se résument dans les points suivants :
> Le code doit être clair pour permettre des futures
évolutions ou améliorations ;
> L'ergonomie : l'application offre une interface conviviale
et facile à utiliser ;
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
? La sécurité : l'application doit respecter la
confidentialité des données ;
? Garantir l'intégrité et la cohérence des
données à chaque mise à jour et à chaque
insertion.
I.3. Les diagrammes de cas d'utilisation
Le diagramme de cas d'utilisation a pour but de donner une
vision globale sur les interfaces de future application. C'est le premier
diagramme UML constitué d'un ensemble d'acteurs qui agit sur des cas
d'utilisation et qui décrit sous la forme d'actions et des
réactions, le comportement d'un système du point de vue
utilisateur.
Acteur : un acteur est un utilisateur qui
communique et interagit avec les cas d'utilisation du système. C'est une
entité ayant un comportement comme une personne, système ou une
entreprise.
Système : cet élément
fixe les limites du système en relation avec les acteurs qui l'utilisent
(en dehors de système) et les fonctions qu'il doit fournir (à
l'intérieur du système).
Cas d'utilisation : un cas d'utilisation
représente un ensemble de séquences d'actions à
réaliser par le système et produisant un résultat
observable intéressant pour un acteur particulier
représenté par des ellipses et limité par un rectangle
pour représenter le système.
Figure 3 : Formalisme du diagramme de cas
d'utilisation
13
MISE EN PLACE D'UN PORTAIL DE GESTION DE
RECRUTEMENTS, DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE
L'ISI
14
I.3.1. Identification des acteurs
Acteur
|
Rôle
|
Administrateur
|
- Gérer les plannings (Examen/cours)
- Gérer les enseignants
- Gérer les étudiants
- Consulter dossier d'inscription
- Gérer les utilisateurs et leurs
droits
d'accès
- Partager des documents
- Gérer les notes
- Télécharger des documents
- Gérer les demandes d'inscription
|
Enseignant
|
- Editer les notes
- Partager des documents
- Consulter plannings (Examen/cours)
- Télécharger des documents
|
Etudiant
|
- Consulter notes (Examen/Devoirs)
- Consulter plannings (Examen/Cours)
- Modifier numéro de
téléphone
- Télécharger des documents
|
Caissière
|
- Inscrire un étudiant
- Consulter liste des inscriptions
|
Postulant
|
- Effectuer une demande d'inscription
- Suivre demande
- Annuler demande
|
I.3.2. Les diagrammes des cas d'utilisation
Ci-dessous, nous présentons le diagramme de cas
d'utilisation pour la compréhension du fonctionnement du
système.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
a. Diagramme des cas d'utilisation « Gérer
inscription »
Gérer Inscription
<< include >>
Consulter liste des inscription
Rechercher numéro dossier <<
include >>
Caissière
S'authentifier
Inscrire étudiant
<< include >>
<< extend >>
Enregistrer un etudiant
Figure 4 : Diagramme des cas d'utilisation «
Gérer Inscription »
15
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
SOMMAIRE
|
Titre
|
Inscrire étudiant
|
But
|
Inscrire un étudiant à une formation
|
Résumé
|
L'utilisateur remplit le formulaire d'inscription ou recherche le
numéro de dossier et valide.
|
Acteur
|
Caissière
|
DESCRIPTION DES ENCHAINEMENTS
|
Préconditions
|
Post conditions
|
- La caissière est authentifiée
|
- L'étudiant est inscrit
|
Scénario nominal
|
1. La caissière se connecte au système par son
login et mot de passe
2. La caissière choisit le type d'inscription
3. La caissière choisit la promotion
4. La caissière choisit le département
5. La caissière remplit les informations d'inscription
6. La caissière valide l'inscription
7. Le système enregistre l'inscription dans la base de
données
8. Le système envoi le matricule de l'étudiant par
SMS et email
|
Scénario alternatif
|
1.a. La caissière n'a pas rempli les données de
connexion ou les données sont incorrectes
1. Le système affiche un message d'erreur
2. Retour à l'étape 1 du scénario nominal
pour lancer à nouveau la connexion.
|
Tableau 1 : Description textuelle du cas
d'utilisation « Inscrire étudiant »
16
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
b. Diagramme des cas d'utilisation « Demande
d'inscription »
Postulant
Demande d'inscription
Annuler demande
Demander formation
Suivre Demande
<< include >>
<< include >>
S'authentifier
Figure 5 : Diagramme des cas d'utilisation «
Demande d'inscription »
17
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
SOMMAIRE
|
Titre
|
Demander formation
|
But
|
Effectuer une demande d'inscription en ligne
|
Résumé
|
Le postulant effectue une demande d'inscription tout en
remplissant les informations demandées pour la validation de son
dossier.
|
Acteur
|
Postulant
|
DESCRIPTION DES ENCHAINEMENTS
|
Préconditions
|
Post conditions
|
- Se connecter au site de demande de
formation en ligne
|
- Envoi de la demande
|
Scénario nominal
|
1. Le postulant remplit le formulaire d'inscription en ligne
2. Choisit les informations de la formation
3. Télécharge les documents demandés aux
formats (JPG, PNG, PDF)
4. Valide l'envoi de la demande
5. Le système enregistre les informations de la demande
dans la base de données
6. Le système envoi le numéro du dossier du
postulant par SMS et par Email
|
Scénario alternatif
|
1.a. Le postulant n'a pas rempli les informations requises
1. Le système affiche un message d'erreur
2. Retour à l'étape 1 du scénario nominal
pour renseigner les champs requis.
|
Tableau 2 : Description textuelle du cas
d'utilisation « Demander formation »
18
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
19
c. Diagramme des cas d'utilisation « Espace
étudiant »
Espace étudiant
<< include >>
Télécharger documents
<< include >>
Modifier numéro de téléphone
<< include >>
Consulter notes
Etudiant
Notes Devoirs
Notes Examens
S'authentifier
<< include >>
Consulter planning
Planning Cours
Planning Examen
Figure 6 : Diagramme des cas d'utilisation «
Espace Etudiant »
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
SOMMAIRE
|
Titre
|
Modifier numéro de téléphone
|
But
|
L'étudiant modifie son numéro de
téléphone
|
Résumé
|
L'étudiant peut modifier son numéro de
téléphone, pour les notifications des notes.
|
Acteur
|
Etudiant
|
DESCRIPTION DES ENCHAINEMENTS
|
Préconditions
|
Post conditions
|
- L'étudiant est authentifié
|
- Modifie le numéro de téléphone
|
Scénario nominal
|
1. L'étudiant se connecte au système par son
matricule et son mot de passe
2. L'étudiant saisi le nouveau numéro de
téléphone
3. Le système envoi par SMS un code d'activation pour
vérifier si le nouveau numéro est correct
4. L'étudiant saisit le code d'activation
5. Valide la modification
6. Le système enregistre le nouveau numéro dans la
base de données
|
Scénario alternatif
|
1.a. L'étudiant n'a pas rempli les informations de
connexion ou informations incorrectes.
1. Le système affiche un message d'erreur
2. Retour à l'étape 1 du scénario nominal
pour l'authentification.
|
Tableau 3 : Description textuelle du cas
d'utilisation « Modifier numéro de téléphone
»
20
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
d. Diagramme des cas d'utilisation « Espace
Enseignant »
Espace enseignant
Enseignant
Plannings Examens Plannings Cours
Notes Devoirs Notes Examens
Partager documents
Télécharger documents
Consulter plannings
Editer notes
<< include >>
<< include >>
<< include >>
<< include >>
S'authenetifier
21
Figure 7 : Diagramme des cas d'utilisation «
Espace Enseignant »
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
SOMMAIRE
|
Titre
|
Editer notes
|
But
|
L'enseignant édite les notes des étudiants
|
Résumé
|
L'enseignant enregistre les notes de devoirs ou d'examens des
étudiants de la classe dans laquelle il intervient.
|
Acteur
|
Enseignant
|
DESCRIPTION DES ENCHAINEMENTS
|
Préconditions
|
Post conditions
|
- L'enseignant est authentifié
|
- Edite les notes
|
Scénario nominal
|
1. L'enseignant se connecte au système par son login et
son mot de passe
2. L'enseignant choisi la classe dans laquelle il veut
éditer les notes des étudiants
3. L'enseignant choisi le module qu'il veut éditer les
notes
4. L'enseignant choisi le type de la note
5. L'enseignant sélectionne un étudiant de la
classe
6. L'enseignant saisi la note de l'étudiant
sélectionné
7. L'enseignant valide l'enregistrement
8. Le système enregistre les informations dans la base de
données
9. Le système envoi la note à l'étudiant
concerné par SMS
|
Scénario alternatif
|
1.a. L'enseignant n'a pas rempli les informations de connexion ou
informations incorrectes.
1. Le système affiche un message d'erreur
2. Retour à l'étape 1 du scénario nominal
pour l'authentification.
|
Tableau 4 : Description textuelle du cas
d'utilisation « Editer notes »
22
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
e. Diagramme des cas d'utilisation « Espace
Administrateur »
Espace Administrateur
Administrateur
Gérer utiilisateurs
Gérer demandes d'inscription
Plannings Examens
Gérer enseignant
Gérer Etudiant
Consulter dossiers inscriptions
Partager documents
Gérer plannings
<< extend >>
<< include >>
<< include >>
Gérer résultats d'examen
Télécharger documents
Plannings Cours
<< include >>
<< include >>
<< include >>
<< include >>
Gérer droit d'accès
<< include >>
<< include >>
S'authentifier
<< include >>
23
Figure 8 : Diagramme des cas d'utilisation «
Espace Administrateur »
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
24
SOMMAIRE
|
Titre
|
Gérer demandes d'inscription
|
But
|
L'administrateur valide les demandes d'inscription en ligne
|
Résumé
|
Après étude de dossier, l'administrateur valide la
demande d'inscription en ligne pour l'inscription finale.
|
Acteur
|
Administrateur
|
DESCRIPTION DES ENCHAINEMENTS
|
Préconditions
|
Post conditions
|
- L'administrateur est authentifié
- Existence d'une demande d'inscription
en ligne
|
- Valide une demande d'inscription
|
Scénario nominal
|
1. L'administrateur se connecte au système par son login
et son mot de passe
2. L'administrateur consulte la liste des demandes
d'inscription
3. L'administrateur sélectionne une demande
d'inscription
4. L'administrateur valide la demande
5. Le système enregistre les informations dans la base de
données
6. Le système envoie un message de confirmation au
postulant concerné par SMS et email
|
Scénario alternatif
|
1.a. L'administrateur n'a pas rempli les informations de
connexion ou informations incorrectes.
1. Le système affiche un message d'erreur
2. Retour à l'étape 1 du scénario nominal
pour l'authentification.
|
Tableau 4 : Description textuelle du cas
d'utilisation « Gérer demandes inscription »
II.4. Conclusion
Après avoir décrit les besoins fonctionnels et
techniques attendus de notre application qui consistent à mettre en
place une démarche de développement. Lors de cette
dernière phase nous avons essayé d'exprimer le fonctionnement de
notre système en se basant principalement sur les diagrammes de cas
d'utilisations. Nous pouvons ainsi entamer la prochaine étape qui
consiste à présenter la phase de conception.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
Chapitre III : Conception du système
25
III.1. Introduction
Après avoir tracé les grandes lignes de phase de
spécification de besoins, mettons l'accent maintenant sur une phase
fondamentale dans le cycle de vie d'un logiciel, la phase de conception. Cette
phase a pour objectif de déduire la spécification de
l'architecture de système.
Cette phase aboutira à la conception et la
représentation des diagrammes de séquences et d'activités
en se basant sur le langage de modélisation UML.
III.2. Architecture de l'application
Dans les phases préliminaires du développement
d'une application ou de la refonte d'un système d'information, la
définition de l'architecture technique consiste à faire les choix
de technologies et d'organisation de composants logiciels les plus
adaptés aux besoins et aux contraintes de l'organisation d'accueil.
Ces choix sont ensuite relayés au sein de notre projet,
guidant la conception et permettant la transformation d'un modèle
fonctionnel en application performante et robuste.
III.2.1. Présentation de l'architecture à
deux (2) niveaux
L'architecture à deux niveaux (aussi appelée
architecture 2-tiers, tiers signifiant étages en anglais)
caractérise les systèmes clients/serveurs dans lesquels le client
demande une ressource et le serveur la lui fournit directement. Cela signifie
que le serveur ne fait pas appel à une autre application afin de fournir
le service.
Figure 9 : Architecture à deux (2)
niveaux
MISE EN PLACE D'UN PORTAIL DE GESTION DE
RECRUTEMENTS, DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE
L'ISI
26
III.2.2. Présentation de l'architecture à
trois (3) niveaux
Dans l'architecture à 3 niveaux (appelées
architecture 3-tiers), il existe un niveau intermédiaire,
c'est-à-dire que l'on a généralement une architecture
partagée entre:
1. Le client: le demandeur de ressources
2. Le serveur d'application (appelé aussi
middleware): le serveur chargé de fournir la ressource
mais faisant appel à un autre serveur
3. Le serveur secondaire (généralement un
serveur de base de données), fournissant un service au premier
serveur.
Figure 10 : Architecture à trois (3)
niveaux
Tout système d'information nécessite la
réalisation de trois groupes de fonctions: le stockage des
données, la logique applicative et la présentation. Ces trois
parties sont indépendantes les unes des autres: on peut ainsi vouloir
modifier la présentation sans modifier la logique applicative. La
conception de chaque partie doit également être
indépendante, toutefois la conception de la couche la plus basse est
utilisée dans la couche d'au-dessus. Ainsi la conception de la logique
applicative se base sur le modèle de données, alors que la
conception de la présentation dépend de la logique
applicative.
III.2.3. Architecture adoptée
Pour ce projet, nous avons choisi l'architecture à trois
(3) niveaux. Car c'est une architecture :
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
27
V' Pérenne : applicable
durant une très longue période de temps et accepter des
changements technologiques ou fonctionnels tout en protégeant les
investissements réalisés.
V' Modulaire : un
élément peut être remplacé ou modifié sans
devoir changer toute l'architecture.
V' Ouverte : elle doit permettre de
construire ou de modifier une solution à partir de composants, provenant
de différents constructeurs.
III.3. Conception générale
III.3.1. Le cycle de développement en v
Un modèle de développement logiciel
désigne toutes les étapes du développement, de sa
conception à sa disparition. L'objectif d'un tel découpage est de
permettre de définir des jalons intermédiaires permettant la
validation du développement logiciel, c'est-à-dire la
conformité du logiciel avec les besoins exprimés, et la
vérification du processus de développement. À ce fait nous
adoptons le modèle de cycle de vie en V qui part du principe que les
procédures de vérification de la conformité du logiciel
aux spécifications doivent être élaborées dès
la phase de conception. L'énorme intérêt du cycle en V est
qu'il est un excellent support à la formalisation de notre relation avec
le futur-utilisateur, Il nous oblige à réfléchir aux
différents aspects de sa demande.
Figure 11 : Modèle de cycle de
développement en V
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
III.4. Conception détaillée
UML est une approche orientée objet de
modélisation qui permet de modéliser un problème
d'une manière standard. UML évite de se
définir comme une méthodologie, comme son nom l'indique, c'est un
langage « visuel » qui permet d'exprimer la compréhension d'un
système : il comporte 9 principaux diagrammes regroupés dans deux
vues différentes:
Vue Statique (cinq diagrammes structurels)
· Diagramme de Cas d'utilisation.
· Diagramme de Classes.
· Diagramme d'Objets.
· Diagramme de Composants.
· Diagramme de Déploiement.
Vue Dynamique (quatre diagrammes
comportementaux)
· Diagramme de Séquence
· Diagramme d'activités.
· Diagramme d'états transitions.
· Diagramme de Collaboration.
A cet effet on présente quelques diagrammes de
modélisation, qu'on a jugé les plus importants pour la
compréhension du fonctionnement du système.
III.4.1. Le Diagramme de déploiement
Le diagramme de déploiement définit l'architecture
matérielle de l'application. Il présente les
périphériques utilisés et la répartition du
système sur ces différents éléments. Il montre
aussi les liens de communication entre ces diverses entités.
Le diagramme de déploiement de notre application est
représenté par le diagramme ci-après :
28
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
29
Figure 12 : Le diagramme de
déploiement
III.4.2. Les diagrammes de séquences
Les diagrammes de séquences sont la
représentation graphique des interactions entre les acteurs et le
système selon un ordre chronologique dans la formulation
Unified Modeling Language
(UML).
Le diagramme de séquences permet de montrer les
interactions d'objets dans le cadre d'un scénario d'un Diagramme des cas
d'utilisation. Dans un souci de simplification, on représente l'acteur
principal à gauche du diagramme, et les acteurs secondaires
éventuels à droite du système. Le but étant de
décrire comment se déroulent les actions entre les acteurs ou
objets.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
a. Le diagramme de séquences du cas
d'utilisation « S'authentifier »
Authentification
SetIdentification (
login , password )
Le Système
getAuthentification(x,y)
Utilisateur
EchecConnexion()
Ressayer()
NouveauEssai()
[Succes]
ConnexionReuissie()
AccesApplication()
Figure 13 : Le diagramme de séquences du cas
d'utilisation « S'authentifier »
30
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
b. Le diagramme de séquences du cas
d'utilisation « inscrire étudiant »
Inscrire étudiant
Le système
SetChoixInscription()
SetChoixPromotion(x)
getListeDepartement()
SetDepartement(x)
SaisieInfo(x)
VerifierChamps()
Enregistrer
Enregistrement()
Envoi SMS
SMS envoyé
Inscription terminée
:Kannel
Caissière
Figure 14 : Le diagramme de séquences du cas
d'utilisation « Inscrire étudiant »
31
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
c. Le diagramme de séquences du cas
d'utilisation « Demander formation »
Demander formation
Postulant
SetInfoPersonnelle(x)
SetInfoFormation(x)
VerifierChamps()
TelechargerDoc(x)
VerifierTypeFichier()
Enregistrement()
Envoi sms (n° dossier)
sms envoyé
Envoi mail (n° dossier)
mail envoyé
Envoyer()
Demande envoyée
:postfix
Le système
VerifierChamps()
:kannel
.
Figure 15 : Le diagramme de séquences du cas
d'utilisation « Demander formation »
32
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
33
d. Le diagramme de séquences du cas
d'utilisation « Modifier numéro téléphone »
Modifier numéro téléphone
Etudiant
SetNumeroTelephone(x)
alt
[ Correct ]
[ Incorrect ]
loop
SetCodeActivation(x)
Modification terminée
SetCodeActivation(x)
Code d'activation
Enregistrer()
Reessayer()
Code erroné
Code correct
Valider()
Save()
VerifierChamps()
VerifierCode()
Envoi sms (code)
sms envoyé
:Kannel
Le système
Figure 16 : Le diagramme de séquences du cas
d'utilisation « Modifier numéro téléphone
»
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
e. Le diagramme de séquences du cas
d'utilisation « Editer notes »
Le système :Kannel
Enseignant
SetChoixClasse(x)
getListeModule()
getListeEtudiant()
Editer notes
verifierChamps()
Save()
Envoi sms (Note)
sms envoyé
SetTypeNote(x)
SetSelectEtudiant(x)
SetNote(x)
Enregistrer()
Enregistrement terminé
SetChoixModule(x)
Figure 17 : Le diagramme de séquences du cas
d'utilisation « Editer notes »
34
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
35
f. Le diagramme de séquences du cas
d'utilisation « Gérer demandes d'inscription »
Gérer demandes d'inscription
Administrateur
Consulter liste des demande
SetSelectDemande(x)
Enregistrement terminé
Affichage liste
Valider()
Le système
VerifierSelection()
getListeDemande()
Envoi sms (reponse)
:Kannel
sms envoyé
Save()
Envoi mail(reponse)
mail envoyé
:Postfix
Figure 18 : Le diagramme de séquences du cas
d'utilisation « Gérer demandes d'inscription »
III.4.2. Les diagrammes d'activité
Les diagrammes d'activités permettent de mettre
l'accent sur les traitements. Ils sont donc particulièrement
adaptés à la modélisation du cheminement de flots de
contrôle et de flots de données. Ils permettent ainsi de
représenter graphiquement le comportement d'une méthode ou le
déroulement d'un cas d'utilisation.
Les diagrammes d'activités sont relativement proches
des diagrammes d'états-transitions dans leur présentation, mais
leur interprétation est sensiblement différente. Les diagrammes
d'états-transitions
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
36
sont orientés vers des systèmes réactifs,
mais ils ne donnent pas une vision satisfaisante d'un traitement faisant
intervenir plusieurs classeurs et doivent être complétés,
par exemple, par des diagrammes de séquence. Au contraire, les
diagrammes d'activités ne sont pas spécifiquement
rattachés à un classeur particulier. On peut attacher un
diagramme d'activités à n'importe quel élément de
modélisation afin de visualiser, spécifier, construire ou
documenter le comportement de cet élément.
a. Le diagramme d'activité du cas d'utilisation
« S'authentifier »
Figure 15 : Le diagramme d'activité du cas
d'utilisation « S'authentifier »
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
b. Le diagramme d'activité du cas d'utilisation
« Inscrire étudiant »
Figure 20 : Le diagramme d'activité du cas
d'utilisation « Inscrire étudiant »
37
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
c. Le diagramme d'activité du cas d'utilisation
« Demander formation »
Figure 21 : Le diagramme d'activité du cas
d'utilisation « Demander formation »
38
39
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
d. Le diagramme d'activité du cas d'utilisation
« Modifier numéro de téléphone »
Figure 22 : Le diagramme d'activité du cas
d'utilisation « Modifier numéro de téléphone
»
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
e. Le diagramme d'activité du cas d'utilisation
« Editer notes »
Figure 23 : Le diagramme d'activité du cas
d'utilisation « Editer notes »
40
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
41
f. Le diagramme d'activité du cas d'utilisation
« Gérer demandes d'inscription »
Figure 24 : Le diagramme d'activité du cas
d'utilisation « Gérer demandes d'inscription »
III.4.4. Le diagramme des composants du système
Le diagramme de composants décrit
l'organisation du système du point de vue des éléments
logiciels comme les modules (paquetages, fichiers sources,
bibliothèques, exécutables), des données (fichiers, bases
de données) ou encore d'éléments de configuration
(paramètres, scripts, fichiers de commandes). Ce diagramme permet de
mettre en évidence les dépendances entre les composants (qui
utilise quoi).
? Un diagramme de composants propose une vision
statique de l'organisation des éléments
physiques logiciels du système.
? Un diagramme de composants montre les
dépendances existant entre les composants physiques
logiciels du système
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
? Un diagramme de composants ne montre pas les
interactions entre les composants physiques logiciels
cmp Component Model
«interface»
Classe F1
realize
Composant F
dependency
«interface»
ClassF3
realize
«interface»
ClassF2
Figure 25 : Formalisme d'un diagramme de
composants
42
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
a. Le diagramme des composants du
système
<< template >>
Bootstrap
<< script >>
JQuery 2.2.1
1
2
<< Interface >>
< Interface >
IAdmin
IEnseignant
Kannel
postfix
Apache
pages web
<<library>>
pdo
DAO
AdminDAO
EnseignantDAO
EtudiantDAO
postgresql 9.2
3
<Interface>
IEtudiant
43
Figure 26 : Diagramme des composants du
système
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
III.4.5. Le diagramme de classes
Le diagramme de classes est un schéma utilisé en
génie logiciel pour présenter les classes et les interfaces des
systèmes ainsi que les différentes relations entre celles-ci. Ce
diagramme fait partie de la partie statique d'UML car il fait abstraction des
aspects temporels et dynamiques.
Une classe est la description formelle d'un ensemble d'objets
ayant une sémantique et des caractéristiques communes.
Un objet est une instance d'une classe. C'est une entité
discrète dotée d'une identité, d'un état et d'un
comportement que l'on peut invoquer. Les objets sont des éléments
individuels d'un système en cours d'exécution.
Figure 27 : Diagramme de classe du
système
44
45
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
III.5. Conclusion
Cette phase de conception avait pour intérêt de
présenter les différentes étapes de conception de
l'application tout en évoluant dans le niveau de détail, et doit
par conséquent aboutir immédiatement à
l'implémentation avec une vision claire des aspects fonctionnels ainsi
que organisationnels de l'application.
46
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
47
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
Chapitre I : Réalisation
48
I.1. Introduction
Cette partie constitue le dernier volet de ce rapport.
Après avoir terminé la phase de spécification et
conception, la solution étant déjà choisie et
étudiée, il nous reste que de se décider dans quel
environnement nous allons travailler, exposer les choix techniques
utilisés et le langage adopté, et présenter
l'implémentation et les tests réalisés.
I.2. Architecture générale de
l'application
Dans l'architecture à trois niveaux, les applications
au niveau serveur sont délocalisées, c'est-à-dire que
chaque serveur est spécialisé dans une tâche (serveur web/
serveur de base de données par exemple). Il permet :
- Une plus grande flexibilité/souplesse ;
- Une sécurité accrue car la
sécurité peur être définie indépendamment
pour chaque service, et à chaque niveau ;
- De meilleures performances, étant donné le
partage des tâches entre les différents serveurs.
Cette architecture (appelée 3 tiers) fait intervenir trois
parties indépendantes les unes des autres :
1. La couche de données liée au serveur de base
de données (SGBD) : stockage et accès aux données. Le
système de stockage des données a pour but de conserver une
quantité plus ou moins importante de données de façon
structurée. Nous pouvons utiliser pour cette partie des systèmes
très variés qui peuvent être des systèmes de
fichiers, des mainframes, des systèmes de bases de données
relationnelles, etc.
2. La logique applicative : il se compose
généralement d'un script ou d'un programme qui constitue les
traitements métier nécessaires sur l'information afin de le
rendre exploitable par chaque utilisateur.
3. La couche présentation (ou affichage)
associé au client qui de fait est dit « léger » dans la
mesure où il n'assume aucune fonction de traitement à la
différence du modèle 2-tiers. C'est la partie la plus
immédiatement visible pour l'utilisateur. Elle a donc une importance
primordiale pour rendre l'information lisible, compréhensible et
accessible.
Protocole de communication
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
49
Dans notre projet, nous avons utilisé le protocole
HTTP, afin de communiquer les données entre la partie cliente mobile et
le serveur web. En effet, Le HTTP est un protocole qui définit la
communication entre un serveur et un client (facilite le dispatche des
fonctions). En général, nous utilisons la méthode Post
pour envoyer des données au programme situé à une URL
spécifiée. Dans notre cas la requête Post envoyée
à partir de l'application client vers le serveur est de la forme
suivante :
http://127.0.0.1:8080/nomapplication?parametre=valeur.
I.3. Le langage de programmation et les
bibliothèques utilisés
Un langage de programmation est une notation conventionnelle
destinée à formuler des algorithmes et produire des programmes
informatiques qui les appliquent. Les langages de programmation permettent de
décrire d'une part les structures des données qui seront
manipulées par l'appareil informatique, et d'autre part d'indiquer
comment sont effectuées les manipulations, selon quels algorithmes. Ils
servent de moyens de communication par lesquels le programmeur communique avec
l'ordinateur, mais aussi avec d'autres programmeurs; les programmes
étant d'ordinaire écrits, lus, compris et modifiés par une
équipe de programmeurs. Par ailleurs, il existe plusieurs langages de
programmation tels que : C++, Java, C Sharp,
VB.NET,
ASP.NET, Python, Ruby etc... Dans le cadre
de notre projet nous optons pour le langage PHP.
I.3.1. Le langage de programmation utilisé
Pour le développement de notre plateforme, nous avons
choisi comme langage de programmation PHP (Hypertext
Preprocessor), qui est un langage de programmation libre principalement
utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais
pouvant également fonctionner comme n'importe quel langage
interprété de façon locale. PHP est un langage
impératif orienté objet comme C++.
PHP a permis de créer un grand nombre de sites web
célèbres, comme Facebook, YouTube, Wikipédia, etc. Il est
aujourd'hui considéré comme la base de la création des
sites Internet dits dynamiques.
I.3.2. Les bibliothèques utilisées
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
50
jQuery est une bibliothèque JavaScript
libre et multiplateforme créée pour faciliter l'écriture
de scripts côté client dans le code HTML des pages web. La
première version est lancée en janvier 2006 par John Resig.
La bibliothèque contient notamment les
fonctionnalités suivantes :
V' Parcours et modification du DOM (y compris le support des
sélecteurs CSS 1 à 3 et un support basique de XPath) ;
V' Événements ;
V' Effets visuels et animations ;
V' Manipulations des feuilles de style en cascade
(ajout/suppression des classes, d'attributs...) ; V' Ajax ;
V' Plugins ;
V' Utilitaires (version du navigateur web...).
Twitter Bootstrap est une collection d'outils
utile à la création de sites et d'applications web. C'est un
ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils
de navigation et autres éléments interactifs, ainsi que des
extensions JavaScript en option. C'est l'un des projets les plus populaires sur
la plate-forme de gestion de développement GitHub.
I.4. Choix des outils de développement
a. Système d'exploitation
Un système d'exploitation est un ensemble de programmes
qui dirige l'utilisation des capacités d'un ordinateur par des logiciels
applicatifs. Le système d'exploitation offre une suite de services
généraux facilitant la création de logiciels applicatifs.
Il existe un bon nombre de système d'exploitation, les plus connus sont
: Microsoft Windows, Mac OS X, GNU/Linux,
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
51
OS/2 d'IBM, OS/400 etc... Pour notre projet nous avons choisi le
système d'exploitation GNU/Linux (distribution Ubuntu).
Ubuntu
Ubuntu est un système d'exploitation
open source basé sur la distribution Linux Debian. Contrairement aux
logithèques des autres systèmes d'exploitation les plus
populaires, tel que Mac OS et Windows, les logiciels ne sont pas limités
à ceux présélectionnés par le
développeur.
Les utilisateurs peuvent ajouter des sources non-officielles
grâce au gestionnaire de programmes APT. Nous avons choisi ce
système d'exploitation car :
- Il est simple à prendre en main
- Les dépôts Ubuntu hébergent une multitude
de logiciels à découvrir. Souvent simples mais
très utiles et suffisants pour la majorité d'entre
nous.
- L'intégration des logiciels est parfois
stupéfiante et facilite la vie
- Hautement personnalisable: tout est paramétrable avec
plus ou moins d'efforts etc.
b. Editeur de code
Un éditeur de code est un logiciel
destiné à la création et l'édition de code dans un
langage bien spécifique. Chaque système d'exploitation fournit un
éditeur, tant son usage est courant, voire incontournable pour certaines
tâches informatiques de base comme l'administration de système et
le développement de logiciels. Ainsi il existe plusieurs tels
que : Notepad2, Notepad++, Sublime Text etc... Pour notre projet nous
avons choisi Sublime Text 3.
Sublime Text 3
Sublime Text est un éditeur de texte
générique codé en C++ et Python, disponible sur Windows,
Mac et Linux. Le logiciel a été conçu tout d'abord comme
une extension pour Vim, riche en fonctionnalités. Il intègre la
plupart des fonctionnalités de base d'un éditeur de texte, dont
la coloration syntaxique personnalisable, l'auto complétion, un
système de plugins.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
52
c. Système de Gestion de Base de Données
(SGBD)
Un Système de Gestion de Base de Données
(SGBD) est un logiciel qui permet de stocker des informations dans une
base de données. Un tel système permet de lire, écrire,
modifier, trier, transformer ou même imprimer les données qui sont
contenus dans la base de données.
Parmi les logiciels les plus connus il est possible de citer :
MySQL, PostgreSQL, SQLite, Oracle Database, Microsoft SQL Server, Firebird ou
Ingres.
Ces systèmes peuvent être catégorisés
selon leur fonctionnement :
· Système propriétaire :
Oracle Database, Microsoft SQL Server, DB2, MaxDB, 4D, dBase,
Informix, Sybase
· Système libre MySQL,
PostgreSQL, MariaDB, Firebird, Ingres, HSQLDB, Derby
· Orienté objet : ZODB, db4o
· Embarqué : SQLite, Berkeley
DB
· NoSQL : Cassandra, Redis, MongoDB,
SimpleDB, BigTable, CouchDB, HBase, LevelDB, RethinkDB, Memcached
· Autre système : Access,
OpenOffice.org Base, FileMaker,
HyperFileSQL, Paradox, Neo4j
Pour notre projet, nous avons choisi PostgreSQL comme SGBD.
PostgreSQL
PostgreSQL est un système de gestion
de base de données relationnelle et objet (SGBDRO). C'est un outil libre
disponible selon les termes d'une licence de type BSD. Ce système est
concurrent d'autres systèmes de gestion de base de données,
qu'ils soient libres (comme MySQL et Firebird), ou propriétaires (comme
Oracle, Sybase, DB2et Microsoft SQL Server). Ce SGBDRO utilise des types de
données modernes, dit composés ou enrichis suivant les
terminologies utilisées dans le vocable informatique usuel. Ceci
signifie que PostgreSQL peut stocker plus de types de données que les
types simples traditionnels entiers, caractères, etc. L'utilisateur peut
créer des types, des fonctions, utiliser l'héritage de type, etc.
PostgreSQL est plus avancé que ses concurrents dans la conformité
aux
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
53
standards SQL (énoncé vrai entre 2012 et 2015).
PostgreSQL est pratiquement conforme (de plus en plus conforme) aux normes ANSI
SQL 89, SQL 92 (SQL 2), SQL 99 (SQL 3), SQL:2003 et SQL:2008. Il fonctionne sur
diverses plates-formes matérielles et sous différents
systèmes d'exploitation.
d. Passerelle SMS
Kannel
Kannel est un Open Source passerelle WAP. Il
fournit l'essentiel de l'WAP infrastructures en tant que logiciel open source
pour tout le monde afin que le potentiel de marché pour les services
WAP, à la fois des opérateurs sans fil et les fournisseurs de
services spécialisés, sera réalisée de
manière aussi efficace que possible. Kannel fonctionne également
comme une passerelle SMS pour GSM réseaux. Presque tous les
téléphones GSM peuvent envoyer et recevoir des SMS messages,
c'est donc une façon de servir beaucoup plus de clients que seulement
ceux utilisant WAP.
e. Serveur d'application
Les serveurs d'applications sont des logiciels occupant la
couche centrale dans une architecture multicouche, qu'elle soit classique
3-tiers (postes clients, serveur d'applications, serveur de données) ou
étendue (n-tiers) lorsqu'elle intègre par exemple des serveurs
d'acquisition (données de terrain, données de process, de
back-office, etc.) et/ou des serveurs d'interface (Gateway, systèmes
coopérants externes, etc.). Dans le cadre de notre projet nous avons
choisi XAMPP.
XAMPP
XAMPP est un ensemble de logiciels
permettant de mettre en place facilement un serveur Web confidentiel, un
serveur FTP et un serveur de messagerie électronique. Il s'agit d'une
distribution de logiciels libres (X (cross)
Apache MySQL Perl
PHP) offrant une bonne souplesse d'utilisation,
réputée pour son installation simple et rapide. Ainsi, il est
à la portée d'un grand nombre de personnes
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
puisqu'il ne requiert pas de connaissances
particulières et fonctionne, de plus, sur les systèmes
d'exploitation les plus répandus.
f. Serveur de messagerie Postfix
Postfix est un serveur de messagerie électronique et
un logiciel libre développé par Wietse Venema et plusieurs
contributeurs. Il se charge de la livraison de courriers électroniques
(courriels) et a été conçu comme une alternative plus
rapide, plus facile à administrer et plus sécurisée que
l'historique Sendmail. Il est le serveur de courriel par défaut dans
plusieurs systèmes de type UNIX, comme Mac OS X, NetBSD1, diverses
distributions GNU/Linux, etc. Postfix est publié sous licence IBM Public
License 1.0. C'est une licence libre, mais incompatible avec la GPL. Postfix a
tout d'abord été connu sous les noms de VMailer et par la suite
IBM Secure Mailer.
54
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
I.6. Travail réalisé
La conception des interfaces de l'application ENISI
(Espace Numérique de ISI) est une étape très
importante puisque toutes les interactions avec le couleur de l'application
passent à travers ces interfaces, nous devons alors guider l'utilisateur
avec les messages d'erreur et avec des notifications si besoin.
55
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET
SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
|
|
a. Page d'accueil de la plateforme
56
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
b. Page d'authentification de la plateforme
57
58
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
c. Page de demande d'inscription en ligne
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
d. Tableau de bord « Espace Administrateur »
59
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET
SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
e. Page de la liste des demandes d'inscription
60
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET
SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
f. Page de validation d'une demande en ligne
61
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET
SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
g. Tableau de bord « Espace Enseignant »
62
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
|
|
h. Tableau de bord « Espace Etudiant »
63
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
I.7. Conclusion
Dans ce dernier chapitre, il s'agit d'affiner ce que nous avons
vu tout au long du rapport et simplifier le travail en des interfaces qui
résument notre future plateforme.
64
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
CONCLUSION GENERALE
Le projet d'application de gestion de recrutements, des
évaluations et suivi de cursus des étudiants de l'ISI, avait pour
but de créer une plateforme qui permet de gérer le processus des
demandes d'inscription en ligne et en présentielles, ainsi que le suivi
du cursus des étudiants. Pour atteindre notre objectif on a opté
pour une solution : base de donnée gérée par une
application externe, ce qui nous a permis d'appliqué et de
développé nos connaissance du concept orienté objet ainsi
que les langages SGBD et plus précisément le PGSQL.
Ce projet nous a été bénéfique
d'un point de vue conception et design, puisque nous avons eu à utiliser
de nombreuses librairies (Bootstrap, JQuery etc.) et technologies ; avec
interface graphique, développant ainsi notre côté
artistique et créatifs.
Bien que le travail effectuer est assez important, mais vu
les contraintes du temps, il reste extensible.
65
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
66
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
67
ANNEXES 1 : UML
UML, langage de modélisation objet, est récent
mais déjà très référencé (qu'il
s'agisse d'ouvrages ou de sites Internet) et dispose de nombreux outils. Notez
qu'UML est ouvert et n'est la propriété de personne. Après
avoir cité quelques méthodes objet, ce chapitre présente
succinctement UML : une définition, des
généralités, un court historique, une bibliographie et des
outils (i.e. ateliers de génie logiciel).
1.2. Un langage unifié pour la
modélisation objet
UML (Unified Modeling Language) est un langage unifié
pour la modélisation objet.
· UML est un langage (de modélisation objet) et
propose donc une notation et une sémantique associée à
cette notation (i.e. des modèles), mais pas de processus (i.e. de
démarche proposant un enchaînement d'étapes et
d'activités qui mènent à la résolution d'un
problème posé) ; UML n'est donc pas une méthode.
· UML unifie des méthodes objet, et plus
particulièrement les méthodes Booch'93 de G. Booch, OMT-2 (Object
Modeling Technique) de J. Rumbaugh et OOSE (Object-Oriented Software
Engineering) d'I. Jacobson. Actuellement, ces trois personnes
(surnommées les « trois amigos ») travaillent pour Rational
Software Corporation.
· UML reprend en particulier les notions de partitions
en sous-systèmes de Booch'93, de classes et d'associations d'OMT-2, et
d'expression des besoins par les interactions entre les utilisateurs et le
système d'OOSE.
·
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
68
UML a une approche entièrement (i.e. couvrant tout le
cycle de développement : analyse, conception et réalisation)
objet (et non fonctionnelle) : le système est décomposé en
objets collaborant (plutôt qu'en tâches décomposées
en fonctions plus simples à réaliser).
1.3. Quelques
généralités
y' UML est conçu pour modéliser divers types de
systèmes, de taille quelconque et pour tous les domaines d'application
(gestion, scientifique, temps réel, système embarqué).
y' UML permet de diviser le système d'information
(d'une organisation) en le système métier et le système
informatique. Le système métier modélise les aspects
statiques et dynamiques de l'activité selon une vision externe et une
vision interne (en ignorant l'implémentation technique) tandis que le
système informatique recouvre la partie automatisée du
système métier concrétisant les choix effectués
parmi les différentes technologies d'actualité. Les concepts
manipulés sont les mêmes, à chacun de ces deux niveaux
d'abstraction.
y' UML est fortement inspiré de l'approche 4+1 vues
(logique, composants, processus, déploiement et cas d'utilisation)
indépendantes définies par P. Kruchten pour exprimer les diverses
perspectives de l'architecture d'un système informatique.
y' UML se compose d'une part des éléments de
modélisation qui représentent toutes les propriétés
du langage et d'autre part des diagrammes (de cas d'utilisation, de classes,
d'objets, d'états-transitions, d'activités, de séquence,
de collaboration, de composants et de déploiement) qui en constituent
l'expression visuelle et graphique.
y' UML n'impose pas de processus de développement
logiciel particulier, même si celui sous-jacent est un processus
itératif (précisant à chaque itération les
degrés d'abstraction), incrémental (i.e. en divisant le
développement en étapes aboutissant chacune à la
construction de tout ou partie du système), centré sur
l'architecture (au niveau de la modélisation comme de la production),
conduit par les cas d'utilisation (modélisant l'application à
partir des modes d'utilisation attendus par les utilisateurs), piloté
par les risques (afin d'écarter les causes majeures d'échec) tel
que le 2TUP (Two Tracks Unified Process) présenté notamment dans
l'ouvrage UML en action - De l'analyse des besoins à la conception en
Java de P. Roques et F. Vallée paru aux éditions Eyrolles en
2000.
y' UML prend en compte de manière complètement
intégrée l'ingénierie des besoins (cas d'utilisation).
y' UML est automatisable pour générer du code
à partir des modèles vers les langages et les environnements de
programmation.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
69
y' UML est générique, extensible (en plus de
couvrir les possibilités des différentes technologies objet
existantes) et configurable.
y' UML se veut intuitif, simple et cohérent.
ANNEXE 2: PDO (PHP Data Objects)
PDO signifie Php Data Object. Il s'agit une couche
d'abstraction des fonctions d'accès aux bases de données.
Ça ne signifie donc pas que vos requêtes seront automatiquement
compatibles avec n'importe quelle base de données, mais bien que les
fonctions d'accès seront universelles :
mysql_connect(), mysql_query(), mysql_result(),
mysql_fetch_array(), mysql_real_escape_string(), etc... toutes ces fonctions
que vous utilisez sont spécifiques à un SGBD et leur utilisation
sera désormais automatiquement déterminée par PDO.
Ainsi, il est temps de casser le mythe laissant sous-entendre
que PDO permet une compatibilité entre plusieurs types de bases de
données ; PDO n'a pas pour but que d'interpréter vos
requêtes et de les traduire pour tous les SGBD. Le but premier de PDO est
surtout d'éviter d'apporter une solution au problème de code tel
que celui-ci :
En somme, lorsque vous démarrez une connexion PDO, il
faudra indiquer quel est le type de SGDB à utiliser. Ensuite, il suffira
d'utiliser une fonction unique, fournie par PDO. Pour faire une image, PDO
s'occupera de diriger votre requête « vers une fonction
d'accès appropriée ». Ça, c'est PDO.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
70
ANNEXES 3 : Fichier de configuration de KANNEL
#
# THIS IS A SAMPLE CONFIGURATION FOR KANNEL
#
# For any modifications to this file, see Kannel User Guide
# If that does not help, send email to
users@kannel.org
#
group = core
admin-port = 13000
admin-password = bar
status-password = foo
#admin-deny-ip = ""
#admin-allow-ip = ""
log-file = "/tmp/kannel.log"
log-level = 0
#access-log = "access.log"
#http-proxy-host = "127.0.0.1"
#http-proxy-port = 8080
#http-proxy-exceptions = "127.0.0.1"
#http-proxy-username = "user"
#http-proxy-password = "password"
#ssl-certkey-file = "mycertandprivkeyfile.pem"
# Smsbox related
#smsbox-port = 13001
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1"
unified-prefix = "00358,0"
#white-list = "
http://127.0.0.1/white-list.txt"
#black-list = "
http://127.0.0.1/black-list.txt"
#store-file = "kannel.store"
# SMSC GSM
#group = smsc
#smsc = at
#modemtype = wavecom | premicell | siemens | siemens-tc35 |
falcom | nokiaphone
| ericsson
#device = /dev/ttyS0
#pin = 2345
#validityperiod = 167
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
# SMSC HTTP #group = smsc #smsc = http #system-type = kannel
#send-url = #port =
#connect-allow-ip =
#username = #password =
# SMSBOX SETUP
group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
#sendsms-chars = "0123456789 +-"
#global-sender = 12345
#log-file = "/tmp/smsbox.log"
#log-level = 0
#access-log = "access.log"
#white-list =
#black-list =
#reply-couldnotfetch =
#reply-couldnotrepresent =
#reply-requestfailed = #reply-emptymessage =
# SEND-SMS USERS
group = sendsms-user username = tester password = foobar
#user-deny-ip = "" #user-allow-ip = "" # SMS SERVICES
#group = sms-service
#name = nothing
#keyword = nop
#aliases = "noppy;niente"
#text = "You asked nothing and I did it!"
#get-url = "http://"
#post-url = "http://"
# SMS SERVICE GET-URL EXAMPLE
#group = sms-service
#keyword = relay
#get-url = "
http://localhost/service?phone=%p&text=%r&binary=%b&smsc=$i&time=%t
71
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
72
ANNEXE 4 : Configuration de POSTFIX Commandes
d'installation du paquet
# sudo apt-get install mailutils # sudo dpkg-reconfigure postfix
# sudo nano /etc/postfix/
main.cf # sudo
gedit /etc/postfix/
main.cf
Configuration du serveur SMTP relayhost = [
smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes
# sudo gedit /etc/postfix/sasl_passwd [
smtp.gmail.com]:587
USERNAME@gmail.com:PASSWORD
# sudo chmod 400 /etc/postfix/sasl_passwd
# sudo postmap /etc/postfix/sasl_passwd
# cat /etc/ssl/certs/Thawte_Premium_Server_CA.pem | sudo tee
-a
/etc/postfix/cacert.pem
# sudo /etc/init.d/postfix reload
Test d'envoi de mail en PHP
<?php
$to =
'me@gmail.com';
if ( mail( $to, 'Test mail', "It is just a test mail.") ) {
echo "Mail envoyé!<br>\n";
} else {
echo "Mail non envoyé :<br>\n";
}
?>
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
73
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS,
DES EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
74
Bibliographie :
[1] : PHP 5 avancé 4e édition, Eyrolles
Auteur . Éric Daspet et Cyril Pierre de Geyer
[2] : Les cahiers du programmeur PHP 5, Eyrolles
Auteur . Stéphane Mariel, avec la contribution de Jean
Zundel
[3] : Administration et exploitation de vos bases de
données (3ième édition) Auteur .
Sébastien LARDIERE
[4] : SQL Les fondamentaux du langage
Auteur . Eric Godoc
Webographie :
[5] : http://php.developpez.com/
[6] : https://www.php.net/
[7] : https://fr.wikipedia.org/
[8] :
https://openclassrooms.com/courses?tags=php50441
[9] :
www.w3schools.com/php/
[10] :
http://getbootstrap.com/components/
[11] :
http://getbootstrap.com/css/
[12] :
http://getbootstrap.com/javascript/
[13] : http://api.jquery.com/
[14] :
http://www.kannel.org/userguide.shtml
[15] :
http://www.postfix.org/documentation.html
[16] : http://doc.ubuntu-fr.org/
[17] : http://sql.sh/
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
75
TABLE DES MATIERES
Remerciements I
Dédicace II
Liste des sigles et abréviations III
Liste des figures IV
Introduction Générale 1
PREMIERE PARTIE : PHASE D'INSERTION
Chapitre I : Présentation
générale et cadre du projet .
I.1. Introduction 3
I.2. Présentation de l'Institut Supérieur
d'Informatique (I.S.I) 3
I.2.1. Fondation de l'ISI 3
I.2.2. Expertise de l'ISI 3
I.2.3. Structure administrative de l'ISI 4
I.2.4. Les Formations à l'ISI 5
I.3. Cadre du projet . 5
I.4. Problématique 6
I.5. Conclusion 7
DEUXIEME PARTIE : PHASE DE CONCEPTION 8
Chapitre I : Etude de l'art 9
I.1. Introduction . 9
I.2. Etude de l'existant 9
I.3. Critique de l'existant 9
I.4. Objectif du projet 9
I.5. Méthodologie et approche adoptée 10
I.5.1. Présentation d'UML 10
I.5.2. Les avantages d'UML 10
I.6. Conclusion 11
Chapitre II : Analyse et spécification des
besoins 12
II.1. Introduction . 12
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
76
II.2. Analyse des besoins 12
II.2.1. Les besoins fonctionnels 12
II.2.2. Les besoins non fonctionnels 12
II.3. Les diagrammes des cas d'utilisation 13
II.3.1. Identification des acteurs 14
II.3.2. Les diagramme de cas d'utilisation 14
a. Diagramme des cas d'utilisation « Gérer
Inscription » 15
Tableau 1 : Description textuelle du cas d'utilisation «
Inscrire étudiant » 16
b. Diagramme des cas d'utilisation « Demande
d'inscription » 17 Tableau 2 : Description textuelle du cas
d'utilisation « Demander formation » 18
c. Diagramme des cas d'utilisation « Espace
étudiant » 19 Tableau 3 : Description textuelle du cas
d'utilisation « Modifier numéro de
téléphone » 20
d. Diagramme des cas d'utilisation « Espace enseignant
» 21
Tableau 4 : Description textuelle du cas d'utilisation «
Editer notes » 22
e. Diagramme des cas d'utilisation « Espace
Administrateur » 23
Tableau 5 : Description textuelle du cas d'utilisation
« Gérer demandes
d'inscription » 24
II.4. Conclusion . 24
Chapitre III : Conception du système 25
III.1. Introduction 25
III.2. Architecture de l'application 25
III.2.1. Présentation de l'architecture à deux
(2) niveaux 25
III.2.2. Présentation de l'architecture à trois
(3) niveaux 26
III.2.3. Architecture adoptée 26
III.3. Conception générale 27
III.3.1. Le cycle de développement en V 27
III.4. Conception détaillée . 28
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
77
III.4.1. Le diagramme de déploiement 28
III.4.2. Les diagrammes de séquences 29
a. Diagramme de séquence du cas d'utilisation «
S'authentifier » . 30
b. Diagramme de séquence du cas d'utilisation «
Inscrire étudiant » 31
c. Diagramme de séquence du cas d'utilisation «
Demander formation » 32
d. Diagramme de séquence du cas d'utilisation «
Modifier numéro téléphone » 33
e. Diagramme de séquence du cas d'utilisation «
Editer notes » 34
f. Diagramme de séquence du cas d'utilisation «
Gérer demandes
d'inscription » 35
III.4.3. Les diagrammes d'activités 35
a. Diagramme d'activité du cas d'utilisation «
S'authentifier » 36
b. Diagramme d'activité du cas d'utilisation «
Inscrire étudiant » 37
c. Diagramme d'activité du cas d'utilisation «
Demander formation » 38
d. Diagramme d'activité du cas d'utilisation «
Modifier numéro téléphone » 39
e. Diagramme d'activité du cas d'utilisation «
Editer notes » 40
f. Diagramme d'activité du cas d'utilisation «
Gérer demandes
d'inscription » 41
III.4.4. Le diagramme des composants du système 41
III.4.5. Le diagramme de classes 44
III.5. Conclusion 46
TROISEME PARTIE : PHASE DE REALISATION 47
Chapitre I : Réalisation de l'application .
48
I.1. Introduction 48
I.2. Architecture générale de l'application
. 48
I.3. Le Langage de programmation et les bibliothèques
utilisés 49
I.4. Choix des outils de développement 50
a. Système d'exploitation 50
b. Editeur de code 51
c. Système de Gestion de base de données (SGBD)
52
d.
MISE EN PLACE D'UN PORTAIL DE GESTION DE RECRUTEMENTS, DES
EVALUATIONS ET SUIVI DE CURSUS DES ETUDIANTS DE L'ISI
78
Passerelle SMS 53
e. Serveur d'application 53
f. Serveur de messagerie 54
I.5. Travail réalisé 55
a. Page d'accueil de la plateforme 56
b. Page d'authentification 57
c. Page de demande d'inscription en ligne 58
d. Tableau de bord Espace Administrateur 59
e. Page de la liste des demandes d'inscription 60
f. Page de validation d'une demande en ligne 61
g. Tableau de bord Espace Enseignant 62
h. Tableau de bord Espace étudiant 63
I.6. Conclusion 64
CONCLUSION GENERALE : 65
ANNEXES :
ANNEXE 1 : UML 67
ANNEXE 2 : PDO 69
ANNEXE 3 : Fichier configuration de KANNEL 70
ANNEXE 4 : Configuration de POSTFIX 72
BIBLIOGRAPHIE & WEBOGRAPHIE : 74
TABLE DES MATIERES 75
|