WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place d'un portail de gestion des recrutements, évaluations et suivi des cursus des étudiants de l'ISI.

( Télécharger le fichier original )
par Cheryl Lorenzi OGUIAO
Institut Supérieur dà¢â‚¬â„¢Informatique (I.S.I) - Licence Génie Logiciel 2014
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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 )

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

[Echec]

 
 
 

loop

 
 
 
 
 

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






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon