Oued-Smar Alger
d’état en informatique
Thème
Conception et réalisation d’un site web dynamique pour le suivi
des activités pédagogiques et scientifiques de la DPGR de
l’ESI
Promotion : 2009/2010
Remerciements
Ensuite, il n’aurait pas pu être achevé sans le soutien, les conseils et les encouragements de
certaines personnes auxquelles nous tenons ici à exprimer nos sincères remerciements.
En premier lieu, nous exprimons toute notre gratitude pour Nos Promoteurs, Monsieur N.
MEDJAOUI et Monsieur A. BALLA pour leurs précieux conseils, leurs disponibilité, la
confiance qu’ils nous ont toujours témoigné et la sollicitude dont ils nous ont entouré, et ce
tout au long de l’élaboration du présent travail.
Nous n’oublions pas non plus Nos Enseignants, qui tout au long du cycle d’études à l’Ecole
nationale Supérieure d’Informatique, nous ont transmis leur savoir.
Nous adressons une pensée particulièrement affective à Nos Amis de l’ESI qui ont rendu
agréables nos longues années d’études.
Nous remercions tout particulièrement Les Membres du Jury, pour avoir accepté de participer
en tant qu'Examinateurs à notre soutenance.
Nous tenons enfin à remercier tous ceux qui ont collaborés de près ou de loin à l’élaboration
de ce travail. Qu’ils acceptent nos humbles remerciements.
À mes très chers parents à qui j`ai transmis mon stress et anxiété, pour leur affection, leur
patience, leur soutien et leurs encouragements qui m` ont permis d’arriver au bout de ce
travail.
Khaled
A Ma Mère.
A Mon Père.
Abdeldjalil
Résumé:
Les services du système sont destinés au personnel de la direction, les étudiants et les
enseignants.
La réalisation d’un tel système nécessite une étude approfondie de tous ces aspects ainsi que
les perspectives des solutions possibles. Ce travail fait l'objet de notre projet de fin d'étude
intitulé « Conception et réalisation d’un site web dynamique pour le suivi des activités
pédagogiques et scientifiques de la DPGR de l’ESI ».
Mots clés :
Site web dynamique, concours, scolarité, activité pédagogique, post graduation, école
doctorale, activité scientifique et projet de recherche.
SOMMAIRE
I. INTRODUCTION GENERALE : .................................................................................................... 2
II. ETUDE DE L’EXISTANT : ............................................................................................................ 5
II.1. Introduction : ______________________________________________________________ 5
II.2. Présentation de l’organisme d’accueil :_________________________________________ 6
II.2.1. Présentation de l’ESI : ______________________________________________________________ 6
II.2.2. Présentation de la DPGR de l’ESI : ____________________________________________________ 7
II.3. Présentation du sujet : ______________________________________________________ 8
II.3.1. Système actuel : ____________________________________________________________________ 8
II.3.2. Problématique : ____________________________________________________________________ 8
II.3.3. Objectifs de l’étude : ________________________________________________________________ 8
II.4. Etude des acteurs de système : ________________________________________________ 9
II.4.1. Liste des acteurs : ___________________________________________________________________ 9
II.4.2. Les tâches des acteurs : _____________________________________________________________ 10
II.5. Etude des procédures de travail : ____________________________________________ 11
II.5.1. Liste des procédures de travail : _____________________________________________________ 11
II.5.2. Etude détaillée des procédures :______________________________________________________ 11
II.6. Etude de quelques documents : ______________________________________________ 28
II.7. Etude quantitative : ________________________________________________________ 30
II.8. Diagnostics de la situation existante : _________________________________________ 30
II.8.1. Recensement des anomalies : ________________________________________________________ 30
II.8.2. Diagnostic du système : ____________________________________________________________ 32
II.8.3. Suggestions : ______________________________________________________________________ 32
II.9. Conclusion : ______________________________________________________________ 33
III. ANALYSE : ................................................................................................................................... 35
III.1. Introduction : ____________________________________________________________ 35
III.2. Analyse fonctionnelle : ____________________________________________________ 36
III.2.1. Identification des acteurs : _________________________________________________________ 36
III.2.2. Le diagramme de contexte du système : ______________________________________________ 38
III.2.3. Identification des cas d’utilisation : __________________________________________________ 38
III.2.4. Description détaillée des cas d’utilisations du système : _________________________________ 41
III.2.5. Regroupement des cas d’utilisation en package : _______________________________________ 62
III.3. Analyse statique : _________________________________________________________ 66
III.3.1. Identification des classes candidates : ________________________________________________ 66
III.3.2. Description détaillée des classes d’objet : _____________________________________________ 72
III.3.3. Description détaillée des classes d’association : ________________________________________ 77
III.4. Analyse dynamique : ______________________________________________________ 78
III.4.1. Les Diagrammes de séquences : _____________________________________________________ 78
III.4.2. Les Diagrammes des états / transitions : ______________________________________________ 84
III.5. Conclusion : _____________________________________________________________ 88
IV. CONCEPTION : ........................................................................................................................... 90
IV.1. Introduction : ____________________________________________________________ 90
IV.2. Conception du système (conception générale) :_________________________________ 91
IV.2.1. Schéma de l’architecture du nouveau système : ________________________________________ 91
IV.2.2. Les avantages de l’architecture multi tiers: ___________________________________________ 92
IV.2.3. Les inconvénients de l’architecture multi tiers: ________________________________________ 92
IV.2.4. Description des serveurs : __________________________________________________________ 92
IV.2.5. Principe de fonctionnement : _______________________________________________________ 94
IV.2.6. Découpage du système en sous-systèmes : _____________________________________________ 95
IV.2.7. Présentation des sous-systèmes : _____________________________________________________ 95
IV.2.8. Gestion de la persistance de données : ________________________________________________ 98
IV.3. Conception des objets (conception détaillée) : __________________________________ 99
IV.3.1. Schéma général de l’implémentation : _______________________________________________ 100
IV.3.2. Implémentation des classes d’objet : ________________________________________________ 100
IV.3.3. Implémentation des classes d’association : ___________________________________________ 105
IV.3.4. Passage du modèle objet au modèle relationnel : ______________________________________ 106
IV.3.5. Implémentation des classes de contrôle : _____________________________________________ 107
IV.3.6. Implémentation des classes de dialogue (IHM) : ______________________________________ 108
IV.3.7. Codification : ____________________________________________________________________ 111
IV.4. Conclusion : ____________________________________________________________ 112
V. IMPLEMENTATION :................................................................................................................ 114
V.1. Introduction : ____________________________________________________________ 114
V.2. Le diagramme de déploiement : _____________________________________________ 115
V.3. Outils de développement :__________________________________________________ 116
V.4. Présentation du prototype réalisé (Imp. écr.) : _________________________________ 118
V.5. Sécurité du système : ______________________________________________________ 125
V.5.1. Vue générale sur le système à sécuriser : _____________________________________________ 125
V.5.2. Facteurs de risque et mesures de sécurité :____________________________________________ 126
V.5.3. Qualités sécuritaires du nouveau système : ___________________________________________ 129
V.6. Conclusion : _____________________________________________________________ 132
VI. CONCLUSION GÉNÉRALE : .................................................................................................. 134
VI.1. Conclusion : ____________________________________________________________ 134
VI.2. Perspectives : ___________________________________________________________ 134
VII. REFERENCES : ........................................................................................................................ 135
VII.1. Bibliographie : _________________________________________________________ 135
VII.2. Webographie :__________________________________________________________ 135
VIII. ANNEXE : ................................................................................................................................ 137
VIII.1. Comment calculer les frais de séjours (montant d’allocation) : _________________ 137
VIII.2. Captcha:______________________________________________________________ 138
VIII.3. Ajax : ________________________________________________________________ 142
Liste des figures
I. INTRODUCTION GENERALE :
Afin de bien suivre le parcours de ses étudiants et chercheurs, l’ESI a décidé de mettre
en place un nouveau système d’information pour sa Direction de la Post Graduation et de la
Recherche (DPGR).
Pour mener notre étude, nous avons adopté le formalisme UML et nous avons suivi la
méthode de développement Object Modeling Technique (OMT), cela en employant les
différents diagrammes du langage UML 2.0.
Dans ce chapitre, après avoir présenté l’école et défini une problématique qui résume le
besoin enregistré, on effectue une étude des différentes structures et postes de travail au
sein de la DPGR :
On présente, dans ce chapitre, le nouveau système à réaliser sur trois axes : fonctionnel
(identification des besoins et interactions avec les acteurs), statique (détermination des
objets manipulés et les relations entre eux) et dynamique (indication des interactions
entre les objets déjà déterminés, et de même pour l’évolution interne de ces derniers).
Ce chapitre a pour objectif de donner plus de détail et moins d’abstraction par rapport ce
qu'a été traité lors de l’analyse. On présente la conception du système (architecture
physique et logique et découpage en sous-systèmes) et la conception des objets (classes
de contrôle, transaction et dialogue et conception des IHM).
2
ESI 2009/2010 INTRODUCTION GENERALE
3
ETUDE DE
L’EXISTANT
ESI 2009/2010 ETUDE DE L’EXISTANT
Après une brève présentation de l’école et de la DPGR, les problèmes ayant initié ce
projet seront rappelés et les objectifs attendus du développement de ce nouveau système
seront présentés.
5
ESI 2009/2010 ETUDE DE L’EXISTANT
Depuis dix-sept ans l’ESI est érigé en centre national d’orientation des nouveaux
bacheliers et il traite des millions de fiches de vœux des nouveaux bacheliers provenant de
toutes les régions du pays et il les oriente selon les critères définis par le ministère de
l’enseignement supérieur et de la recherche scientifique.
6
ESI 2009/2010 ETUDE DE L’EXISTANT
Présentation :
En 2005, l'ESI a intégré l'Ecole Doctorale en se mettant d'accord avec les autres
universités à travers le territoire national pour présenter le même concours d'accès à la post-
graduation et à suivre la même formation. Ce pas a permis d'obtenir une formation homogène
et a donné la possibilité d'accès à l'école doctorale même pour les universités qui ne disposent
pas d'un service de post-graduation et dont les étudiants admis après le concours peuvent
rejoindre l'université la plus proche qui dispose d'un service de post-graduation.
Organigramme de la DPGR :
DPGR
Service de la
Service de la
post-
recherche
graduation
Labo de
Labo post- Ecole Labo de
recherche
graduation doctorale recherche LCSI
LMCS
7
ESI 2009/2010 ETUDE DE L’EXISTANT
Il n’existait pas une gestion automatisée au sens propre du terme pour la DPGR, mais
seulement des opérations qui étaient gérées de façon manuelle et un site web statique, ce qui
rendait impossible toute synthèse ou de disposer d’un quelconque indicateur de gestion ou de
statistiques.
II.3.2. Problématique :
A l’issue d’une brève étude d’opportunité, il s’est avéré que les déficits sont dus à un
ensemble de problèmes dont nous citons:
Afin d’améliorer les fonctions et les processus de travail au niveau de la DPGR, nous
allons concevoir et réaliser un système d’information pour la gérer, permettant de répondre
aux besoins perçus par la DPGR.
Le système à réaliser apportera des solutions pour les problèmes cités ci-dessus et à
toutes les raisons des dysfonctionnements existants.
8
ESI 2009/2010 ETUDE DE L’EXISTANT
Disposer à tout moment d’une trace de toutes les activités scientifique et pédagogique
organisées (formations, stages et congés scientifique) et des projets de recherche
mènes au sein de la direction.
Prendre en charge les différentes post graduation existantes depuis la création d’école
doctorale, en récupérant toutes les données et les injecter dans le nouveau système.
Mettre à la disposition du conseil scientifique toutes les informations nécessaires pour
prendre des décisions concernant la DPGR.
Assurer la disponibilité et la sécurité des informations.
Exploiter les documents archivés pour délivrer des documents administratifs.
Avoir un site évolutif pour la prise en charge des besoins futurs.
Avoir un tableau de bord pédagogique (statistique et historique).
Avoir un outil d’aide pour l’élaboration des emplois du temps et des plannings
(examens, soutenances,…)
Faciliter d’obtenir tous les statistiques de façon automatique et fiable.
Faciliter la récupération de n’importe quelle information concernant n’importe quel
objet.
Minimiser le temps de traitement des différentes procédures en éliminant les
opérations qui se répètent et les redondances des documents.
Sécuriser les informations internes contre les pertes et les modifications erronées.
Garder toutes les traces des opérations qui se déroulent à l’intérieur.
Pour atteindre ces objectifs, nous allons mettre en place un système automatisé, sécurisé et
fiable en vue de bien gérer les différentes procédures internes de la DPGR.
9
ESI 2009/2010 ETUDE DE L’EXISTANT
Valider les mini-projets, les sujets de mémoire de Magister et Doctorat, les projets de
recherche et les activités de recherche.
Assurer les cours de Magister et évaluer les étudiants, participer dans les projets de recherche
et suivre les activités de scientifiques.
Il peut être :
Un magistère : il s’inscrit pour suivre des cours, mène des travaux pratiques et des
projets de mémoire et consulte ses notes, il reçoit des documents administratifs.
Un doctorant : il s’inscrit pour l’obtention du diplôme de doctorat, publie ses travaux
et suit des stages de courte durée, il reçoit des documents administratifs.
10
ESI 2009/2010 ETUDE DE L’EXISTANT
Participer au jury qui évalue les projets de mémoire réalisés par les étudiants.
Procédure Fréquence
Procédure du suivi des concours. Chaque début d’année.
Procédure des inscriptions. Chaque début d’année.
Procédure du suivi des mini-projets et des
Chaque fin d’année.
soutenances.
Procédure de préparation des plannings
(examens, emplois du temps,…).
Procédure des activités scientifiques (stages,
formations, communications).
Procédure du suivi des projets de recherche
Procédure d’élaboration des statistiques Chaque fin d’année.
Tableau 1 : Liste de procédure de travail
Symbole Désignation
Opération / Processus
Décision
Document / Dossier
11
ESI 2009/2010 ETUDE DE L’EXISTANT
Données
Archivage
Validation
Afficher la date du concours, la nature des épreuves avec les durées respectives,
Préciser les conditions à remplir et du dossier à fournir pour l'inscription,
Effectuer l'affichage se fait au niveau de l'ESI, au niveau des universités concernées,
par voie de presse et via le site Internet de l'ESI.
Les intéresses au concours peuvent envoyer leurs dossiers par voie postale ou bien le
déposer directement au niveau de l'ESI. Les candidats ayant rempli les conditions
d'inscription au concours seront enregistrées.
12
ESI 2009/2010 ETUDE DE L’EXISTANT
Edition de la liste des admis et d'une liste d'attente après classement des candidats.
Validation des résultats par le C.S.
Affichage des résultats du concours et contact des admis par email ou courrier.
13
ESI 2009/2010 ETUDE DE L’EXISTANT
Dossier
Traitement de dossier
Liste des
candidats
+
Etablissement
des
convocations
Convocations
Validation
Convocation
Concours
Résultat de
concours
(notes)
Validation
Archivage
14
ESI 2009/2010 ETUDE DE L’EXISTANT
Les candidats figurant sur la liste des admis se présentent pour s'inscrire à la 1ière
année de Magister et ceux qui ne se manifestent pas avant une date limite seront remplacés
par leurs successeurs dans la liste d'attente.
15
ESI 2009/2010 ETUDE DE L’EXISTANT
Formulaire de
confirmation de
l’inscription
(Admis)
Validation
Liste initiale
Liste des admis
Etablir
Certificat scolarité certificat
de
scolarité
Formulaire de
confirmation de
l’inscription
(Attentes)
Validation
Liste finale
des 1ière
années
Archivage
Liste finale
Etablir
Certificat scolarité certificat
de
scolarité
Les jurys proposes par les enseignants ou encadreurs sont constitues. Un jury est compose
d'un président et de deux assesseurs ou plus.
16
ESI 2009/2010 ETUDE DE L’EXISTANT
Selon les disponibilités des membres du jury, le directeur de la DPGR programme le planning
et l’affiche.
Mémoire
Autorisation de
soutenance
(promoteur) Déterminer le jury
Validation
Avis favorable
Procès verbal de
soutenance
(La note du mini-
projet)
Validation
Archivage
17
ESI 2009/2010 ETUDE DE L’EXISTANT
A partir des notes d'examens et des notes des mini projets, on calcule les moyennes des
étudiants.
Délibérations, validation des résultats par le C.S. et édition des bulletins de notes.
Ramener les
notes des
étudiants
Délibération
18
ESI 2009/2010 ETUDE DE L’EXISTANT
Les sujets de mémoire, proposes par les enseignants et valides par le Cs, sont
enregistres.
Après validation des sujets par le Conseil Scientifique, on enregistre les doctorants
inscrits.
19
ESI 2009/2010 ETUDE DE L’EXISTANT
Déterminer le
sujet et le
promoteur
Formulaire
d’autorisation
d’inscription
Validation
Nouvelle inscription
Archivage
Etablir
Certificat scolarité
certificat
scolarité
Demande de
prolongation
Formulaire
d’autorisation de
prolongation
Validation
Prolongation 3ème année
Archivage
Etablir
Certificat scolarité
certificat
scolarité
20
ESI 2009/2010 ETUDE DE L’EXISTANT
Les jurys proposes par les enseignants ou encadreurs sont constitues. Un jury est compose
d'un président et de deux assesseurs ou plus.
Selon les disponibilités des membres du jury, la directrice programme les soutenances et
affiche les plannings.
21
ESI 2009/2010 ETUDE DE L’EXISTANT
Autorisation de
Mémoire
soutenance
+
(promoteur)
5 résumés
Proposer le jury
Traitement
(promoteur)
Validation
Avis favorable
Lecture du
mémoire (jury)
Les rapports de
lecture (jury)
Avis favorable
(président jury)
Procès verbal de
soutenance
Validation
Archivage
22
ESI 2009/2010 ETUDE DE L’EXISTANT
23
ESI 2009/2010 ETUDE DE L’EXISTANT
Article
+
Acceptation Validation du dossier
(Invitation) de la et détermination du
communication Traitement
séjour de la
+ communication
Demande manuscrite
Attestation de
communication
Tableau de frais
d’allocation
+
Tableau de frais
d’inscription
Validation
Nouvelle communication
1 copie de
l’attestation
+
1 copie de
tableaux des frais
Archivage
Retour de la communication
1 copie de
passeport (date
sortie + date
d’entrée)
+ Validation
Attestation de
participation dans
la communication
Archivage
24
ESI 2009/2010 ETUDE DE L’EXISTANT
Demande de stage
+ Validation du dossier
Acceptation de stage Traitement et détermination du
séjour du stage
Attestation de
stage
Tableau de frais
d’allocation
Validation
1 copie de
l’attestation et de
tableau de frais
Nouveau stage
Archivage
1 copie de
passeport (date
sortie + date
d’entrée)
+ Validation
Attestation de
Retour du satge
participation dans
le stage
Archivage
25
ESI 2009/2010 ETUDE DE L’EXISTANT
Si le dossier est complet et que les recommandations ont été respectées, Le directeur de la
DPGR enregistre le nouveau projet propos » et transmet le dossier au Comite National
d'Evaluation et de Programmation de la Recherche Universitaire (C.N.E.P.R.U.) pour la
validation.
Note: lorsqu'un projet est soumis en l'an X, il sera agrée par C.N.E.P.R.U. en l'an X+1 et son
démarrage sera effectif en l'an X+2. (Réglementation actuelle).
Le directeur vérifie si le nombre de chercheurs impliqués dans le projet ne dépasse pas les six
(06), Si c'est le cas, la demande est ensuite envoie au conseil scientifique pour décider.
Après chaque semestre, chaque membre de l'équipe de recherche (y compris le chef du projet)
doit rédiger un rapport individuel d'activité de recherche dûment signé par le chef du projet,
en un seul exemplaire, sur une seule page, selon un canevas bien précis. Le chef du projet doit
rédiger aussi en un seul exemplaire un rapport de synthèse d'activité de recherche (3 pages
maximum) sur la base des rapports individuels.
Un rapport de recherche annuel de chaque projet doit être transmis au C.N.E.P.R.U. pour
évaluation. Pour cela, tous les chefs de projet doivent transmettre au directeur de la D.P.G.R.
leurs rapports annuels (en 3 exemplaires) selon un canevas bien précis. [06 34]
26
ESI 2009/2010 ETUDE DE L’EXISTANT
Archiver
l’accord
Contrat de
recherche
Validation Validation
Suivi chaque semestre
Archiver
Rapport individuel
d’activité de
recherche Validation
Archiver
chaque année
Bilan (Etat
d’avancement) Validation Validation
Archiver
Demande de
prolongation Validation
Prolongation
validation
Acceptation
Enregistre le
Valider
résultat
Finition projet
27
ESI 2009/2010 ETUDE DE L’EXISTANT
Le certificat de scolarité :
La carte d’étudiant :
Le relevé de notes :
28
ESI 2009/2010 ETUDE DE L’EXISTANT
29
ESI 2009/2010 ETUDE DE L’EXISTANT
Elément Valeur
ère
1 année magistère 36
Nombre moyen 2ème année magistère 30
des étudiants
Doctorant 8
Nombre moyen des candidats
100..200
(concours)
Nombre de documents 5
Taux d’erreur (Copier-coller) 5%
Temps moyen pour saisir les
5 minutes
informations d’un candidat / étudiants
Temps moyen pour préparer un
7 minutes
certificat de scolarité
Temps moyen pour préparer un relevé
5 minutes
de notes
Temps moyen pour préparer les
tableaux des frais (stage et 30 minutes
communication)
Temps moyen pour élaborer les
4 jours
statistiques
Tableau 12 : Etude quantitative
Perte du temps.
Causes
Tâches manuelles ou semi manuelles.
Retard dans l’établissement des
Conséquences
documents.
30
ESI 2009/2010 ETUDE DE L’EXISTANT
Lourdeur de la circulation de
l’information
Lourdeur de la circulation de
l’information
Tâches manuelles
Causes Présence de document non mis â jour
Existence de documents mal conçus
Non disponibilité de l’information voulue
Conséquences et fiable en temps voulu
Gestion et suivi de scolarité mal assuré
31
ESI 2009/2010 ETUDE DE L’EXISTANT
Nous pouvant dire que les principaux problèmes soulevés dans l’étude du domaine sont
essentiellement d’ordre informationnel. Nous citerons :
Gestion manuelle :
Retard.
Erreurs sur les documents.
Surcharge de certaines tâches.
II.8.3. Suggestions :
L’étude de l’existant nous a permis de nous rendre compte que la plupart des causes de
dysfonctionnement du système en question sont d’ordre informationnel et organisationnel.
Organisationnel :
32
ESI 2009/2010 ETUDE DE L’EXISTANT
Redéfinir les tâches et responsabilités des différents poste de travail afin d’alléger et
d’équilibrer la charge des postes.
Informationnel :
Technique :
II.9. Conclusion :
Cette étude du système actuel nous permet de déterminer les différents acteurs et leurs tâches
même les anomalies figurants dans le système, donc maintenant on peut procéder à la
conception du nouveau système en commençant par l’étape d’analyse.
33
ANALYSE
ESI 2009/2010 ANALYSE
III. ANALYSE :
III.1. Introduction :
L’analyse, met en place les fondements du système à réaliser en donnant une idée
précise et claire sur ce dernier qui délimite son étendue et son fonctionnement. Cela se fait en
présentant les différents diagrammes (cas d’utilisation, classes, séquences,..), suivant la
méthode de modélisation OMT dont chacun résume et explique un aspect du nouveau système
et son fonctionnement. L’analyse présente une abstraction totale étant indépendante de toute
technologie ou implémentation.
Cette analyse se base sur les résultats de l’étude de l’existant qui nous a permis d'une
part d’évaluer le système actuel en percevant ses besoins, et d'autre part, décrire le bon
comportement que doit avoir le nouveau système.
35
ESI 2009/2010 ANALYSE
Les besoins sont le point de départ pour le développement du nouveau système, ils
doivent traduire ce qu’il va apporter aux utilisateurs, en montrant les différentes
fonctionnalités.
Pour cette phase on a utilisé le diagramme de cas d’utilisation pour bien collecter les
besoins des utilisateurs du nouveau système, et pour cela nous avons procédé comme suit :
Cette phase nous permet de bien connaitre les utilisateurs du nouveau système, chacun
avec son rôle, ainsi que ce que le nouveau système pourra leur apporter.
Définition : Un acteur représente l'abstraction d'un rôle joué par des entités externes
(utilisateur, dispositif matériel ou autre système) qui interagissent directement avec le système
étudié. [ROQ, VAL, 2002].
Remarque : Nous avons utilisé une codification pour les acteurs pour ne pas alourdir les
différents diagrammes qu’on va illustrés ; les acteurs de notre système sont décrits comme
suit :
N° Acteur Code
1 Administrateur du système Administrateur
2 Directeur Général de l’ESI DirecteurESI
3 Le Directeur de la DPGR DirecteurPGR
4 Le Directeur des Etudes DirecteurE
5 Président du Conseil Scientifique PrésidentCS
6 Responsable de l’Ecole Doctorale ResponsableED
7 Agent Administratif AgentAd
Ministère de l’enseignement supérieur et de la
8 MESRS
recherche scientifique
9 Enseignant Enseignant
10 Promoteur Promoteur
11 Membre de jury Membre de jury
12 Etudiant Etudiant
13 Visiteur du site web Visiteur
Tableau 13 : Liste des acteurs du système
36
ESI 2009/2010 ANALYSE
37
ESI 2009/2010 ANALYSE
Dans la figure ci-dessous, nous avons illustré les différents acteurs qui interagissent
dans notre système, et ceci a travers un diagramme de contexte.
Définition :
38
ESI 2009/2010 ANALYSE
Proposition Enseignant
39
ESI 2009/2010 ANALYSE
Soutenance (note,
ResponsableED
mention)
Modification du tableau de montant d’allocation DirecteurESI,
17
ventilé (journal officiel) PrésidentCS
Création
AgentAd, PrésidentCS,
Gestion de projets de
20 Suivi de l’avancement DirecteurESI,
recherche
DirecteurPGR
Résultat
MESRS, DirecteurESI,
DirecteurPGR,
22 Consultation des statistiques
PrésidentCS,
ResponsableED
Tableau 14: Liste des cas d'utilisation du système
Pour documenter les cas d’utilisation, la description textuelle est indispensable, car
elle seule permet de communiquer facilement et précisément avec les utilisateurs. La
description textuelle est également l’occasion de s’entendre sur la terminologie employée,
ainsi que d’identifier le contexte d’exécution de l’un ou de l’autre des enchainements, en
revanche, le texte présente des désavantages puisqu’il est difficile de montrer comment les
enchainements se succèdent; en outre la maintenance des évolutions s’avère souvent
périlleuse.
40
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Gestion des utilisateurs
But Permettre à un utilisateur de se connecter au système.
Acteurs Tous les acteurs de système sauf le visiteur
Description des enchainements
L’utilisateur saisit ses droits d’accès (nom d’utilisateur et mot
Pré-conditions
de passe).
1. L’utilisateur demande une connexion au système.
2. le système demande le login et le mot de passe
Enchainements 3. L’utilisateur entre le login et le mot de passe puis il valide.
4. Le système vérifie l`existence de l`utilisateur.
5. Le système ouvre une session et affiche l’espace personnel
L’utilisateur se connecte au système et peut ainsi accéder aux
Post-conditions
rubriques correspondantes à son profil.
Exceptions Néant.
Besoins d’IHM Utilisation d`un formulaire web
41
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Gestion des utilisateurs
Ce cas d’utilisation permet à l’administrateur de gérer les
But
utilisateurs et leurs privilèges.
Acteurs administrateur
Description des enchainements
Pré-conditions L’administrateur est authentifié.
1. L’administrateur s’authentifie.
2. L’administrateur accède à l’espace des utilisateurs
3. L’administrateur peut modifier, ajouter, consulter les
Enchainements utilisateurs, même peut modifier les privilèges.
4. Le système demande une confirmation de modification.
5. L’administrateur confirme la modification puis il peut se
déconnecter.
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
42
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Publication des messages d’accueil
But Permettre de gérer les messages d’actualités
Acteurs Administrateur, DirecteurPGR, PrésidentCS, ResponsableED
Description des enchainements
Pré-conditions Néant
1. L’utilisateur s’authentifie.
2. L’utilisateur accède à l’espace des messages
3. L’utilisateur peut modifier(le message ce qu’il ajoute sauf
l’administrateur peut modifier n’importe quel message),
Enchainements
ajouter, consulter les messages.
4. Le système demande une confirmation de modification.
5. L’utilisateur confirme la modification puis il peut se
déconnecter.
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
43
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Initialisation de l’année scolaire
But Permettre d’initialiser une année scolaire
Acteurs DirecteurPGR
Description des enchainements
Pré-conditions Néant
1. Le directeur s’authentifie.
2. Le directeur accède à l’espace des années scolaires
3. Le directeur peut modifier, ajouter, consulter les années
Enchainements scolaires.
4. Le système demande une confirmation de modification.
5. Le directeur confirme la modification puis il peut se
déconnecter.
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
44
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Détermination des options et des modules
Permettre de déterminer les options et les modules de concours
But
et scolaire
Acteurs DirecteurPGR, PrésidentCS
Description des enchainements
Pré-conditions L’année scolaire est initialisée.
1. L’utilisateur s’authentifie.
2. L’utilisateur accède à l’espace des options et modules
3. L’utilisateur peut modifier, ajouter, consulter les options et
Enchainements les modules.
4. Le système demande une confirmation de modification.
5. l’utilisateur confirme la modification puis il peut se
déconnecter.
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
45
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Inscription des candidats en ligne
But Permettre d’inscrire les candidats à distance
Acteurs DirecteurPGR
Description des enchainements
Pré-conditions La date d’inscription est arrivée
1. Le candidat accède à l’espace d’inscription des candidats de
concours.
2. Le système affiche un formulaire d’inscription
3. Le candidat remplit ses informations sur le formulaire de
Enchainements
l’inscription
4. Le système demande la confirmation de l’inscription.
5. Le candidat confirme l’inscription.
6. L’agent confirme d’après le dossier envoyé par le candidat
Post-conditions Néant
Dans le cas ou les informations qui sont introduit par le
Exceptions
candidat sont fausses, l’AgentAd peut les corriger
Besoins d’IHM Utilisation d`un formulaire web
46
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Gestion des convocations
Permettre de créer, imprimer et envoyer les convocations aux
But
candidats
Acteurs DirecteurPGR, AgentAd
Description des enchainements
Pré-conditions Le délai de l’inscription est dépassé
1. L’utilisateur s’authentifie
2. L’utilisateur accède à l’espace des convocations
3. Le système affiche le détail de convocation
Enchainements
4. L’utilisateur choisit le (les) candidats(s) concerné(s)
5. Le système demande la confirmation.
6. L’utilisateur confirme la convocation.
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
47
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Affectation des candidats aux salles
But Permettre d’affecter les candidats aux selles
Acteurs DirecteurPGR, AgentAd
Description des enchainements
Pré-conditions La gestion d’inscription des candidats est terminée
1. L’utilisateur s’authentifie
2. L’utilisateur accède à l’espace d’affectation
3. L’utilisateur affecte les candidats aux salles (amphis)
Enchainements
disponible.
4. Le système demande la confirmation.
5. L’utilisateur confirme l’affectation.
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
48
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Détermination de résultat de concours
Ce cas nous permet de saisir les notes et les moyennes
But
obtenus, et la liste des admis et des attentes
Acteurs DirecteurPGR, ResponsableED, PrésidentCS
Description des enchainements
Pré-conditions Néant
1. Le ResponsableED s’authentifie
2. Le ResponsableED accède à l’espace des notes de concours
3. Le système affiche la liste des candidats
4. Le ResponsableED remplit les notes
Enchainements
5. Le système demande la confirmation.
6. Le système affiche la liste des admis et des attentes
automatiquement.
7. Le PrésidentCS accède au résultat de concours et le valide
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
49
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Inscription scolaire
Ce cas nous permet d’inscrire les 1ères années, 2èmes années
But magistère et les doctorants (même la prolongation pour les
2ème années et les doctorants)
Acteurs DirecteurPGR, ResponsableED, PrésidentCS
Description des enchainements
Pré-conditions Néant
1. L’utilisateur s’authentifie
2. Le ResponsableED accède à l’espace inscriptions
3. Le système affiche la liste des étudiants qualifiés à
l’inscription.
Enchainements
4. L’utilisateur confirme l’inscription des étudiants ayant
toutes les conditions pour l’inscription
5. Le système propose à l’utilisateur d’imprimer le certificat de
la scolarité
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
50
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Elaboration des plannings
Ce cas nous permet de préparer les différents plannings
But (concours, emploi du temps, examens, mini-projets,
soutenances)
Acteurs DirecteurPGR, ResponsableED, AgentAd
Description des enchainements
Pré-conditions Néant
1. L’utilisateur s’authentifie
2. L’utilisateur accède à l’espace des plannings
3. Le système affiche la liste des plannings (concours, emploi
du temps, examens, mini-projets, soutenances)
Enchainements
4. L’utilisateur sélectionne un type de planning
5. Le système affiche l’éditeur approprie à la sélection
6. L’utilisateur crée le planning et l’enregistre
7. Le système propose à l’utilisateur d’imprimer le planning
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
51
ESI 2009/2010 ANALYSE
Diagramme :
Figure 15 : Cas d’utilisation N°12 «Gestion d’assiduité des 1ère années magistère »
Description sommaire
Titre Gestion d’assiduité des 1ères années magistère
Ce cas nous permet de suivre l’assiduité des 1ères années
But
magistère
Acteurs AgentAd
Description des enchainements
Pré-conditions Néant
1. L’AgentAd s’authentifie
2. L’AgentAd accède à l’espace des assiduités
Enchainements 3. Le système affiche la liste des étudiants
4. L’AgentAd sélectionne les étudiants absents et enregistre la
liste
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
52
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Introduction du résultat des examens
Ce cas nous permet d’introduire le résultat des examens au
But
système
Acteurs ResponsableED
Description des enchainements
Pré-conditions Néant
1. Le ResponsableED s’authentifie
2. Le ResponsableED accède à l’espace des examens
Enchainements
3. Le système affiche la liste des étudiants
4. Le ResponsableED introduis les notes des étudiants
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
53
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Proposition des projets
Ce cas permet à l’enseignant de proposer un nouveau projet
But
(pour les 1ères années on a le mini-projet)
Acteurs Enseignant
Description des enchainements
Pré-conditions Néant
1. L’Enseignant s’authentifie
2. L’enseignant accède à l’espace des projets et propose un
Enchainements nouveau projet (il introduit le titre et le résumé de ce sujet)
3. Le système affiche une fenêtre de confirmation
4. l’enseignant confirme l’opération
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
54
ESI 2009/2010 ANALYSE
Description sommaire
Titre Affectation des projets aux étudiants
Ce cas permet à l’AgentAd d’affecter les projets aux étudiants
But
d’après leurs choix
Acteurs AgentAd, Enseignant (promoteur)
Description des enchainements
L’étudiant doit avoir les conditions d’accès (admit en 2ième
Pré-conditions magistère pour le projet de magistère, ou il est un magistère
soutenu pour le projet de doctorat)
1. L’AgentAd s’authentifie
2. L’AgentAd accède à l’espace d’affectation des projets aux
étudiants
Enchainements
3. Le système affiche la liste des étudiants et la liste des
projets
4. L’AgentAd affecte un projet par étudiant
Post-conditions Néant
Si l’étudiant est déjà affecté, le système lui demande de
Exceptions
contacter le directeur de la DPGR pour changer son sujet
Besoins d’IHM Utilisation d`un formulaire web
Description sommaire
Titre Gestion du résultat de soutenance
Ce cas nous permet d’introduire le résultat de soutenance (note
But
et mention)
Acteurs ResponsableED
Description des enchainements
Pré-conditions Le cas de suivi de soutenance est terminé
1. Le ResponsableED s’authentifie
2. Le ResponsableED accède à l’espace des soutenances
Enchainements 3. Le système affiche la liste des soutenances programmées
4. Le ResponsableED sélectionne la soutenance et introduit
son résultat
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
55
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Modification du tableau de montant d’allocation ventilé
Ce cas nous permet de modifier du tableau de montant
But
d’allocation ventilé
Acteurs DirecteurESI, PrésidentCS
Description des enchainements
Pré-conditions L’activité est déjà crée
1. L’utilisateur s’authentifie
2. L’utilisateur accède à l’espace de tableau de montant
d’allocation ventilé
Enchainements 3. Le système affiche le tableau et donne la possibilité de le
modifier
4. L’utilisateur fait la modification et enregistre sa
modification
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
56
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Création d’un nouveau stage ou une nouvelle communication
Ce cas nous permet de créer un nouveau stage ou une nouvelle
But
communication
Acteurs DirecteurESI, PrésidentCS
Description des enchainements
Pré-conditions Néant
1. L’utilisateur s’authentifie
2. L’utilisateur accède à l’espace de stage/communication
3. L’utilisateur demande une création de nouveau stage
Enchainements 4. Le système affiche un formulaire de stage
5. l’utilisateur remplit les informations du stage
5. le système demande une confirmation
6. l’utilisateur enregistre le nouveau stage
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
57
ESI 2009/2010 ANALYSE
Description sommaire
Titre Détermination du résultat de stage ou de communication
Ce cas nous permet de déterminer le résultat de stage ou de
But
communication
Acteurs DirecteurESI, PrésidentCS
Description des enchainements
Pré-conditions Néant
1. Le PrésidentCS s’authentifie
2. Le PrésidentCS accède à l’espace de stage/communication
Enchainements 3. Le système affiche la liste des stages en cours
4. Le PrésidentCS sélectionne le stage/communication et
introduit son résultat
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
58
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Création d’un nouveau projet de recherche
But Ce cas permet de crée un nouveau projet de recherche
Acteurs Enseignant
Description des enchainements
Pré-conditions Néant
1. L’Enseignant s’authentifie
2. L’enseignant accède à l’espace des projets et propose un
Enchainements nouveau projet (il introduit le titre et le résumé de ce sujet)
3. Le système affiche une fenêtre de confirmation
4. l’enseignant confirme l’opération
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
59
ESI 2009/2010 ANALYSE
Description sommaire
Titre Suivi des projets de recherche
Ce cas permet de suivre un projet de recherche chaque
But
semestre
Acteurs PrésidentCS
Description des enchainements
Pré-conditions Néant
1. Le PrésidentCS s’authentifie
2. Le PrésidentCS accède à l’espace de projets de recherche
3. Le PrésidentCS choisit le projet concerné
Enchainements
4. Le PrésidentCS mis à jour les informations du projet
5. Le PrésidentCS enregistre les informations
6. Le système affiche une fenêtre confirmant l’enregistrement
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
Description sommaire
Titre Détermination du résultat de projet de recherche
Ce cas nous permet de déterminer le résultat d’un projet de
But
recherche
Acteurs PrésidentCS
Description des enchainements
Pré-conditions Néant
1. Le PrésidentCS s’authentifie
2. Le PrésidentCS accède à l’espace de projets de recherche
Enchainements
3. Le système affiche la liste des projets
4. Le PrésidentCS sélectionne le projet et introduit son résultat
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
60
ESI 2009/2010 ANALYSE
Diagramme :
Description sommaire
Titre Consultation des statistiques
But Ce cas nous permet de consulter les statistiques
Acteurs DirecteurESI, Président CS, DirecteurPGR, MESRS, AgentAd
Description des enchainements
Pré-conditions Néant
1. L’utilisateur s’authentifie
2. L’utilisateur accède à l’espace de statistiques
Enchainements 3. Le système affiche la fenêtre contenant le détail de
statistiques
4. L’utilisateur peut consulte ou télécharger les statistiques
Post-conditions Néant
Exceptions Néant
Besoins d’IHM Utilisation d`un formulaire web
61
ESI 2009/2010 ANALYSE
62
ESI 2009/2010 ANALYSE
63
ESI 2009/2010 ANALYSE
64
ESI 2009/2010 ANALYSE
65
ESI 2009/2010 ANALYSE
Cette phase doit déterminer le modèle statique du système qui consiste à déterminer
les objets, leurs attributs et leurs méthodes ainsi que les relations qui relient ces objets.
Pour bien présenter les objets du nouveau système, on a fait une description des objets
de leurs caractéristiques ainsi que les relations qui existent entre eux représentés par cas
d’utilisation, et pour cela nous avons procédé comme suit :
Etablissement
Modules Etudiants
Universitaires
Années
Niveaux Wilayas
Universitaires
Type Projet
Mémoire Promoteur
Recherche
Rapport
Laboratoire Etablissement
Avancement
Activité Catégorie
Type Activité
Scientifique Pays
Montant
Module Concours Etat Etudiant
Allocation
66
ESI 2009/2010 ANALYSE
67
ESI 2009/2010 ANALYSE
68
ESI 2009/2010 ANALYSE
69
ESI 2009/2010 ANALYSE
70
ESI 2009/2010 ANALYSE
71
ESI 2009/2010 ANALYSE
72
ESI 2009/2010 ANALYSE
73
ESI 2009/2010 ANALYSE
adrEtd L’adresse
communeNaiss La commune de la naissance
paysEtd Pays de la nationalité
telEtd Numéro de téléphone
emailEtd L’adresse Email
etbEtd L’établissement mère
Nouveau, scolarisé, exclu, soutenu magister,
etatEtd
soutenu doctorat
photoEtd La photo d’identité
idMod Séquentiel
abrvMod L’abréviation
Module
nomMod Nom du module
typeMod De concours, scolaire
idNiv Séquentiel
Niveau Actuellement : 1e et 2e magister et 1e, 2e et 3e
descNiv
doctorat
idOpt Séquentiel
abrvOpt L’abréviation
Option
nomOpt Le nom
aunOpt L’année d’intégration
idPays Séquentiel
Pays nomPays Le nom
catPays
idPriv Séquentiel
Privilège
descPriv Description du privilège
idSalle Séquentiel
Salle nomSalle Le nom
capaciteSalle La capacité
idUser Séquentiel
loginUser Le Login
pwUser Le mot de passe
Utilisateur
nomUser Le nom
prénomUser Le prénom
isBloque L’état de compte (actif, bloqué)
74
ESI 2009/2010 ANALYSE
typeUser Administrateur
idWil Le code de la wilaya
Wilaya
nomWil Le nom
idSurv Séquentiel
Surveillant nomSurv Le nom
prenomSurv Le prénom
idProm Séquentiel
gradeProm VAC, MAB, MAA, MCB, MCA, PR
Promoteur isExterne Si le promoteur est externe.
nomProm Le nom
prénomProm Le prénom
idSnc Code de la séance ex. : SA1, SA2, DI1,…
typeSnc De concours, scolaire, examen
Séance
heureDebutSnc L’heure début
Durée La durée de la séance
idAbs Séquentiel
Absence dateAbs La date
etatAbs Justifié, non justifié
idSanc Séquentiel
Sanction
descSanc La description
idPrj Séquentiel
intituléPrj L’intitulé du projet
résumePrj Le résumé
75
ESI 2009/2010 ANALYSE
nomLab Le nom
abrvLab L’abréviation du laboratoire
idRpt Séquentiel
Rapport
dateDepot Date dépôt
avancement
descRpt Description d’état d’avancement
76
ESI 2009/2010 ANALYSE
77
ESI 2009/2010 ANALYSE
Figure 33. Diagramme de séquence N°1 : Affection des candidats aux salles
78
ESI 2009/2010 ANALYSE
79
ESI 2009/2010 ANALYSE
80
ESI 2009/2010 ANALYSE
81
ESI 2009/2010 ANALYSE
Figure 41. Diagramme de séquence N°9 : Gestion des options et des modules
82
ESI 2009/2010 ANALYSE
Figure 42. Diagramme de séquence N°10: Gestion des options et des modules
83
ESI 2009/2010 ANALYSE
Figure 44. Diagramme de séquence N°12 : Création d'une nouvelle communication (stage)
84
ESI 2009/2010 ANALYSE
85
ESI 2009/2010 ANALYSE
86
ESI 2009/2010 ANALYSE
87
ESI 2009/2010 ANALYSE
III.5. Conclusion :
Au cours de l’étape de l’analyse nous avons donné une synthèse sur l’axe fonctionnel
par la détermination des acteurs, une brève description des cas utilisation, le regroupement des
cas et la définition de quelques relations d’extension et d’inclusions entre cas d’utilisation.
Nous avons élaboré le modèle statique globale et le modèle dynamique global. Donc nous
avons préparé le projet pour l’étape suivante qui est la conception pour proposer des solutions
concrètes pour le problème posé.
Au cours de la phase d’analyse, nous nous sommes concentrés sur ce qui devait être
fait, le quoi, indépendamment de la manière de le faire, le comment. Au cours de la
conception, des décisions doivent être prises concernant la façon de résoudre le problème,
d’abord à un niveau général, puis à des niveaux de détail de plus en plus fins [ROQ, VAL,
2002].
88
CONCEPTION
ESI 2009/2010 CONCEPTION
IV. CONCEPTION :
IV.1. Introduction :
La conception du nouveau système vient donner suite à l’analyse qui l’a préparé en
présentant les deux modèles statique et dynamique. Cela en enlevant cette abstraction qui a
caractérisé l’analyse pour présenter clairement la conception du système et aussi de même
pour la conception des objets.
90
ESI 2009/2010 CONCEPTION
L’architecture fournit le contexte dans lequel seront prises des décisions plus
détaillées, au cours des phases ultérieures de conception. En prenant des décisions de haut
niveau s’appliquant au système entier, le concepteur effectue une partition du problème en
sous-systèmes, afin que les travaux suivants puissent être assurés par plusieurs concepteurs
travaillant indépendamment sur des sous-systèmes différents [ROQ, VAL, 2002].
Comme le système est une solution web, les différents utilisateurs devront se
connecter par internet pour pouvoir accéder à leurs comptes respectifs.
91
ESI 2009/2010 CONCEPTION
Facilité d’utilisation : Utiliser le système se résume à cliquer sur les liens, suivre les
instructions et consulter les résultats et les rapports sur des pages WEB.
Sécurité des données : Les données sont stockées au niveau de serveur protégé et tout accès
est tracé et sécurisé. Ces données se voient traitées localement sans être transférées par
internet qu’en cas de besoin (des cas particuliers avec un nombre réduit) pour diminuer
le risque qu’elles soient interceptées ;
Intégrité des données : Le système gère la consultation, l’ajout et la suppression des données
au niveau des différents serveurs de données, de façon à éviter les contradictions et les
redondances (qui peuvent être permises suivant le besoin) ;
Performant : SQL Server se classe parmi les SGBDR les plus rapides
Evolutif et fiable : vous pouvez répartir la charge sur plusieurs serveurs, bénéficier des
avantages des systèmes multi-processeurs (SMP – Sysmetric Multi Processing) et profiter des
performances de Windows DataCenter Server qui supporte 32 processeurs et 64 GO de ram).
92
ESI 2009/2010 CONCEPTION
ASP et plus récemment ASP.NET sont les deux technologies de développement Web de
Microsoft. Toutes deux sont nativement supportées par le serveur IIS (versions récentes d'IIS
seulement pour l’ASP.NET). La consultation des articles éponymes offre plus de détails quant
à la construction, au fonctionnement et au développement de ces langages.
À son lancement le 1er avril 2004, l'inscription nécessitait une invitation. Deux ans plus tard,
la version bêta fut ouverte au public. À l'époque, avec une capacité initiale de 1 GO (Environ
7 456 Mo maintenant). La capacité de stockage a augmenté de 6 GO en 5 ans. Depuis le 7
juillet 2009, le service n'a plus le statut de bêta.
93
ESI 2009/2010 CONCEPTION
Dans le cas du succès, le système génère un accès pour cet utilisateur et enregistrant les
informations nécessaire suivantes : le login, le date de l’accès et les informations
concernant le poste de connexion telle que l’adresse IP et l’adresse MAC.
La dernière étape consiste à charger l’application à base du profil de l’utilisateur, donc une
classe .NET va charger les données qui composent l’arborescence des objets, les
composants du menu général les menus secondaires, les pages et les panneaux
d’affichage. Mais aussi les droits pour les opérations du MAJ sous forme du bottons
de validation est ce qu’ils apparaissent dans les pages appropriées ou pas.
94
ESI 2009/2010 CONCEPTION
Les fonctionnalités du système sont basées sur les cas d’utilisation de l’étape de l’analyse et
sont regroupées en modules qui forment les sous-systèmes.
Donc dans la conception : les package seront transformés en sous système et les cas
d’utilisation en module et les modules englobent un certain nombre de fonctionnalités. La
figure suivante décrit la hiérarchie :
95
ESI 2009/2010 CONCEPTION
Gestion des
Mise à jour des enseignants (chercheurs).
enseignants.
96
ESI 2009/2010 CONCEPTION
Gestion emploi du
Saisie et consultation des emplois de temps
temps.
par option.
Plannings
Gestion des
plannings de Saisie et consultation des plannings de
concours et des concours et des examens.
examens
Gestion des
Saisie et consultation des plannings de
plannings de
soutenances.
soutenances
Elaboration des
Statistiques et Elaborer et consulter les statistiques et les
statistiques et des
rapports rapports.
rapports
97
ESI 2009/2010 CONCEPTION
Remarque :
Le sous-système « Administration » :
Il prend en charge principalement les activités de l’administrateur qui se résument à toutes les
opérations qui paramètrent et préparent le système dans son fonctionnement ainsi que sa
supervision.
Le module « Gestion des utilisateurs » : Il permet de gérer les profils des utilisateurs(gestion
des privilèges et informations pour chaque profil) et leurs comptes (création, modification et
mise à jour, suppression, suspension, …etc.), et d’avoir accès aux historiques et traces
des opérations effectuées par les utilisateurs.
98
ESI 2009/2010 CONCEPTION
Les classes métier, qui proviennent directement du modèle du domaine, sont qualifiées
d’entités. Ces classes sont généralement persistantes, c’est-à-dire qu’elles survivent à
l’exécution d’un cas d’utilisation particulier et qu’elles permettent à des données et des
relations d’être stockées dans des fichiers ou des bases de données. Lors de l’implémentation,
ces classes peuvent ne pas se concrétiser par des classes mais par des relations, au sens des
bases de données relationnelles [ROQ, 2002].
Les classes qui permettent les interactions entre l’IHM et les utilisateurs sont qualifiées de
dialogues. Ces classes sont directement issues de l’analyse. Il y a au moins un dialogue pour
chaque association entre un acteur et un cas d’utilisation du diagramme de cas d’utilisation.
En général, les dialogues vivent seulement le temps du déroulement du cas d’utilisation
concerné [ROQ, 2002].
Les classes qui modélisent la cinématique de l’application sont appelées contrôles. Elles font
la jonction entre les dialogues et les classes métier en permettant aux différentes vues de
l’application de manipuler des informations détenues par un ou plusieurs objets métier. Elles
contiennent les règles applicatives et les isolent à la fois des dialogues et des entités [ROQ,
2002].
On ajoutera aussi des associations entre les classes d'analyse, mais avec des règles strictes :
Les dialogues ne peuvent être reliés qu’à des contrôles ou d’autres dialogues. En
général, les associations sont unidirectionnelles, de dialogue vers contrôle.
Les entités ne peuvent être reliées qu’aux contrôles ou à d’autres entités. Toujours
unidirectionnelles et dans le sens de contrôle vers entité.
Les contrôles ont accès à tout type de classe, y compris d’autres contrôles.
Les acteurs peuvent aussi être rajoutés à ces diagrammes, un acteur ne pouvant être
relié qu’à un dialogue.
99
ESI 2009/2010 CONCEPTION
Après avoir éliminé l’abstraction qui caractérisait l’analyse et pris conscience des
spécifications de l’implémentation et ce qui en résulte, on peut finaliser les classes d’objet et
les classes d’association en apportant des modifications et quelques ajouts.
100
ESI 2009/2010 CONCEPTION
101
ESI 2009/2010 CONCEPTION
102
ESI 2009/2010 CONCEPTION
103
ESI 2009/2010 CONCEPTION
MCA, PR
isExterne Booléen Si le promoteur est externe.
nomProm Varchar(50) Le nom
prénomProm Varchar(50) Le prénom
Code de la séance ex. : SA1,
idSnc Char(3)
SA2, DI1,…
Séance heureDebutSnc Heure L’heure début
Durée Int La durée de la séance
idAbs Int Séquentiel
Absence dateAbs Date La date
etatAbs Enum Justifié, non justifié
idSanc Int Séquentiel
Sanction
descSanc Text La description
idPrj Int Séquentiel
intituléPrj Varchar(100) L’intitulé du projet
résumePrj Text Le résumé
probPrj Text Les problématiques
Projet
objPrj Text Les objectifs
etatPrj Enum Nouveau, En cours, fini
Mémoire magister, thèse
typePrj Enum doctorat, mini projet, projet
de recherche
idSout Int Séquentiel
datePrévueSout Date La date prévue
Soutenance dateEffectSout Date La date effective
noteSout Float La note de soutenance
décisionSout Enum Passable, assez-bien, bien,…
idLab Int Séquentiel
Laboratoire nomLab Varchar(200) Le nom
abrvLab Varchar(7) L’abréviation du laboratoire
idRpt Int Séquentiel
Rapport dateDepot Date Date dépôt
avancement
Description d’état
descRpt Text
d’avancement
Tableau 17 : Les classes d'objet
104
ESI 2009/2010 CONCEPTION
105
ESI 2009/2010 CONCEPTION
Une classe défini une structure de données à laquelle souscrivent les instances ; elle
correspond donc à une table du modèle relationnel : chaque attribut donne lieu à une colonne,
chaque instance stocke ses données dans une ligne (T-uplet) et son OID sert de clé primaire.
Certains attributs de type complexe ne correspondent a aucun des type de SQL, on rencontre
fréquemment ce cas pour les attributs représentant une structure de données. Un type
complexe peut être conçu :
Soit avec une table spécifique dotée d’une clé étrangère pour relier les insistances aux valeurs
de leur attribut complexe.
106
ESI 2009/2010 CONCEPTION
107
ESI 2009/2010 CONCEPTION
traces.
Gestion de l'assiduité. AssSncCC
Activités Inscription et réinscription des
InscrCC
pédagogique étudiants et candidat.
s Gestion des notes NoteCC
Gestion des délibérations (passage) DelibCC
Gestion emploi du temps. ETempsCC
Plannings Gestion des plannings de concours et
PlanningCC
des examens
Gestion des plannings de soutenances PlanningCC
Statistiques Elaboration des statistiques et des
StatRptCC
et rapports rapports
Activités Gérer les séjours scientifiques SejourScCC
scientifiques Gérer les stages de courte durée ScdCC
Projets de
Gérer les projets de recherche PRechCC
recherche
Tableau 21 : Liste des classes de contrôle
Pour compléter la définition du système, nous allons énumérer les interfaces des composants
en vue de donner une description sommaire de ce que réalise le composant dans le système.
Le tableau suivant illustre une première définition des interfaces des composants recenses (par
convention, tour les noms des interfaces sont précèdes d'un I, comme suggère dans [UML en
action, page 239]):
Interface (formulaire
Application Description des responsabilités
web)
Permet de créer un nouveau concours,
les épreuves à passer, les spécialités et
Définition du concours les modules à ouvrir et en spécifiant les
places disponibles dans chaque
spécialité.
Gérer les épreuves : créer, modifier,
Editeur des épreuves rechercher...
Concours
Permet au candidat d’inscrire en ligne
Inscription en ligne en saisissant un formulaire de
renseignement.
Permet de rechercher, ajouter, modifier,
Gestion des candidats supprimer des candidats au concours,
valider l’inscription en ligne.
Listes des admis et listes Visualiser, imprimer les listes des admis
d'attente par spécialité et les listes d'attente par spécialité.
108
ESI 2009/2010 CONCEPTION
109
ESI 2009/2010 CONCEPTION
110
ESI 2009/2010 CONCEPTION
IV.3.7. Codification :
A : Année
B : Année
Ex. : 2009/2010
Code de l’étudiant :
A : Année d’entrée
B : Code de l’option
C : Numéro séquentiel
Ex. : 09IRM06
Code de séance :
B : Numéro séquentiel
Remarque : Pour le reste des objets de la base de données le code proposé est un code
séquentiel.
111
ESI 2009/2010 CONCEPTION
IV.4. Conclusion :
112
IMPLEMENTATION
ESI 2009/2010 IMPLEMENTATION
V. IMPLEMENTATION :
V.1. Introduction :
La réalisation vient couronner les phases précédentes, donnant un aspect tangible aux
suggestions présentées lors de l’étude de l’existant et une forme concrète à la conception.
Afin de présenter le prototype réalisé, on utilise des prises d’écrans (Imp. Ecr.)
pour figurer le travail fait et d’illustrer les grandes et principales fonctionnalités du système.
Cela est fait suivant l’architecture logique du système (répartition en sous-systèmes et
modules).
114
ESI 2009/2010 IMPLEMENTATION
Le modèle de déploiement considère plutôt chaque nœud comme une poste de travail. Il
exprime la répartition physique des fonctions métier du système et permet de justifier la
localisation de la base de données et des environnements du travail. Le modèle de
déploiement aide à préciser la qualification des postes client, des réseaux et de leur sécurité
physique, par rapport à des critères fonctionnels [ROQ, VAL, 2002].
115
ESI 2009/2010 IMPLEMENTATION
Présentation de la plateforme.Net :
Microsoft propose une vision très simplifiée des services Web pour le développeur. En .Net, il n’existe
qu’un seul environnement d’exécution à savoir le couple IIS / ASP.Net.
Microsoft une solution complète pour le développement de web services (tous les standards sont
intégrés dans la plateforme)
116
ESI 2009/2010 IMPLEMENTATION
Il a été créé afin que la plate-forme Microsoft .NET soit dotée d'un langage
permettant d'utiliser toutes ses capacités. Il est très proche du Java dont il reprend la syntaxe
générale ainsi que les concepts (la syntaxe reste cependant relativement semblable à celles de
langages tels que le C++ et le C). Un ajout notable à Java est la possibilité de surcharge des
opérateurs, inspirée du C++. Toutefois, l'implémentation de la redéfinition est plus proche de
celle du Pascal Objet.
On a utilisé des tables qui fonctionnent avec la méthode AJAX, l'avantage de cette méthode
est essentiellement la vitesse à laquelle une application AJAX répond aux actions de
l'utilisateur, qui sont traitées (en partie au moins) localement par le navigateur. [OBOUT
2010]
117
ESI 2009/2010 IMPLEMENTATION
Page d’accueil :
Page d’authentification :
118
ESI 2009/2010 IMPLEMENTATION
119
ESI 2009/2010 IMPLEMENTATION
120
ESI 2009/2010 IMPLEMENTATION
121
ESI 2009/2010 IMPLEMENTATION
122
ESI 2009/2010 IMPLEMENTATION
Pour modifier les informations d’un étudiant, il suffit de cliquer sur le bouton
« modifier », le système affiche le formulaire suivant :
123
ESI 2009/2010 IMPLEMENTATION
124
ESI 2009/2010 IMPLEMENTATION
La télécommunication est un domaine qui utilise des moyens technologiques avancés assurant
une disponibilité quasi-permanente, ce qui intensifie la vulnérabilité de n’importe quel
système d’information en relation avec, et là, ce dernier se voie face à différents risques qui
peuvent lui porter atteintes et diverses menaces qui peuvent nuire à son bon
fonctionnement et aux intérêts de ses utilisateurs, surtout dans le cas où ce système traite des
informations de la plus grande importance et la plus majeure sensibilité.
A l’instar de tout système baignant dans ces conditions, notre système est dans l’obligation
de prendre des précautions et des mesures qui le permettront de faire face à toutes ses
menaces et surtout de protéger les informations qu’il traite et la confidentialité qui découle de
leurs natures sensible, étant des informations portant sur la vie privée des enseignants et
étudiants de l’ESI (DPGR).
Notamment ses mesures seront prises selon le besoin qui se présente que ce soit au sein du
système lui-même, concernant le matériel utilisé pour son implémentation, avec ceux qui
auront accès à ses fonctionnalités et de même pour l’environnement qui en sera le
réceptacle.
Pour assurer ces tâches indispensables en matière de sécurité, on a besoin de dénombrer ces
risques et de les classifier pour tracer un plan pour les changements à faire, les solutions à
préconiser et les dispositifs à mettre en œuvre.
Un système disponible par internet, installées sur un serveur d’application et utilisées par
des utilisateurs de l’ESI et de la DPGR après authentification et par des internautes
(inscription au concours en ligne) sans authentification.
Des informations (sensibles) concernant les étudiant, les enseignants, leurs cursus, leurs
projets, ainsi que concernant les utilisateurs en relation avec le système et leurs comptes,
hébergées dans une bases de données implémentées sur un serveur de base de données au
niveau de la DPGR et disponibles aux interrogations faites à la demande des utilisateurs
connectés par internet (par le biais de l’application).
125
ESI 2009/2010 IMPLEMENTATION
On peut classer les différents facteurs de risque qui représente un danger pour notre
système en trois principales catégories.
Les accidents :
Ce sont les risques qui ne peuvent être totalement prédis et qui résultent des facteurs
d’environnement du système au sein de la direction et se présentant hors son
utilisation causant des dommages physiques et/ou logiques :
Installer les serveurs d’application et de données dans des bâtisses construites selon les
normes mondiales anti-séisme.
Des bâtisses dotées de systèmes anti-incendie (alarmes, détecteurs de flammes
et dispositifs d’extinction automatiques et manuels à la fois).
Dotées de systèmes d’évacuation de l’eau et étanchéité (surtout pour les salles des
serveurs) contre les inondations.
Définir une politique de sauvegarde d’urgence (environnement logiciel et interne du
système et des bases de données) se déclenchant automatiquement en cas de
catastrophe.
Définir une conduite à tenir pour le personnel pour éviter les accidents, et en ce qui
concerne les étapes d’intervention pour la protection des installations en cas de
catastrophe pour assurer rapidité, calme et efficacité.
Louer les services de spécialistes en la sécurité des installations (entreprises
spécialisées, experts, conseillers, …etc.)qui peuvent préconiser et/ou effectuer la
mise en place de ses dispositifs.
126
ESI 2009/2010 IMPLEMENTATION
Les erreurs :
Ce sont des risques qui peuvent survenir lors de l’utilisation du système. Généralement
émanant des utilisateurs mêmes, elles causent essentiellement des dommages touchant
l’intégrité des données et leur exactitude. Mais notamment, elles peuvent résulter des
opérations faites pendant les interactions entre les différents sous-systèmes :
Erreurs de saisie commises par les utilisateurs (lors de la création d’un compte
utilisateur, inscription des candidats, …etc.) et faites par manque d’attention ou
causées par des problèmes d’ergonomie, de fatigue des agents, d’incommodité des
conditions de travail, …etc.
Erreurs de manipulation et d’exploitation par les utilisateurs comme dans
l’accomplissement de tâches inappropriées (suivi d’un projet de recherche,
élaboration des statistique, …etc.) celles là pouvant être causées par
l‘incompréhension des notions et règles en vigueur ou manque de maîtrise du système.
Erreurs se produisant en dehors de l’utilisation du système par les utilisateurs mais
plutôt engendrer par l’interaction des sous-systèmes (gestion des concours, gestion
de la scolarité, …etc.).
Afin d’éviter ce genre d’erreurs et fautes, et après prise en compte de leurs causes, on peut
adopter les recommandations suivantes :
Entamer une période d’essai ou une sorte de mise à l’épreuve avant la mise en
service qui permettra d’évaluer le système et sa stabilité et aussi de voir et détecter
d’éventuelles défaillances ou anomalies.
Améliorer l’ergonomie et assurer la continuité de son évolution pour toujours fournir
aux utilisateurs un système qui peut être considérer comme facile à exploiter.
Suivie permanent des connexions et de la bonne marche des transmissions
nécessaires pour le fonctionnement du système.
Pourvoir les utilisateurs de manuels d’aide et de support disponibles constamment
pour les accompagner durant leur exploitation du système (des explications
d’opérations transcrites, des pages interactives ou même des vidéos et tutoriaux).
Suivie des opérations exécutées (par les utilisateurs) par des superviseurs (en
l’occurrence les chefs et les administrateurs) pour diminuer le nombre d’erreurs
commises par inadvertance ou même par manque de maîtrise.
Politique de sauvegarde quotidienne.
127
ESI 2009/2010 IMPLEMENTATION
Les malveillances :
Ce sont les menaces les plus dangereuses et les plus destructrices (relativement), parce
qu’elles émanent des intentions hostiles de malveillants qui veulent volontairement nuire à la
bonne marche du système, voler ou détruire des informations confidentielles ou même
porter préjudice à la DPGR, on cite les malveillances suivantes :
Et pour prévenir de tels actes, les stopper et diminuer les dégâts qu’ils peuvent causer, il faut
s’orienter vers une politique de protection efficace pour le système entier :
128
ESI 2009/2010 IMPLEMENTATION
Confidentialité :
Etant un aspect capital du système, la confidentialité rassemble toutes les procédures qui
limitent le nombre des personnes pouvant accéder au système :
Sécurité Physique :La DPGR dispose pour sa part d’une panoplie de moyens qui l’aide
à protéger ses installations (salles de serveurs, matériel de connexion, …etc.)et cesmoyens
font la majorité des éléments cités ci-dessus en terme de sécurité physique contre les risque
d’accidents, d’erreur ou même de malveillance.
Sécurité logique : Comme les données traitées lors des inscriptions et délibérations sont de
la plus grande importance (portant principalement sur la vie privée des personnes), elles
exigent un degré élevé de discrétion et de confidentialité.
Restriction des accès : Les accès au système et ses différentes parties sont limités
selon la fonction de l’utilisateur, ce qui est réalisé au moyen d’un système de
gestion de profils. Ces derniers sont assignés à chaque compte utilisateur pour en
déterminer les opérations lui étant permises et les sections lui étant accessibles dans
les applications. Seul un administrateur peut créer, modifier, suspendre un
compte utilisateur et lui affecter le profil approprié. Ainsi, quand l’utilisateur se
connecte au système, il a affaire à un nombre réduit de liens et de pages
correspondant à son profil d’accès.
129
ESI 2009/2010 IMPLEMENTATION
déclaration,…)
Validation des activités scientifiques Mise à jour
Elaboration des statistiques Consultation
Elaboration des déférents plannings Mise à jour
Responsable de Validation des notes de concours et examen Mise à jour
l’école doctorale Suivi des soutenances Mise à jour
Impression des déférents documents
Consultation
administratifs
Agent Inscription des candidats au concours et des
administratif Mise à jour
étudiants
Gestion des assiduités et sanctions Mise à jour
Consultation de l’actualité (les derniers
Consultation
Candidat messages publiés par la DPGR)
Inscription en ligne au concours Mise à jour
Tableau 23 : Liste des modules autorisés avec type d’accès par profil
Sécurité des données : En combinant les dispositifs pour la protection des données
déjà en vigueur au sein de la DPGR et ceux proposés avec notre système on a la
liste suivante :
Politique de sauvegarde assurant la sûreté des données en effectuant une copie des
bases de données sur des cartouches (sorte de disque de sauvegarde) avec une
capacité qui dépasse les cinq cents Giga-octets (500 GO) par équipement de
gravure (appelé en l’occurrence le robot qui est une sorte de station de gravure)
cela de façon quotidienne.
Cryptage des données transmises sur internet entre l’application et la base de
données.
Utiliser la forme Captcha pour protéger le système contre
l’inscription en ligne des candidats au concours par des
programmes malicieux (Un captcha est une forme de test de Turing permettant de
différencier de manière automatisée un utilisateur humain d'un ordinateur).
Munir les serveurs de Firewall professionnel tel celui proposé (Microsoft Internet
Security & Acceleration Server 2004).
Sécurité de l’application : Afin de protéger le système on se tient aux indications
suivantes :
Gestion des rôles sur le site WEB (pour accompagner le système de gestion des
profils d’accès) effectuée au niveau de l’ASP.Net ainsi que la fermeture de session
en dépassement de durée de non activité permise.
Contrôle des données et informations introduites au système lors de son
exploitation pour contrer toute tentative de sabotage ou faute dolosive ou non
intensionnelle (formes régulières, injections SQL, …etc.), cela grâce aux
différentes classes de contrôle déjà présentées.
130
ESI 2009/2010 IMPLEMENTATION
Intégrité :
Redondance justifiée et réfléchie : Les redondances et les répétitions des données ont été
faites en se basant sur les besoins qui se sont présentés afin d’optimiser l’exploitation de ces
données et du système entier à la fois.
Contrôles de champs : Les champs sont contrôlés pour diminuer les fautes commises lors de
la saisie par les utilisateurs.
Disponibilité :
131
ESI 2009/2010 IMPLEMENTATION
V.6. Conclusion :
Penser que la réalisation met fin à l’élaboration d’un bon système d’information, tel le
sujet de cette étude, est une idée complètement fausse. Parce qu’il faut préciser que la
réalisation vient couronner les phases précédentes mais n’est en aucun cas la dernière,
plutôt c’est la transition entre la partie préparation et étude du système, et son exploitation et
utilisation, et comme constaté au cours de l’étude des risques et mesures à prendre et ce qui en
suit du côté du système, c’est confirmé qu’il faut continuer à le suivre et le superviser, en sus
de se tenir aux recommandations et indications qui le protégeront des dangers le
guettant.
Il faut aviser le personnel des politiques suivies, les former et en créer des
sanctions pour punir tout dépassement pour garantir l’efficience de ces mesures prises.
132
CONCLUSION
GENERALE
ESI 2009/2010 CONCLUSION GENERALE
Le travail que nous avons effectué consiste à concevoir et réaliser un site web
dynamique pour la gestion de la DPGR de notre école (ESI).
Nous avons réussi à développer un site web qui couvre pratiquement toute les activités
pédagogiques pertinentes de la DPGR tout en profitant les avantages des TIC. Et pour sa
réalisation nous avons suivi une méthode itérative composée de trois étapes : analyse,
conception et réalisation.
Dans l’analyse nous avons spécifié plusieurs cas d’utilisations, nous avons organisé
ces cas en 4 paquets : Suivi de cours, concours d’entrée à l’école doctorale, suivi des activités
scientifique et projet de recherche, et la gestion électroniques des documents.
Comme notre système doit fonctionner en réseau local, nous avons choisi une
architecture web pour le développement (architecture trois tiers) qui est la plus appropriée,
cela offre plusieurs avantages : la sécurité des données, la facilité de déploiement, …
VI.2. Perspectives :
134
VII. REFERENCES :
VII.1. Bibliographie :
[ROQ, 2002] Pascal Roques, Les cahiers du programmeur UML, modéliser un site e-
Commerce, 2002.
[ROQ, VAL, 2002]Pascal Roques et Franck Vallée, UML en action de l’analyse des besoins
à la conception en Java, 2002.
[RUM, 1997] James RUMBAUGH et al, OMT 1.Modélisation et conception orientées objet,
1997.
[06 34] AMRANI B., ARAOUR M. : Conception et réalisation d’un SI pour le suivi du
système pédagogique de l’INI (Mémoire de fin d’études)
VII.2. Webographie :
VIII. ANNEXE :
VIII.1. Comment calculer les frais de séjours (montant d’allocation) :
A partir du tableau ci-dessous on peut calculer le montant d’allocation pour les activités
scientifiques comme suit :
137
ESI 2009/2010 ANNEXE
VIII.2. Captcha:
Applications :
Ce test est utilisé sur Internet dans les formulaires pour se prémunir contre les soumissions
automatisées et intensives réalisées par des robotsmalveillants.
Contre le spam :
Lors de l'inscription à des webmails gratuits (dont les comptes pourraient être utilisés
par la suite pour l'envoi de courriers non sollicités),
Lors de la soumission de messages dans des forums de discussion et des blogs (qui
pourraient permettre de faire du spamdexing), etc. ;
Contre l'extraction automatisée de bases de données ;
Contre les tentatives d'attaque par force brute ;
Pour la participation à des sondages (dont les résultats pourraient être faussés par des
votes automatisés).
À propos du nom :
138
ESI 2009/2010 ANNEXE
nom "captcha" peut également être interprété comme "capture character" (capture de
caractères).
Histoire :
Dès le début d'Internet, les utilisateurs ont toujours voulu rendre le texte illisible par les
ordinateurs. Les premiers furent les hackers, postant sur des sujets sensibles dans des forums
en ligne, qui étaient automatiquement surveillés avec des mots-clefs. Pour contourner ces
filtres, ces hackers ont commencé à remplacer les mots par des caractères visuellement
ressemblants. Par exemple, HELLO pouvait être remplacé par |-|3|_|_() ou )-(3££0, ainsi
qu'une multitude d'autres variantes numériques. Ainsi les filtres à mots-clefs ne pouvaient pas
tous les détecter. Ce procédé fut plus tard connu sous le nom de « 13375p34k » (leetspeak).
La première réflexion sur la création de tests automatiques qui pourraient distinguer les
humains des ordinateurs dans le but de contrôler l'accès aux services web est apparue dans un
manuscrit de Moni Naor de l'institut de science de Weizmann, daté de 1996, et intitulé
Verification of a human in the loop, or Identification via the Turing Test. Des captcha
primitifs semblent avoir été développés plus tard, en 1997 chez AltaVista par Andrei Broder
et ses collègues dans le but d'empêcher des robots d'ajouter des sites à leur moteur de
recherche.
Caractéristiques :
Les captcha sont, par définition, entièrement automatisés, ne nécessitant qu'une petite
intervention humaine lors de l'utilisation du test. Ceci présente donc des bénéfices au niveau
des coûts et des performances.
L'algorithme utilisé pour créer un captcha est souvent public, bien qu'il puisse être breveté.
Ceci est fait dans le but de démontrer que casser ce type de test nécessite la résolution d'un
problème difficile en faisant appel à des notions de l'intelligence artificielle, plutôt que la
découverte des secrets de l'algorithme, qui pourraient être obtenus par décompilation ou un
autre moyen.
139
ESI 2009/2010 ANNEXE
Complexité :
De plus, leur efficacité est contestée, et des captchas peuvent être reconnus en quelques
secondes.
Accessibilité :
Les tests de captcha basés sur une lecture de texte - ou toute autre tâche de perception visuelle
- rendent impossible l'accès aux ressources protégées pour des personnes déficientes visuelles.
Néanmoins, le captcha n'a pas forcément besoin d'être visuel. N'importe quel problème
d'intelligence artificielle, comme la reconnaissance vocale, peut être utilisé comme base pour
un test de captcha. Certaines implémentations de captcha permettent aux utilisateurs d'opter
pour un captcha audio.
Le développement des captcha audio semble être en retard par rapport aux tests visuels.
D'autres types de tests, comme ceux qui nécessitent une compréhension de texte (par
exemple, un puzzle logique, des questions ou des instructions pour créer un mot de passe)
peuvent aussi constituer des méthodes utilisables dans le cadre d'un captcha. Encore une fois,
il n'y a que peu d'études concernant leur résistance face aux contre-mesures.
Pour les personnes déficientes visuelles (comme les utilisateurs aveugles ou ayant des
difficultés à la perception des couleurs), les captcha visuels présentent de sérieuses difficultés.
Du fait que les captcha sont conçus pour ne pas être lus par les machines, les outils courants
d'aide comme les lecteurs d'écran ne peuvent pas les interpréter. Du fait que certains sites
peuvent utiliser les tests de captcha dès le processus d'inscription initial, ou même à chaque
connexion, ces derniers peuvent complètement bloquer l'accès. Dans certaines juridictions, les
propriétaires de sites peuvent devenir la cible de litiges s'ils utilisent des captcha qui
discriminent les gens ayant certains handicaps. Dans d'autres cas, ceux qui ont des difficultés
visuelles peuvent choisir d'identifier un mot qui leur est lu.
Bien que fournir un captcha audio permette aux utilisateurs aveugles de lire le texte, ce
procédé exclut toujours les personnes souffrant à la fois d’un déficit visuel et auditif.
140
ESI 2009/2010 ANNEXE
L'utilisation d'un captcha empêche ainsi un grand nombre d'individus d'utiliser tous les
services basés sur Internet comme PayPal, Gmail, Orkut, Yahoo!, ainsi que de nombreux
forums et blogs.
Même pour des personnes parfaitement voyantes, les nouvelles générations de captcha,
conçues pour résister aux logiciels sophistiqués de reconnaissance, peuvent devenir
pratiquement impossibles à lire.
Contournement :
Main-d’œuvre humaine :
Il est possible de passer au travers du test de captcha en utilisant des opérateurs humains
employés à décoder les captcha. Une publication du W3C indique qu'un tel opérateur
« pourrait aisément vérifier des centaines de captcha par heure ». Des entreprises de services
indiennes sont spécialisées dans ce négoce. Des spammeurs ont réussi à contourner la
difficulté en créant des sites internet qui demandent à ce que l'utilisateur passe un test de
captcha pour y accéder, ce test étant en fait celui requis par un autre site, tel celui de Yahoo
pour valider la création d'une nouvelle adresse électronique. L'utilisateur du premier site
contribue ainsi, à son insu, aux actes malveillants de ces derniers. Une contre-mesure existe :
ajouter, dans le captcha, une expression identifiant clairement son émetteur (telle que
« yahoo.fr »).
Bogues de conception :
Certains systèmes de protection par captcha mal conçus peuvent parfois être forcés sans
utiliser de logiciels de reconnaissance de caractères, mais simplement en réutilisant l'ID d'une
session d'une image connue de captcha. Parfois, si une partie du logiciel qui génère le captcha
est située côté client (la validation est faite sur un serveur, mais le texte que l'utilisateur doit
saisir pour s'identifier est généré côté client), alors les utilisateurs peuvent modifier le logiciel
client pour afficher le texte de captcha non déformé par exemple.
141
ESI 2009/2010 ANNEXE
Bien que les captcha fussent initialement conçus pour contrer les logiciels de reconnaissance
de caractères standards utilisés pour la numérisation par balayage de documents, plusieurs
projets de recherche ont prouvé qu'il est possible de décrypter un grand nombre de captcha
avec des programmes spécifiquement adaptés à un type de captcha. Pour des captcha avec des
lettres déformées, l'approche adaptée est constituée d'une manière générale par les étapes
suivantes :
VIII.3. Ajax :
Ajax est un acronyme pour Asynchronous JavaScript and XML (« XML et Javascript
asynchrones ») et désignant une solution informatique libre pour le développement de pages
dynamiques et d'applications Web.
À l'image de DHTML ou de LAMP, AJAX n'est pas une technologie en elle-même, mais un
terme qui évoque l'utilisation conjointe d'un ensemble de technologies libres couramment
utilisées sur le Web :
En alternative au format XML, les applications Ajax peuvent utiliser les fichiers texte ou
JSON.
Les applications Ajax peuvent être utilisées au sein des navigateurs Web qui supportent les
technologies décrites précédemment. Parmi eux, on trouve Mozilla Firefox, Internet Explorer,
Konqueror, Google Chrome, Safari et Opera.
142
ESI 2009/2010 ANNEXE
Histoire :
Le terme Ajax a été introduit par Jesse James Garrett (informaticien étasunien), le 18 février
2005, dans un article sur le site Web Adaptive Path. Depuis, il a rapidement gagné en
popularité.
Les éléments qui composent Ajax (Javascript, DOM, XML…) et leur utilisation pour générer
des interactions asynchrones sont de loin antérieurs à l'apparition du terme.
En 2001, l'objet XMLHttp, apparu avec la bibliothèque MSXML, point de départ de cette
technique, fut développé à l'origine par Microsoft pour Internet Explorer 5 en tant qu'objet
ActiveX, puis intégré en tant qu'objet navigateur natif nommé XMLHttpRequest par Mozilla,
ce qui permit aux autres navigateurs de l'intégrer car ActiveX n'est utilisé que par Internet
Explorer.
Les applications Web traditionnelles permettent aux utilisateurs d'effectuer des choix (suivre
un lien, remplir et valider un formulaire). Une requête est alors envoyée au serveur HTTP, qui
agit en fonction de l'action et des données reçues, et renvoie une nouvelle page (dans le jargon
du Web, ces requêtes sont dites « synchrones »). Ce fonctionnement consomme inutilement
une partie de la bande passante, une grande partie du code (X)HTML étant commune aux
différentes pages de l'application. Et parce qu'une requête au serveur HTTP doit être réalisée à
chaque interaction avec l'application, le temps de réponse de l'application dépend fortement
du temps de réponse du serveur HTTP. Cela conduit à des interfaces utilisateur plus lentes
que leurs équivalentes natives. Les navigateurs actuels mettent les éléments communs en
cache, donc le chargement de pages nouvelles n'oblige pas le serveur à redonner les mêmes
éléments à chaque fois.
Les applications utilisant les techniques Ajax, quant à elles, peuvent envoyer des requêtes au
serveur HTTP pour récupérer uniquement les données nécessaires en utilisant la requête
HTTP XMLHttpRequest ; ces requêtes sont dites « asynchrones ». Les feuilles de style (CSS)
sont utilisées pour la présentation des informations au sein des pages Web. Le langage
JavaScript côté client est utilisé pour interpréter la réponse du serveur HTTP et pour effectuer
des traitements (affichages de menus déroulants, saisies…). Les applications sont alors plus
réactives, la quantité de données échangées entre le navigateur et le serveur HTTP étant
fortement réduite. Le temps de traitement de la requête côté serveur est également réduit, une
partie du traitement étant réalisée sur l'ordinateur d'où provient la requête.
143
ESI 2009/2010 ANNEXE
Un des points critiques dans la programmation avec Ajax est la nécessité d'une architecture
client/serveur, mais des solutions en mode déconnecté (offline en anglais) commencent à voir
le jour (fonctionnement du poste client sans nécessité d'être relié au réseau Internet ou à
l'Intranet d'une entreprise). AJAX n'a pas besoin de code actif sur le serveur (seul le code
JavaScript est actif sur le poste client), ce dernier étant un serveur Web se contentant
d'envoyer les pages Web vers le poste client. Car les langages employés sont de type
interprété et sont exécutés directement au sein du navigateur du poste client. Il n'est donc pas
nécessaire de déployer ou de mettre à jour une machine virtuelle (comme pour Java par
exemple) sur le poste client. Ainsi AJAX est une solution portable, ses différents composants
suivant les standards du W3C. Malgré tout, des technologies supplémentaires peuvent être
employées côté serveur, notamment pour la gestion des données au format XML, ou comme
par exemple des langages de script et des bases de données (PHP et MySQL par exemple).
Ces choix sortent du périmètre d'Ajax, mais peuvent apporter de nombreux services
supplémentaires ou complémentaires :
Java fournit une technologie à maturité avec un support des processus légers (threads)
et un important soutien de la communauté Open Source.
PHP possède aussi un fort soutien de la communauté Open Source, notamment la
version 5 plus performante sur la gestion du XML en natif.
Perl propose notamment Catalyst.
Python est un langage de script complet et largement utilisé mais moins que Java ou
PHP sur les serveurs (Google l'utilise largement).
ColdFusion avec les librairies CFjavax, Neuromancer, Sarissa, etc.
Uniface 9.3 implémente Ajax avec ses Pages dynamiques
La concurrence :
La concurrence pour l'affichage de contenus dynamiques au sein d'une page Web est la
suivante :
Avantages et inconvénients :
L'avantage de cette méthode est d'abord la vitesse à laquelle une application AJAX répond
aux actions de l'utilisateur, qui sont traitées (en partie au moins) localement par le navigateur.
Respectant en grande partie les standards Web (W3C et IETF), AJAX possède également des
144
ESI 2009/2010 ANNEXE
qualités de portabilité. Très vite déployé, Ajax permet d'abaisser les coûts de développement
de petites applications, ainsi que les coûts de renouvellement de parc informatique ; car AJAX
fonctionne avec des ressources matérielles relativement faibles : simples postes clients ne
nécessitant pas beaucoup de mémoire (contrairement aux technologies JAVA), simple
navigateur, simple serveur Web. Seule condition : choisir un navigateur respectant les
standards et acceptant en outre l'emploi du langage JavaScript (et en particulier l'objet
XMLHttpRequest), ou bien adapter le code de façon à ce que les pages Web soient lues par
tout type de navigateur (ces navigateurs étant de plus en plus rares) ainsi que par les
utilisateurs ne souhaitant pas activer les fonctionnalités JavaScript de leur navigateur
compatible.
L'utilisateur d'applications Ajax doit en effet autoriser l'exécution de code Javascript par son
navigateur, ce qui peut laisser craindre des problèmes de sécurité (cependant, il existe des
antivirus bloqueurs de scripts efficaces). N'utilisant pas le composant JavaScript standard
XMLHTTP, les versions d'Internet Explorer 5 ou 6 pour Windows doivent autoriser les
ActiveX, contrairement aux autres navigateurs (Firefox, Safari, Opera, etc.), cependant la
version 7 d'IE est compatible. Il est donc conseillé de tester les applications Ajax sur chaque
type de navigateur, en raison du non respect des normes Web par certains éditeurs de
navigateurs.
Enfin, différents cas de failles de sécurité de type « injection de code » ont été signalés en
2005 et 2006 avec des solutions AJAX déployées de façon standard. À cet égard, il faut
rappeler que dans leur majorité les applications informatiques déployées de façon standard
sont vulnérables. Cette recommandation n'est pas propre à AJAX, elle est valable pour toute
technologie et tout développement. Comme pour presque toute application informatique, une
sécurisation du code, du serveur et des postes clients est donc nécessaire avec AJAX. Ceci se
traduira d'abord par une sécurisation du serveur Web et des bibliothèques de code JavaScript,
ainsi que, côté poste client par la mise à jour du navigateur et l'installation d'un antivirus
bloqueur de scripts malveillants.
Comme pour tout développement Web, établir une connexion par le protocole sécurisé https
est également une solution pour sécuriser les échanges entre les postes clients et le serveur
distribuant les pages Web.
Pour faciliter l’utilisation de ces technologies, de nombreux frameworks ont été mis en place.
Il s’agit en général d’un ensemble de bibliothèques javascriptpermettant de réaliser les
traitements asynchrones et d’offrir une ergonomie avancée grâce à une palette d’objets
graphiques aboutis.
145
ESI 2009/2010 ANNEXE
Dans un souci d’industrialisation, nombre de ces frameworks ont été couplés à des
frameworks de conception web.
On estime à plus de 500 le nombre de frameworks Javascript actuels. Les principaux sont
dans l'article Frameworks Ajax.
Côté serveur, le principe même d'Ajax implique que nous avons le choix de la technologie.
Cependant, certaines technologies orientées événementiel ont un fort potentiel de
productivité.
.NET 2.0 de Microsoft développe un framework pour ASP.Net (Microsoft ASP.Net Ajax).
Morfik WebOS AppsBuilder de MORFIK est un EDI complet pour des applications AJAX
avec un 'designer' visuel et le choix du langage de programmation (Pascal, Basic, Java, C#).
En parallèle est développée une ASP.NET Ajax Control Toolkit, qui offre de nombreux
contrôles « prêts à l’emploi » pour les développeurs utilisant Visual Studio 2005. On y trouve
actuellement une trentaine de contrôles mais Microsoft en prévoit 50 à 100, tous fournis avec
leur source. Il existe aussi un tutoriel sur le site pour créer ses propres contrôles Toolkit qui
utilisent la technologie Ajax .NET.
De plus, on a vu récemment arriver le design pattern « Comet », qui propose des solutions
pour effectuer du push de données grâce à Ajax.
Open AJAX :
IBM a créé Open AJAX Initiative, un groupe de promotion de cette technologie avec des
partenaires tels que 24SevenOffice, Adobe Systems, BEA Systems, Borland, the Dojo
Foundation, Eclipse Foundation, Google, Ilog, Yahoo!, Laszlo Systems, Mozilla Corporation,
Novell, Openwave Systems, SAP, Oracle, Red Hat, Tibco, Zend et Zimbra.
Le premier résultat de cette initiative est l'AJAX Toolkit Framework (ATF), un projet qui vise
à proposer des outils pour le développement d'applications AJAX dans l'outil de
développement Eclipse. Ce projet s'appuie entre autres sur la contribution initiale d'IBM et
divers frameworks AJAX open source (tels que Dojo ou Rico) [WIKI 2010].
146