Vous êtes sur la page 1sur 16

INTRODUCTION GENERALE

Il ne fait désormais plus aucun doute que l'informatique représente la révolution la plus importante et la plus
innovante qui a marqué la vie de l'humanité en ce siècle passé. En effet, loin d'être un éphémère phénomène
de mode, ou une tendance passagère, l'informatique vient nous apporter de multiples conforts à notre mode
de vie. Aucun domaine n'est resté étranger à cette stratégie qui offre tant de services aussi bien pour
l'entreprise ou l'administration que pour le personnel.

Mais, au delà de l'utilisation individuelle de l'informatique, c'est surtout la mise en communication des
ordinateurs, qui a permis de révolutionner les méthodes de travail. Ainsi, on a assisté à l'émergence des
réseaux. Ce nouveau progrès offre aux utilisateurs de nouveaux outils de travail et leur permet d'améliorer
leur rentabilité et leur productivité.

C'est dans ce cadre d'idées que s'inscrit notre projet de fin d'études :

Concevoir et développer une application permettant de gérer les établissements scolaires publics marocains
(les lycées qualifiants), que nous avons eu l'occasion de l'accomplir au sein du lycée Moulay Ismail a
Meknès.

Notre rapport est structuré en quatre chapitres :

Le premier chapitre présente notre projet. Il donne une idée générale sur notre problématique, nos
motivations et nos objectifs et situe le cadre de notre travail.

Pour répondre aux objectifs que nous nous sommes assignés précédemment, il est nécessaire de procéder
tout d'abord à une étude préalable de l'existant dans le dessein de détailler les défaillances du système
existant ; ceci nous permet de proposer des solutions adéquates. Donc cette étude fait l'objet de notre
deuxième chapitre.

Le troisième chapitre comporte l'analyse des besoins qui est suivie de l'étape de conception.

Le quatrième chapitre illustre la réalisation du l'application et se termine par une partie de tests d'exécutions
de notre application.

Enfin, une conclusion synthétise notre travail et présente les perspectives envisagées.

CHAPITRE I : PRESENTATION DU PROJET


Dans le présent chapitre, nous entamons la présentation de notre projet. Tout d'abord, nous présentons le
cadre de notre travail. Nous enchaînons avec la définition de la problématique et de nos motivations. Nous
traçons ensuite les objectifs de notre projet. Nous terminons par la spécification des besoins.

A Cadre de travail du projet :

Le travail élaboré dans ce projet de fin d'études est réalisé pour les lycées qualifiants publics Marocains.
Nous avons eu l'occasion de l'accomplir au sein du lycée Moulay Ismail à Meknès.

B Motivation et problématique

Notre problématique se focalise sur la conception et le développement d'une application pour les lycées
marocains, en utilisant la technologie orientée objet. Nous concevons et développons alors un logiciel, pour
gérer certaines taches administratives.
Ceci passe par une réflexion sur l'ergonomie et l'organisation de l'information, la sécurité ainsi que
l'administration et la gestion de notre système.

Pour ce faire, nous devons utiliser un langage de programmation de permettant de structurer, d'organiser et
de sécuriser cette application, tout en veillant à ce que qu'elle soit orientée objet.

C Objectifs du projet

L'application devra tout d'abord être extrêmement fiable. En effet, son domaine d'application concerne le
coeur le l'activité des établissements scolaires, et son utilisation quotidienne ne devra pas laisser place a
l'éventuel point faibles.

L'objectif principal est la gestion des élèves, enseignants des lycées qualifiant et technique publique.

L'application devra notamment :

· Permettre d'inscrire des nouveaux élèves.

· Permettre de faire la gestion des élèves.

· Permettre de suivi les élèves pendant leur vie scolaire.

· Permettre d'établir des statistiques relatives aux informations enregistrées.

· Permettre d'impression de certaines pages (attestation de scolarité, fiche élève.....).

Ceci est fait en suivant les étapes suivantes :

· Elaboration du cahier des charges.

· Elaboration d'un scénario maquette et des esquisses des écrans d'application.

· Conception de la base de données avec POWER AMC en élaborant le modèle conceptuel et le modèle
physique de données.

· Implémentation de la base de données.

· Création de la charte graphique en personnalisant les couleurs, les icônes et le modèle de l'application.

· Développement de notre application (codage ou programmation).

· Validation de l'application par des scénarios de tests d'exécution.

Nous devons alors atteindre les résultats suivants :

· Disposer de la base de données représentant la partie stockage des informations concernant les élèves, les
professeurs, les matières, les filières

· Disposer d'un système de recherche permettant la recherche rapide selon des critères.

· Assurer la sécurité de l'application par l'authentification au premier écran, l'enregistrement des


informations sur les événements qui ont lieu. Enfin restreindre les droits.

· Disposer d'un module d'administration de l'application permettant la gestion, la mise à jour et la


maintenance de l'application.
D Documents de référence

· Des modèles de fiche d'inscription ou de réinscription.

· Note ministériel N° 43 (22 mars 2006)

E Spécification des besoins :

Pour atteindre nos objectifs dans les meilleures conditions, nous devons spécifier les besoins de notre
application.

· Inscrire les élèves :

Le logiciel doit être capable d'inscrire les étudiants de la manière la plus simple et la plus fiable possible. Les
étudiants s'inscriront dans les filières qui sont compatibles avec leur cursus et leurs choix.

· Support de l'arabe :

L'application doit être bilingue arabe/français aussi bien dans son utilisation que dans son stockage des
données.

· Suivre l'élève tout au long de sa vie.

· Accès sécurisé :

L'accès aux données de la base doit être sécurisé et les utilisateurs doivent avoir un accès individualisé et
limité aux données.

~ Non automatisation des résultats scolaires :

Le système à réaliser devra préparer les documents de travail pour les conseils de classe et jurys d'examens.
Aucune décision n'est prise automatiquement par le système en ce qui concerne la réussite.

~ Gérer l'emploi du temps :

L'application devra gérer l'emploi du temps et l'occupation des salles et des amphithéâtres. ~ Gérer les
ressources humaines :

Le système devra pouvoir gérer au moins le corps enseignant. Matières enseignées, emplois du temps,
classes prises en charges, toutes ces informations doivent être gérables par le système.

~ Gérer les absences :

Le système devra consigner toutes les absences des étudiants avec le détail fourni par l'emploi du temps :
module, enseignant, date et heure d'absence, durée d'absence et éventuellement l'information si l'absence a
été justifiée ou pas.

· Edition des documents administratifs :

Le système devra permettre d'éditer les cartes d'étudiant, les attestations et tout type de certificat.

· Utilisateurs du système

o Catégories d'utilisateurs
On distinguera deux grands types d'utilisateurs du système :

1. Les administrateurs ayant le droit de créer d'autres utilisateurs et de spécifier leurs droits d'accès.

2. Les utilisateurs ayant tout juste le droit d'utiliser le système sans avoir de privilège administrateur.

3. Un utilisateur unique ayant les privilèges administrateur mais qui est créé automatiquement par le système
lors de son installation. C'est cet utilisateur initial qui permettra de créer tous les autres utilisateurs
directement ou indirectement.

o Fonctionnalités accessibles à chaque utilisateur

Le système devra pouvoir spécifier pour chaque utilisateur s'il a le droit ou non d'utiliser un écran
quelconque de l'application. Le système devra aussi donner la possibilité de spécifier si à travers tel écran
l'utilisateur a le droit de consulter, modifier ou supprimer les informations de la base de données.

CHAPITRE II : SOLUTION ADOPTEE


Dans ce chapitre, nous entamons la présentation des solutions adoptée. Tout d'abord, nous commençons par
le langage de programmation, base de donnes ensuite les générateurs d'état, middleware. Nous terminons par
l'architecture globale du système.

A Langage de programmation

On a choisi comme langage de programmation Microsoft visuel basic .NET 2003.

Visual Basic .Net est un langage de programmation qui a évolué de Visual Basic 6. La principale évolution
est une orientation objet du langage.

Évolutions :

· L'orientation objet beaucoup plus marquée avec notamment l'intégration de la technologie de l'héritage, qui
jusqu'à ce jour limitait l'industrialisation du code Visual Basic.

· L'intégration de l'environnement de développement (IDE) dans la suite Visual Studio permettant d'utiliser
d'autres langages comme Visual C++ ou Visual C#.

· La connexion aux bases de données facilitée par l'amélioration des outils de glisser déposer et l'utilisation
de la dernière technologie ADO.

· La possibilité de créer des applications Internet beaucoup plus performantes grâce à l'intégration de la
technologie XML.

· Un générateur de code SQL beaucoup plus performant.

· L'écriture de gestionnaires d'erreurs tenant compte du Multithreading via des blocs TRY/CATCH.

· La déclaration des variables est rendue obligatoire par défaut (contrairement au Visual Basic 6 où cette
fonctionnalité était désactivée par défaut).

· L'intégration de nouvelles classes d'objet .NET tout en permettant pour les versions intermédiaires de
réutiliser les objets .COM rendant la migration plus facile de Visual Basic 6 à VB Net.
B Base de données

· Critères de choix :

Pour choisir son moteur de base de données, il faut examiner certains critères. Les principaux sont :

· La robustesse (gestion d'un grand nombre d'enregistrement).

· La rapidité (temps de réponse aux requêtes).

· La facilité d'administration (possibilité de mettre à jour, nettoyage, indexation).

On a choisi comme base de données Microsoft Access 2003.

· Access :

Access est aussi bien un outil grand public que professionnel, selon les besoins qu'on a. Il est assez
performant en tant que SGBD allié à un outil de développement intégré qui en facilite l'utilisation. Access
peut, en tant qu'outil de développement, être utilisé conjointement avec un véritable Serveur de base de
données SQL pour bénéficier des avantages du Client/serveur, sous certaines conditions. Un néophyte peut
facilement utiliser Access et se créer une base de données complète, grâce à de nombreux assistants pour
l'aider, à remarquer, son intégration dans Office.

Le problème est qu'Access en tant que format de données n'est pas un SGBD client/serveur mais seulement
un SGBD fichier. Le trafic qu'il génère sur le réseau en utilisation réseau multiposte peut fortement perturber
ses performances. Les performances chutent rapidement lorsque plusieurs utilisateurs sont connectés où que
la base dépassent les 100000 lignes. Cependant Access en tant qu'outil de développement peut être utilisé
conjointement avec un véritable Serveur de base de données SQL pour bénéficier des avantages du
Client/serveur.

MS Access reste un bon choix si vous souhaitez avoir une base de donnée de petite taille mais facilement
gérable, ou que vous ne connaissez pas grande chose aux SGBD.

C Générateurs d'états

J' ai choisi comme générateurs d'état : Crystal Reports

Crystal Reports est l'outil de création d'états fourni avec Visual Studio 2003 .NET développe par Seagate
Software.

~ Avantage :

Crystal Reports est le Leader du marché. Rapports modifiables par l'utilisateur final (s'il dispose de Crystal
Report). Ils peuvent modifier par eux-mêmes la présentation des rapports et même ajouter des champs tant
qu'ils respectent les liens de la base donnée.

En général : Fiabilité de l'impression et des prévisualisations. Comme il est convivial, puissant et en


Français, Crystal Reports est une solution à considérer si nous souhaitons que les utilisateurs finaux adapte
ou créé des états, et à conditions que nous soyons prêt à faire l'acquisition des licences nécessaires.

~ Inconvénient principale :

Performance : Temps de chargement et d'exécution des états assez long.

D MiddleWare
Un middleware est une entité fonctionnelle ou composante répartie sur les différents sites (aux ressources
variées). Le "MiddleWare" offre une interface unique d'accéder aux données quel que soit le format, la
localisation, grâce aux middlewares on assure l'indépendance Application / Serveurs BD (Multi Vendeurs).
On distingue deux types de middleware les plus connus : ODBC et JDBC.

On a choisi comme MiddleWare de connexion ODBC (Open DataBase connectivity).

Il s'agit d'un format défini par Microsoft permettant la communication entre des clients de bases de données
fonctionnant sous Windows et les SGBD du marché.

La technologie ODBC permet d'interfacer de façon standard une application à n'importe quel serveur de
bases de données, pour peu que celui-ci possède un pilote driver ODBC (la quasi- totalité des SGBD
possèdent un tel pilote, dont tous les principaux SGBD du marché).

ODBC permet de relier un client à une base de données en déclarant une source de données (correspondant
généralement à une base de données) dans le gestionnaire ODBC (communément appelé administrateur de
source de données ODB C). La source de données peut être aussi bien une base de données qu'un fichier
Access, Excel ou bien même un fichier.

Figure 1 Architecture Modulaire D'ODBC

L'inconvénient de ODBC est qu'il ne fonctionne que sur les plateformes Microsoft Windows, D'autre part,
ODBC est fortement lié au langage C (utilisation de pointeurs), et ODBC utilise des paramètres non
standards, ce qui le rend difficile à mettre en oeuvre directement dans les programmes.

E Architecture globale du système

L'architecture choisie est une architecture à trois tiers avec un serveur base de données

Figure 2 : Architecture globale du système


Le serveur de base de donnes tournera sous Microsoft Windows 2003 Server. Les postes clients peuvent
indifféremment être sous Windows sous toutes ses versions.

CHAPITRE III : ANALYSE ET CONCEPTION


Dans ce chapitre, nous entamons l'analyse et la conception. Nous commençons par l'analyse des besoins.
Nous procédons ensuite à l'établissement du modèle conceptuel et du modèle physique de notre application.
Ensuite, nous élaborons le scénario maquette. Nous terminons par la conception de l'interface.

A Analyse des besoins (cahier des charges)

Dans cette section, nous procéderons à l'analyse des besoins. Analysons à présent les besoins auxquels doit
répondre l'application. Les besoins non fonctionnels correspondent aux manipulations de l'application et
précisent l'environnement de l'application.

Les besoins fonctionnels listent les opérations réalisables avec l'application.

1 .Besoins non fonctionnels

· Interface utilisateur

L'application devra être cohérente au point de vue l'ergonomie. La qualité de l'ergonomie sera un facteur
essentiel, étant donnée l'utilisation intensive qui sera faite de l'application.

Un fichier d'aide a l'utilisateur, présentant l'interface et les fonctionnalités seront disponibles.

· Environnement réseau

L'application fonctionnera en deux modes : o Mode simple (mono poste) o Mode client/serveur

· Environnement d'exécution : Système exploitation OS :

· Microsoft Windows 98 / 98 deuxième édition.

· Microsoft Windows millenium.

· Microsoft windows XP (touts édition).

· Microsoft windows 2000 professional.

2 .Besoins fonctionnels

L'application doit permettre :

· Un accès rapide aux menus et aux donnes.

· Un accès sécurise et les utilisateurs doivent avoir un accès individualise et limite aux donnes.

· Modifier les donnes enregistrées.

· D'établir des statistiques relatives aux informations enregistrées.

· L'impression des documents administrative.


3 .Fonctions principales de l'application

L'application comprendra principalement six modules accessibles à l'aide de menus :

· Un module de l'inscription.

· Un module de gestion des absences.

· Un module d'édition des documents administratifs.

· Un module d'emploi du temps.

· Un module des statistiques.

· Un module de gestion des ressources humaines.

Nous allons à présent détailler le contenu de chaque module.

1) Module d'inscription :

Ce module permet de faire l'inscription les nouveaux élèves cette inscription peut être décrite par les champs
suivants :

· Nom et prénom

· Code national de l'élève

· Date et lieu de naissance

· La classe et la série

· L'établissement original

· Les informations sur les parents d'élève

· L'adresse principale

· Information sur la bourse

· Ensuite toutes les informations seront enregistrées dans la base de donnes.

2) Module de gestion des absences

Ce module permet de marque l'absence des élèves avec les détails fourni par l'emploi du temps :

1) Matière

2) Date et heure d'absence

3) Durée d'absence

4) L'information si absence a été justifiée ou pas.

5) Ensuite toutes ses informations seront enregistrées à la base.


3) Module d'édition des documents administratifs

Ce module permettre d'éditer les attestations et tous type de certificat :

· Attestation de scolarité.

· Les listes des classes.

· Les billets d'entrée.

· Les cartes d'élèves.

· Les fiches élèves.

4) Module d'emploi du temps L'application devra gérer l'emploi du temps et l'occupation des salles

5) Module de gestion des ressources humaines L'application devra pouvoir gérer au moins le corps
enseignants. Matières enseignées,
Toutes ces informations doivent être gérables par le système.

6) Module des statistiques :

Les informations statistiques pertinentes sont :

· La répartition des élèves par sexe

· La répartition des élèves par la deuxième langue étrangère

7) Module de gestion des ressources humaines

L'application devra pouvoir gérer au moins le corps enseignants. Matières enseignées, les filières
disponibles, informations sur les professeurs et les administratif,...

CHAPITRE IV : REALISATION
Après avoir finalisé l'étape de conception, nous passons dans ce chapitre à l'implémentation de notre
application.

Nous commençons tout d'abord par la définition de notre environnement matériel et logiciel. Nous
enchaînons par la présentation du travail réalisé et nous terminons par une partie tests et perspectives.

A Environnement de travail

Dans ce paragraphe, nous présentons notre environnement matériel et nos choix de logiciels.

1 .Matériel

L'environnement matériel utilisé est le suivant :

· Un micro ordinateur (système d'exploitation Windows XP service pack 3) doté d'un micro processeur
Pentium IV, avec 512 MO de mémoire vive. La taille du disque dur est de 80 GO.

· Un Scanner.
· Une Imprimante.

2 .Logiciel

Pour concevoir et implémenter notre application, nous avons utilisé les logiciels suivants :

· Power AMC Designer 12 pour la phase de conception de la base de données.

· Microsoft Access 2003 : pour implémenter la base de données.

· Adobe Photoshop pour la conception graphique et Design.

· SnIco Edit : pour la conception et la réalisation des icônes.

· AutoPlay Media Studio 7.0 : pour la conception du l'interface CD.

· Microsoft visuel studio .NET 2003 Architect édition : pour le codage du projet.

B Implémentation de la base de données 1 .Implémentation avec POWER AMC

PowerAMC Données est un puissant outil de conception de base de données. Il vous offre tous les avantages
d'une approche de conception à deux niveaux : vous conservez les modèles tant au niveau conceptuel que
physique.

Avec PowerAMC Données nous avons généré un script de création de base de données pour le SGBD
Access, pour avoir implémenté des tables de base de données de l'application.

2 .Création d'une source de données

Notre projet communique avec SGBD Access ou SQL Server à l'aide de pilote ODBC, ce qui nécessite
l'ajout de base de données dans le DSN système (System Data Sources), qui permet de sécuriser son accès.

Nous allons ici ajouter dans le DSN de notre serveur où machine une base de données Access ou SQL Server
nommée Lycee.

Tout d'abord, on ouvre le Panneau de configuration de notre système. Puis on choisit outils administratifs.
Ensuite Sources de données (ODBC).

Figure 8 Ecran d'outils Administratifs

Nous visualisons une liste des bases de données référencées sur notre système, sur l'onglet Sources de
données système, puis sur le bouton Ajouter en clique.
Figure 9 Sélection de pilote Access.

Une boite de dialogue nous présente les pilotes de base de données, installés sur notre machine. Nous
sélectionnons le pilote correspondant à Microsoft Access ou Microsoft SQL Server, puis sur le bouton
terminer.

Une boite de dialogue s'ouvre, pour inscrire le nom de DSN que nous souhaite créer, une éventuelle
description de celui-ci, pour sur le bouton sélectionner pour associer ce nom une base de données.

C Présentation des interfaces

Dans ce paragraphe, nous présentons les interfaces. Nous profitons de cette présentation pour faire quelques
scénarios d'exécution pour montrer quelques résultats de tests de notre application.

Figure 10 : icône de l'application

Une icône sur le bureau permet de lancer l'application.

Figure 11 : fenêtre authentification

Un écran d'authentification illustré par la figure doit donc apparaître au moment de l'accès à de l'application,
l'utilisateur doit identifier par un login et un mot de passe.
Figure 12 : fenêtre de gestion des ressources humaines

L'onglet "identité de l'agent" permet de saisir des informations relatives aux professeurs et le corps
administratif en générale.

L'onglet "informations administratives et professionnelles de l'agent" permet de saisir des informations


administratives comme Grade échelle .....Etc. relatives aux professeurs et le corps administratif en générale.

Figure 13 : fenêtre de gestion des élèves

L'onglet "informations personnelles" permet de saisir les données personnelles de l'élève. L'onglet
"information sur le tuteur" permet de saisir les données concernant les parents et le tuteur de l'élève.

L'onglet "bourse" permet de saisir les données concernant la bourse de l'élève.

L'onglet "sortie" permet de saisir les données concernant la sortie de l'élève.

Figure 14: Barre des icônes

L'utilisation de cette barre des icônes permet de simplifier l'utilisation de l'application.


Figure 15 fenêtre pour marquée une absence

La fenêtre `marque une absence' permet de marquer les absences concernant les élèves

Figure 16 fenêtre pour marquée une absence

La fenêtre `marque une absence globale' permet de marquer les absences concernant tous les élèves une
classe

Figure 17 : distribution des élèves


Cette fenêtre permet d'afficher des statistiques concernant la répartition des élèves par sexe ou par la
deuxième langue étrangère

Figure 18 : liste des états a imprimé

Cette fenêtre lancée à partir de l'écran "Elève" permet de sélectionner l'état à imprimer.

Figure 19 Aperçu et impression des états

Cette fenêtre permet d'aperçu des états impression avant de les imprimer ainsi d'exporter vers des différents
formats comme PDF, WORD

Figure 20 fenêtre cherche

Cette fenêtre permet de faire la recherche au niveau de la base de donnes selon des différents critères
Figure 21 Emploi du temps

Cette fenêtre permet de visualiser les emplois du temps selon deux critère : par professeur ou par classe.

Figure 22 Fichier d'aide

Cette fenêtre permet d'aider l'utilisateur à installer Getab.

CONSTATATIONS ET PERSPECTIVES

Il est vrai d'après les différents scénarios des tests d'exécution effectués précédemment que nous sommes
arrivés à satisfaire les besoins des établissements scolaires et à atteindre les objectifs tracés. Mais ceci ne
nous empêche pas à penser à des améliorations à apporter a l'application comme perspectives de ce travail.

Nous pouvons en fait faire évoluer la base de données Access ou SQL Server en une base XML, ce qui est
faisable avec Access ou SQL Server qui permet d'exporter ses bases de données sous forme de bases XML
avec leurs schéma et DTDs. Ceci serait très bénéfique pour notre application dans la mesure où XML
possède des avantages incontestables comme la portabilité.

Nous pouvons aussi développer des nouveaux modules comme par exemple la gestion des notes et les
bulletins scolaire et grâce à ce module en peut faire la répartition automatique des élèves sur les classes à la
base des notes obtenue.

Nous pouvons aussi développer un site extranet pour pouvoir consulter les emplois du temps et assuite et
Conduite soit par les parents et les tuteurs des élèves soit par les élèves eaux même.
Nous pouvons aussi développer une fonction qui permet la génération automatique des emplois du temps
soit par l'algorithme de glouton soit par un autre.

Dernièrement nous pouvons aussi faire une relation pour importer ou exporter les donnes avec le programme
Galy (gestion automatiser des lycées) distribué par les académies régionale de l'éducation et de formation.

CONCLUSION
L'objet de notre travail dans ce projet de fin d'études est d'assurer une partie importante et indispensable pour
la mise en place d'une application pour les lycées marocains.

Cette application a permis en premier lieu de répondre aux besoins des utilisateurs par la résolution des
problèmes de la gestion scolaire, qui est l'étape le plus importante dans ce travail. En deuxième lieu, elle a
permis d'orienter le personnel vers une application unique. En effet l'application réalisée fournit un point
d'accès unique pour les informations importantes de l'établissement.

Nous centralisons ainsi l'endroit où l'utilisateur peut chercher une information.

L'application réalisé utilisé la technologie POO (programmation orientée objet), car, il est difficile de parler
de nos jours d'une application qui fait succès et qui soit interprété ou en mode console.

Une bonne analyse des besoins suivie d'une conception minutieuse de notre base de données et de nos
interfaces a fait que nous avons pu capturer tous les besoins des établissements scolaires et que nous avons
réalisé le travail demandé à un taux de 100 %. Ceci est par le test de quelques scénarios d'exécution de notre
application.

Cependant, comme tout informaticien qui suit la veille technologique, nous avons proposé quelques
perspectives d'amélioration et d'évolution de notre travail, à savoir l'utilisation de XML.

PLANNING DE REALISATION

Voici le planning détaillé du déroulement de notre projet :

Février Mars Avril Mai Juin


1 15 28 1 15 31 1 15 30 1 15 31 1 26
Etude de faisabilité, rédaction de cahier de

charge.
Analyse et spécification de besoins
Conception et Scénaristique
Développement

et programmation
Rédaction de rapport
Tests et validations

Vous aimerez peut-être aussi