Rapport Omayma Abid INDP2 D
Rapport Omayma Abid INDP2 D
Rapport Omayma Abid INDP2 D
Réalisé par :
Abid Oumaima
Encadré par :
Ben Radhoune Sabrine
Entreprise d’accueil :
IOA Solution
Je tiens tout de même à remercier particulièrement Mme Ben Zouari Intissar, la gérante
de la société IOA Solution pour son aide constant ainsi que pour fournir les
informations nécessaires au projet, et aussi pour son soutien.
Je remercie aussi, tous les enseignants de Sup’Com pour la qualité de la formation qu'ils
m’ont fournie et tous les membres du jury pour avoir accepté de juger ce modeste
travail.
Table de matières
Table de figures .................................................................................................................................
Introduction générale.................................................................................................................... 6
Chapitre 1 : Cadre de stage .......................................................................................................... 7
1.1 Le stage ............................................................................................................................... 7
1.2 L’entreprise ........................................................................................................................ 7
Chapitre 2 : Etat de l’art ................................................................................................................ 8
2.1 Introduction ....................................................................................................................... 8
2.2 Solutions disponibles sur le marché .............................................................................. 8
2.2.1 Exemple ...................................................................................................................... 8
2.3 Critiques de l’existant ...................................................................................................... 9
2.4 Comment peut-on améliorer l'application .................................................................... 9
2.5 Conclusion ......................................................................................................................... 9
Chapitre 3 : Spécification des besoins ....................................................................................... 10
3.1 Introduction ..................................................................................................................... 10
3.2 Analyse globale de l’application .................................................................................. 10
3.2.1 Identification des acteurs ....................................................................................... 10
3.2.2 Spécification des besoins ........................................................................................ 11
3.3 Conclusion ....................................................................................................................... 12
Chapitre 4 : Réalisation ............................................................................................................. 13
4.1 Introduction ..................................................................................................................... 13
4.2 Architecture logique ....................................................................................................... 13
4.2.1 Modèle MVC ............................................................................................................ 13
4.3 Environnement logiciel .................................................................................................. 14
4.4 Technologies de développement .................................................................................. 15
4.5 Implémentation ............................................................................................................... 19
4.6 Conclusion ...................................................................................................................... 26
Chapitre 5: Les apports de stage ................................................................................................ 27
5.1 Introduction ..................................................................................................................... 27
5.2 Les compétences acquises ............................................................................................. 27
5.3 Les apports techniques .................................................................................................. 28
5.4 Les difficultés de stage et les solutions apportés ....................................................... 28
5.5 Conclusion ....................................................................................................................... 28
Conclusion et perspectives ....................................................................................................... 30
Neto-graphie ................................................................................................................................. 31
Liste des figures
Figure 1 : Logo de l’entreprise ....................................................................................................... 7
Figure 2 : Capture de page d’accueil de site Ecole des soeurs .................................................. 8
Figure 3 : Modèle MVC ................................................................................................................ 14
Figure 4 :Logo Sublime Text ........................................................................................................ 15
Figure 5 : Logo WampServer ....................................................................................................... 15
Figure 6 :Logo Laravel .................................................................................................................. 15
Figure 7 : Logo JQuery .................................................................................................................. 18
Figure 8 :Logo PHP5 ..................................................................................................................... 18
Figure 9 : Logo JavaScript ........................................................................................................... 18
Figure 10 : Interface principale de site........................................................................................ 19
Figure 11 : Interface de connexion .............................................................................................. 20
Figure 12 : Le compte admin ....................................................................................................... 20
Figure 13 : La liste des élèves ....................................................................................................... 21
Figure 14 :Edit un élève ................................................................................................................ 22
Figure 15 :Ajout d’un élève .......................................................................................................... 22
Figure 16 : Les informations d’un élève ..................................................................................... 23
Figure 17 : La liste des enseignants ............................................................................................. 23
Figure 18 : Ajout d’un enseignant ............................................................................................... 24
Figure 19 : Espace élève ................................................................................................................ 24
Figure 20 : Le profil d’un élève .................................................................................................... 25
Figure 21 : Contact........................................................................................................................ 26
Introduction générale
Durant les dernières années, l'informatique a connu une grande évolution et s'est imposée
d'une manière très impressionnante dans les entreprises. En effet, l’amélioration de la qualité
des services est un défi que tout acteur dans le domaine de gestion cherche à atteindre. Afin
d’y parvenir, il est crucial de proposer de nouvelles technologies d’informations pour
améliorer, d’une part, le fonctionnement et la visibilité des entreprises, et d’autre part, garantir
une sécurité des données.
Le stage d’été consiste alors à créer une partie d’un site web de gestion d’un établissement
scolaire SCHOOL+.
✓ En premier lieu, je vais commencer par présenter l’entreprise dans laquelle j’ai
effectué mon stage.
✓ La deuxième partie consiste en l'étude des solutions existantes dans le marché et la
proposition des méthodes pour améliorer et créer une plateforme assez convenable.
✓ La troisième partie sera consacrée pour l'analyse et la spécification de besoins de
✓ mon application.
✓ La quatrième partie sera dédiée pour présenter les différentes technologies utilisées
pour le développement et monter l'application.
✓ La dernière partie sera consacrée pour présenter les apports de mon stage.
6
Chapitre 1
Cadre de stage
1.1 Le stage
Mon stage s’est déroulé à Sousse, au sein de la société IOA Solution pendant un mois de 1
juillet au 31 Juillet. Mme Ben Radhoune Sabrine m’a encadré pendant cette période du stage,
sous la tutelle de Mme Ben zouari Intissar la gérante de la société.
J’ai choisi cette entreprise car elle présente un fort engagement envers les nouvelles
technologies dans sa culture. Ce stage était à la hauteur de mes attentes. En effet il m’a offert
l’occasion de s’intégrer dans un environnement professionnel afin de m’initier aux exigences
et aux attentes de cet environnement.
1.2 L’entreprise
Fondée en 2016, IOA Solution est une boite de développement informatique tunisienne basée
à Sousse spécialisée dans la communication digitale et évoluant dans le secteur du
développement web, mobile et logiciels sur mesure. La boite de développement opère aussi
bien en local qu’à l’international.
7
Chapitre 2
Etat de l’art
2.1 Introduction
La première phase lors de la création de n'importe quelle application dépend en premier temps
de l'étude préliminaire des produits existants en marché. De ce fait, ce chapitre sera consacré à
l’étude des solutions existantes dans le marché couvrant les applications développées pour la
gestion scolaire, en exposant les différentes fonctionnalités offertes par ces applications.
Ecole primaire des sœurs est un site web de l’école Primaire Privée L’école des sœurs
Sousse, crée par Nabily.
Ce site ne propose pas des fonctionnalités mais il présente quelques informations générales à
propos de l’école, de l’équipe qui travaille dedans et même sur les classes, un espace de
contact qui ne fonctionne pas.
8
2.3 Critiques de l’existant
Après avoir étudié les différentes solutions, on doit fournir un site plus mieux et efficace que
ceux existants sur le marché.
▪ Personnalisé
▪ De meilleure qualité
▪ Plus sur à utiliser
▪ Plus efficace
▪ Plus performant
2.5 Conclusion
Dans cette section, j’ai étudié les différentes solutions proposées par tous les concurrents. J’ai
précisé les caractéristiques intéressantes qui seront fournies tout en se concentrant sur un
produit ayant un niveau de simplicité et de clarté.
9
Chapitre 3
Spécification des besoins
3.1 Introduction
La phase d’analyse et spécification des besoins présente une phase primordiale dans le
cycle de développement d’un projet. En effet, elle permet de mieux comprendre le travail
demandé en dégageant les besoins des que le système doit accomplir pour les différents
acteurs.
L’objectif de mon travail est de développer un site web pour la gestion d’une école
qui permettra aux différents acteurs d'avoir un accès direct aux informations
relatives à la vie scolaire tout en gardant un haut niveau de sécurité et de
performance.
Par définition, les acteurs d'un système sont des entités externes qui interagissent avec le
système (saisie de données, la réception de l'information ...). Un acteur est une personne,
une organisation, un service ou un autre système qui joue un rôle dans une ou plusieurs
interactions avec le système. Donc, comme des entités externes, on a:
❖ L’administration
❖ L’élève
3.2.2 Spécification des besoins
La spécification des besoins est la première étape pour pouvoir achever le but de
l'application. Elle a pour objectif de compléter le recueil initial des besoins et de
préparer l’analyse orientée objet.
a. Spécification des besoins fonctionnels
10
Ce sont les fonctions qui doivent être réalisées afin de répondre aux différents besoins.
Mon site doit fournir les fonctionnalités suivantes :
❖ L’administration
▪ L’enregistrement des informations de chaque élève au sein de l’école.
▪ L'enregistrement des enseignants.
▪ La modification et la suppression des élèves et des enseignants.
▪ La possibilité de consulter la liste des élèves et des enseignants
▪ La possibilité de consulter la liste des élèves pour chaque département
▪ Consulter son profil.
❖ L’élève
▪ Consulter son profil.
b. Spécification des besoins non fonctionnels
Après avoir déterminé les besoins fonctionnels je présente ci-dessous l’ensemble des
contraintes à respecter pour garantir la performance du système proposé, donc de
fournir un produit performant qui respecte les exigences de l’utilisateur et qui peut faire
face à des risques de panne ou de non fonctionnement.
La performance :
La prise en compte des caractéristiques de synchronisation est essentielle pour mon site,
durée de la réponse doit être acceptable pour les utilisateurs.
La simplicité:
Un visiteur assez modeste pourra utiliser un tel service de façon intuitive.
L’ergonomie de l’interface :
L'application doit être cohérente en terme d'ergonomie. Cette qualité sera importante,
compte tenu de la vaste utilisation qui est faite de l'application. L'interface utilisateur de
site doit être simple et facile à manipuler, pour assurer une navigation facile et intuitive.
La modularité de l’application :
Avoir un code simple facile à maintenir et à comprendre en cas de besoin.
La maintenabilité:
Le site web doit être capable d'être modifié à tout moment. Par conséquent, les
améliorations en ajoutant de nouvelles fonctionnalités pour la clientèle sont cruciales
pour l'application.
11
3.3 Conclusion
Dans ce chapitre, j’ai énuméré les différents besoins fonctionnels et non fonctionnels de
mon application ainsi que les acteurs.
Ce chapitre est d’une importance cruciale surtout pour la compréhension des besoins et des
attentes du client.
12
Chapitre 4
Réalisation
4.1 Introduction
Dans cette section, je vais m’intéresser au concept de l'architecture de l'application. La
première partie porte sur l'architecture logique en mentionnant les différents modèles utilisés
pour faciliter la mise en œuvre du projet et représentant les différents composants des
modules et l'interaction entre eux.
Dans la deuxième partie je vais commencer par définir l'environnement de travail ainsi que les
technologies utilisées. La partie suivante sera consacrée pour détailler la mise en œuvre et le
déploiement de site.
MVC est un design pattern de conception d’interface utilisateur qui assure le découplage. Il
est basé sur la séparation entre le traitement d'entrée et de sortie d'une application. Ainsi, une
application qui a appliqué ce modèle se divise en trois composantes principales: le modèle, la
vue et le contrôleur. Chacune de ces composantes traite un certain nombre de tâches.
Le modèle : c'est lui qui assure la gestion des données et reprend la logique métier. Il se
contente de représenter les données spécifiques à une application et définit la logique et
de calcul pour manipuler et traiter les données. C'est le noyau de traitement de données
dans le modèle MVC. Un modèle simple peut fournir des données pour un certain
nombre d'interfaces d'affichage. Cela peut aider pour la duplication du code, compte tenu
du code du modèle , il est seulement écrit une fois et peut être réutilisée par tous les
points de vue.
La vue : c'est l'interface de l'utilisateur. Elle décrit les fonctionnalités assurées par
l'application. Un grand avantage du MVC, c'est qu'il a la responsabilité de gérer la
13
manipulation de l'utilisation de nombreux points de vue différents. Il n'y a pas de
traitement réel survenu dans la vue, il sert seulement comme un moyen de sortie de
données et permet à l'utilisateur d'agir sur ces données.
• L'avantage d'utiliser le modèle MVC est l'isolation des différentes parties d'une
application afin d'offrir une plus grande flexibilité et d'avantage de possibilités de
réutilisation.
14
Sublime Text est un éditeur de texte générique codé en C++ et Python, disponible sur
Windows, Mac et Linux. Le logiciel a été conçu tout d'abord comme une extension pour Vim,
riche en fonctionnalités.
4.3.2 WampServer
WampServer est une plate-forme de développement Web sous Windows pour des applications
Web dynamiques à l’aide du serveur Apache2, du langage de scripts PHP et d’une base de
données MySQL. Il possède également PHPMyAdmin pour gérer plus facilement vos bases
de données.
Je vais me concentrer dans cette partie, sur les technologies de développements utilisées pour
la réalisation de site web.
4.4.1 Laravel5.8
Laravel est un framework d’application web PHP open-source, respectant le principe Modèle-
vue-contrôleur et entièrement développé en programmation orientée objet , destiné pour le
développement d’applications.
15
• Composer
• Eloquent ORM(MappingObjet-Relationnel)
Laravel comporte un ORM performant qui s’appelle Eloquent. Pour mapper convenablement
les données de la base de données et les objets implémentés sous Laravel, il faut utiliser ce
qu’on appelle le CRUD (Create, Read, Update, Delete) qui désigne les quatre opérations
de base pour la persistance des données, en particulier le stockage d'informations en
base de données.
• Moteur de Template
Un moteur de Template PHP est écrit en PHP. son rôle principal est de favoriser la
lisibilité et la logique du code d’un projet. Généralement couplé à une structure MVC,
ce système donne d'excellentes performances.
Un moteur de Template s’occupe de séparer tout le code de présentation (tout ce qui est
HTML et CSS, donc la VUE du modèle MVC) et le code applicatif (le code PHP).
Blade est le moteur de Template proposé par Laravel. Il est simple à utiliser et puissant.
• QueryBuilder
Eloquent est efficace mais n’est pas toujours suffisant pour générer toutes les requêtes.
Il est parfois nécessaire de générer des requêtes qui dépassent les possibilité qu’offre
cet outil. Le Querybuilder peut alors être utilisé. Il s’agit d’un outil prat ique de
génération de requêtes avec une syntaxe explicite, qui est complète les fonctionnalités
d'Eloquent.
16
• Système de routage
Laravel intègre en son sein un système de routage. Il permet de créer des chemins URLs qui
sont simples et naturelles pour accéder aux différentes fonctionnalités du site en
développement.
Avantages
• La communauté : lorsqu’on rencontre une difficulté il est bon de recevoir une aide
rapide pour ne pas rester bloqué longtemps sur un problème de détail, la communauté
de Laravel est réactive.
• La durée d’apprentissage : un temps d’apprentissage trop long fait perdre l’intérêt
d’un Framework même si on factorise ma connaissance en multipliant les cas
d’application, Laravel est rapide à prendre en mains tout en ne faisant aucune
concession sur les fonctionnalités.
• La pérennité : apprendre un Framework pour apprendre quelques mois plus tard
qu’il est abandonné est plutôt frustrant. Laravel est soutenu par une importante
communauté de développeurs et d’utilisateurs, ce qui lui garantit une durée de vie
raisonnable.
• La richesse des outils : certains Framework sont intéressants mais nécessitent de
nombreuses greffes pour devenir vraiment opérationnels. Laravel est à la base
suffisamment complète pour ne nécessiter que des extensions pour des besoins
particuliers.
• La simplicité : utiliser un Framework et se retrouver à écrire un code plus complexe
que celui qu’on aurait utilisé avec simplement du PHP n’est pas une opération
judicieuse, le code qu’on écrit avec Laravel est toujours simple, lisible.
• La popularité :Laravel a gagné de popularité au cours de dernières années. Laravel
a commencé de battre les Framework les plus populaires en termes d'intérêt de
l'utilisateur et il est en croissance constante.
4.4.2 CSS 3.0(CascadingStyleSheets)
Est un mécanisme simple pour ajouter du style telles que la mise en page, les couleurs et les
polices. C'est un langage de feuille de style qui donne au développeur du site Web plus de
contrôle et de flexibilité sur la façon dont les pages seront affichées.
17
4.4.3 JQuery 1.7
Est une bibliothèque JavaScript rapide et riche en fonctionnalités. Elle permet de manipuler ,
gérer les événements et l'animation d'une manière plus simple avec une API facile à utiliser
qui fonctionne sur une multitude de navigateurs.
Avec une combinaison de polyvalence et d'extensibilité, JQuery a changé la façon dont des
millions de gens écrivent JavaScript.
Figure 7 :logoJQuery
4.4.4 PHP 5
PHP: HypertextPreprocessor, plus connu sous son sigle PHP, est un langage de
programmation libre, principalement utilisé pour produire des pages Web dynamiques via
un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage
interprété de façon locale. PHP est un langage impératif orienté objet.
Figure 8:logoPHP5
4.4.5 JavaScript
JavaScript est un langage de script orienté objet principalement utilisé dans les pages HTML,
c’est un langage orienté objet à prototype.
18
Figure 9:logo JavaScript
4.5 Implémentation
➢ La page d’accueil
➢ Students est un espace d’authentification destiné aux élèves pour accéder à leurs
comptes.
a) Admin : LOGIN
C’est l’espace d’authentification de l’administrateur.
19
Figure 11: Interface de connexion
A gauche C'est le menu principal dans le compte administrateur. Chaque onglet présente une
fonctionnalité qu'il peut réaliser.
20
Student :
✓ AllStudents :
✓ Edit Student
21
✓ AddStudent
✓ Student Information
Teacher
22
A travers cette fonctionnalité l’administrateur peut ajouter,éditer , supprimer , consulter la
liste des enseignants au sein de l’école ou les consulter un par un .
✓ All Teachers
✓ AddTeachers
23
Enfin l’admin peut consulter de même son profil.
b) Elève : STUDENTS
A travers cette interface l’élève peut accéder à son compte en cliquant sur « », puis remplir le
formulaire de connexion.
24
Figure 20: Le profil d’un élève
c) Contact
25
4.6 Conclusion
26
Chapitre 5
Les apports de stage
5.1 Introduction
Ce stage avait pour but d’apporter à l’étudiant de première année une première expérience
professionnelle en milieu ouvrier. Je dois avouer que rétrospectivement je suis satisfaite
d’avoir effectué ce stage. D’un point de vue personnel, ce stage m’aura permi de découvrir un
tout nouveau mode de vie, et de s’intégrer dans un nouveau milieu professionnel.. En outre
cette découverte, ce stage m’aura également apporté une nouvelle vision de l’entreprise, aussi
bien au niveau organisationnel, qu’au niveau humain.
Durant ces quatre semaines, je me suis immergée totalement dans cette équipe ouvrière
composée de 4 stagiaires partageant trajets, temps de pause, et déjeuners. J’ai été surprise par
solidarité avec laquelle ils font preuve chaque jour, ainsi que la constance qu’ils adoptent au
sein de leur travail.
✓ L’autonomie
Le fait d’avoir travaillé sur le terrain apporte une maturité quasi-immédiate, qui me
permet de mieux cibler le problème, et ainsi de le traiter avec plus de rapidité. En fait , l’auto
apprentissage était une étape cruciale qui permet de mieux comprendre les taches demandées
et pour approfondir les compétences acquises .
✓ L’ouverture d’esprit
27
Ce stage fait preuve d’ouverture d’esprit. . C’est la curiosité et la volonté d’embrasser le
paradoxe qu’il peut y avoir entre les opinions de deux personnes.
Ce stage m’a appris d’accepter que nous ne pouvons pas tout savoir, que nos croyances ne
sont pas des principes inébranlables et que nous avons tous les jours de nouvelles choses à
apprendre. Alors c’est être prêt à parfois se remettre en questions et même changer nos
croyances, nos opinions ou nos idées conçues.
Nous observons les gens, et les acceptons tels qu’ils ont, respectons leur idée, mais toujours
sans faire preuve de naïveté.
Le stage est une composante majeure de la formation pratique dans un programme d’études
qui permet à l’étudiant d’acquérir, entre autres, de nouvelles connaissances, de développer ses
compétences et de réfléchir sur son comportement en situation réelle.Parmi les techniques
acquises on peut citer :
✓ CSS 3.0
✓ HTML5
✓ PHP5
✓ Le FrameworkLARAVEL 5.8
✓ SQL Lite
✓ WampServer
Les difficultés rencontrées sont apparues plus particulièrement au début de mon stage, en effet
la première semaine a été la plus difficile dans la mesure où il a fallu m'adapter au nouveau
cadre de travail c'est à dire « le monde réel de l'entreprise ». Ceci implique donc un
apprentissage rapide des outils de travail, plus précisément de l'utilisation de plusieurs
langages de développement. En outre, la gestion du temps et du stress était une difficulté
majeure puisque je dois finaliser le développement du site web durant seulement 4 semaines.
5.5 Conclusion
28
stagiaire, sa façon de s'intégrer, de résoudre des problèmes, de répondre à l'urgence... Et ne
manque pas de remarquer ses apports de compétences.
29
Conclusion et perspectives
Ce travail est passé par plusieurs étapes nécessaires à la mise en œuvre et le développement
de mon site web. Dans la première partie, j’ai mis le sujet dans son contexte général, en
présentant l'environnement du projet, l'étude et la comparaison avec les applications
existantes. Cette étape est nécessaire pour identifier les besoins de l'application et de définir
les fonctionnalités supplémentaires que l'application apportera.
Ensuite, j’ai passée par une étape de spécification des besoins en présentant la méthodologie
de développement et l'approche conceptuelle. Dans cette étape, j’ai défini les exigences
fonctionnelles et non fonctionnelles du projet ainsi que les acteurs de mon application.
Chaque jour les membres de l'équipe alternent des tâches d'organisation, de réflexion, de
débogage, d'amélioration ou même de documentation. Cela m’a permis de me rendre compte
des différentes tâches auxquelles je serais confrontée et que parfois la connaissance seule ne
suffit pas pour résoudre les problèmes. Cela me fait dire que rien n'est acquis et que le travail
d'ingénieur est une formation et un apprentissage de tous les jours.
Comme perspectives, le site peut être extensible encore. Je peux ajouter beaucoup d’autres
fonctionnalités tels que l’ajout des emplois de temps, la gestion des absences et des notes
aussi nous pouvons ajouter un module E-Learning qui offrira aux élèves de suivre leurs cours
par Internet. Nous pouvons aussi ajouter le Streaming pour donner la possibilité de suivre le
cours directement en vidéo.
30
Neto-graphie
https://fr.wikipedia.org/wiki/Sublime_Text#Version_3
http://www.wampserver.com/
https://www.supinfo.com/articles/single/3343-presentation-framework-php-laravel
31