Professional Documents
Culture Documents
DÉDICACES
Je dédie ce travail :
À mes chers parents, Coulibaly
Mamadou et Coulibaly Magnini.
Je n’ose pas imaginer une expression qui puisse résumer ma gratitude envers votre
soutient et encouragement. Aucune dédicace ne saurait exprimer mon amour et mon
respect pour vous.
Que ce travail soit pour vous un témoignage de ma vive reconnaissance et de mon amour
filial.
À mon oncle Couliblay Sidiki et ma
Tante Ouattara Fatoumata, Mes parrain et Encadreur Samson Olanyan, Sylla Mamadou et
mes chères frères et sœurs.
Avec tout mon amour et mon affection, je vous souhaite une vie pleine de bonheur et de
réussite et je vous remercie pour votre soutien durant toutes les périodes difficiles.
À mes amis, de HETEC,
À tous ceux qui m’aiment
REMERCIEMENTS
Nous tenons à exprimer nos sincères remerciements au tout clément, DIEU le plus grand pour
sa bienfaisance, miséricorde en notre faveur et nous a accordé la santé et longévité.
Nous souhaiterons adresser nos vifs remerciements aux personnes qui nous ont apporté leur
aide et qui ont contribué au bon déroulement de notre stage particulièrement au propriétaire
de l’entreprise ABOUAKE.NET et à son personnel qui nous ont réservé un accueil fraternel.
Nos sincères remerciements à M. SAMSON OLANIYAN, notre encadreur, qui grâce à ces
conseils prodigués, a toujours été à notre écoute et disponible tout au long de la réalisation de
ce projet.
RÉSUMÉ
Notre projet de fin d’études effectué à Abouake.net consistait en l’analyse, la conception et la
réalisation des modules de gestion des étudiants, des enseignants et des établissements de
l’enseignement supérieur, technique et générale. Ces modules font parties de certains projets
à caractère national lancé par Abouaké.net pour la mise en œuvre des solutions de gestion
d’établissement scolaire au niveaux préscolaire, primaire, collégial, secondaire et supérieur.
Pour mener à bien notre travail, nous avons découpé le projet en quatre étapes. Au début,
nous avons défini le contexte général du projet, et on a adopté comme démarche de conduite
ABSTRACT
Our end-of-studies project carried out at Abouake.net consisted of the analysis, design, and
production of management modules for students, teachers and institutions of higher,
technical and general education. These modules are part of certain national projects launched
by Abouaké.net for the implementation of school management solutions at the preschool,
primary, college, secondary and higher levels. To carry out our work, we divided the project
into four stages. At the beginning, we defined the general context of the project, and we
adopted as a project management approach, the RUP method (Rational Unified Process),
which is an iterative software development method based on the UML language. Then, we
moved on to the phase of analysis and specification of needs. In the next step, we tackled the
design phase to properly structure the business layer of our application. Finally, the last step
was the realization and implementation of the modules of our system using the technical
frameworks LARAVEL, FLUTTER, VueJs under the VS CODE development environment.
This report summarizes the work we carried out during the period of our internship and
consists of four chapters which retrace the different stages of our project.
DE Direction de l’Enseignement
TABLEAU II-4 : description textuelle cas d’utilisation « gestion des absences et retard »
SOMMAIRE
ABSTRACT................................................................................................................................................................3
SOMMAIRE...............................................................................................................................................................7
INTRODUCTION GENERALE...............................................................................................................................8
PROBLEMATIQUE..................................................................................................................................................9
I. PRESENTATION DE ABOUAKE.NET.....................................................................................................11
II. ORGANIGRAMME...................................................................................................................................12
CHAPITRE II : PRESENTATION DU PROJET..................................................................................................13
I. ONTEXTE...................................................................................................................................................13
CHAPITRE I : METHODE D’ANALYSE ET DE CONCEPTION.....................................................................16
I. NOTION DE MÉTHODE D’ANALYSE ET DE CONCEPTION..............................................................16
CHAPITRE II : ETUDE FONCTIONNELLE.......................................................................................................20
III. CONCLUSION PARTIELLE..........................................................................................................................36
INTRODUCTION GENERALE
Dans un monde devenu digitale, les entités présentant des systèmes administratifs complexe
sont à la recherche perpétuelle de solutions informatiques performantes qui leur permettra
d’automatiser leurs différentes tâches manuelles qui restent encore très archaïques.
Ainsi pour notre mémoire de fin de cycle, notre étude c’est porté sur les établissements
d’enseignement et de formation. Comme vu plus haut, la gestion actuelle des informations dans
nos écoles demeure encore manuelle et très rébarbatives ce qui cause beaucoup de problèmes.
Sans être exhaustif, nous pouvons cités : la lenteur dans toutes les activités de traitement des
données, un manque de rapidité dans la diffusion de résultats aux différents acteurs du secteur,
mais surtout la sauvegarde de l'historique et/ou palmarès des élèves ainsi que du corps
enseignant. L'éducation est devenue l'un des principaux facteurs de notre civilisation. Son
champ d'influence n'a cessé de s'élargir et le cadre par lequel elle est offerte ou poursuivie, s'est
tout à la fois multiplié et diversifié. Il est difficile d'en donner une définition précise et d'en
fixer le contenu, à tel point que souvent le substantif ? éducation ?
est complété par un adjectif afin de préciser le contenu. Notre projet sera limité sur
l'automatisation de la gestion des informations concernant les élèves des écoles
d’enseignement secondaire et supérieur, vu la complexité et la multiplicité des opérations de
ces écoles.
PROBLEMATIQUE
Avec Abouake.net Après avoir passé en revue la situation des écoles secondaire et supérieur, la
question suivante a été proposée : comment le développement d'un système de gestion des
informations automatisé pourrait faciliter à ces écoles la gestion et l’automatisation quasi
complète de toutes leurs opérations administratives et d’enseignements ainsi que toutes
les possibilités offertes par ces écoles ? Comment proposer sans redéfinir les règles de gestion
des écoles avec une solution digitale innovante ? C’est ce questionnement profond et
rationnelle qui nous a mené à la mise en place de la solution digitale SchoolManager.
SchoolManager est une solution qui présente une très grande quantité de modules et pour se
faire nous avons travaillé en une équipe de trois pour la réalisation. Ainsi pour ma part j’ai
travaillé sur le module de gestion des notes, des moyennes et des parents.
I. PRESENTATION DE ABOUAKE.NET
II. ORGANIGRAMME
I. CONTEXTE
Notre projet de fin de cycle s’inscrit dans le cadre du programme de digitalisation lancé par
abouké.net. L’intérêt est de permettre à toute entité de disposer d’un système informatique
robuste, conviviale et à la pointe de la technologie pour leur offrir des systèmes de gestion
performant. En te qu’apprenant dans le domaine du génie logiciel nous avons profité de cette
opportunité pour participer à cette grande démarche de transformation digitale.
Le projet de notre étude s’inscrit très clairement dans le domaine de l’enseignement mais plus
précisément au niveau secondaire et supérieur. L’éducation est l’un des socles dans
l’avancement socio-économique de tout pays. Alors cela nous a paru extrêmement important
d’apporter notre pierre à l’édifice.
Il est important pour nous de rappeler que tout processus de digitalisation que cela soit dans le
domaine de l’éducation ou tout autre vise un certain nombre d’objectifs. Toutefois nous ne
redéfinissons pas les règles et les principes du fonctionnement dans l’ensemble du secteur de
l’éducation mais nous étudions et réglons à l’aide du digitale les problèmes qui peuvent faire
objet de solution informatique. Nous visons entre autres l’amélioration de la gestion des
apprenants, l’amélioration du suivie des apprenants par les parents et la gestion plus stricte de
l’enseignement par la traçabilité des enseignants.
Le management des étudiants quand il s’agit de l’enseignement supérieur ou des élèves dans
l’enseignement secondaire a toujours été critiqué et fait objet d’optimisation. Cela n’est pas
hasardeux vu les nombreux incidents, la lenteur dans les traitements des données de ces
apprenants en passant par l’archivage de leur passage dans un établissement. En effet il est
difficile pour bon nombre d’établissement d’enseignement aujourd’hui de produire des
statistiques pertinentes sur les apprenants, de retrouver des informations fiables, de gérer
l’obtention des diplômes avec une certaine facilité.
Il est fort de constaté à quel point il est difficile pour les parents de faire un suivie claire, précis
et sûre de leurs enfants dans leur apprentissage. En effet les tendances actuelles et les nombreux
incidents survenues ces dernières années (exemple des élèves qui décident d’aller en congé
avant les dates prévues) montrent à quel point il est difficile un fois sortie de la maison pour un
parent de savoir si sa progéniture travaille réellement et correctement à l’école. Cela est dû
principalement à un manque de temps de la part du parent, des établissements eux-mêmes mais
aussi des apprenants qui une fois dehors ont un tout autre comportement. L’objectif pour nous
sera d’informer en temps réel et indépendamment des apprenants les parents et autres tuteurs de
leurs états de comportement, de leurs examens, de leurs notes et de toutes activités de
l’établissement les concernant. Ainsi même pour un parent n’ayant pas assez de temps pour le
suivie de son protégé saura que fait-il à l’école.
compréhension de celui-ci par les acteurs, surtout une participation, une collaboration active
entre informaticiens et acteurs à travers le recueil d’informations. L’ensemble des règles de
modélisation peut être appuyé par un processus ou méthode d’analyse dont le rôle est d’assurer
l’harmonie au sein d’un ensemble d’éléments coopératifs, et d’expliquer comment il convient
de se servir du langage de modélisation
UML (Unifed Modeling Language, que l’on peut traduire par « langage de modélisation unifié
») est un langage permettant de modéliser un problème de façon standard. Ce langage est né de
la fusion de plusieurs méthodes existantes auparavant (OMT, BOOCH, OOSE), et est devenu
désormais la référence en termes de modélisation objet, à tel point que sa connaissance est
nécessaire pour conduire un grand projet.
Il est basé sur les concepts orientés objets et a été conçu pour la modélisation de tous les
phénomènes de l’activité de l’entreprise indépendamment des techniques d’implémentation
mise en œuvre par la suite. Il n’est ni une méthode, ni un processus mais un langage de
modélisation. Dans le cadre de la modélisation d’une application informatique, UML n’impose
pas une démarche particulière pour l’analyse du système mais préconise d’adopter une
démarche ayant les caractéristiques suivantes :
Itérative et Incrémentale ;
Avec UML, ce sont les utilisateurs qui guident la définition des modèles : le périmètre du
système à modéliser est défini par les besoins des utilisateurs. Le but du système à modéliser
est de répondre aux besoins de ses utilisateurs. Les besoins des utilisateurs servent tout au long
du cycle de développement qui est itératif et incrémentale. A chaque itération de la phase
d’analyse, on clarifie, affine et valide les besoins des utilisateurs. A chaque itération de la phase
de conception et de réalisation, on veille à la prise en compte des besoins des utilisateurs. A
chaque itération de la phase de test, on vérifie que les besoins des utilisateurs sont satisfaits.
Une architecture adaptée est la clé du succès d’un développement. Elle décrit des choix
stratégiques qui déterminent en grande partie les qualités du logiciel : adaptabilité,
performance, fiabilité. Pour faciliter la vision du non-programmeur et le travail du
programmeur et afin d’obtenir une vue d’ensemble du système en un temps beaucoup plus
court, UML a initié le concept visuel fondé sur les diagrammes. UML 2.0 définit treize (13)
diagrammes repartis selon les modèles suivant :
✓ Le diagramme de classe : Il illustre les classes avec les attributs, les méthodes et les relations
entre les classes.
✓ Le diagramme d’objets : Il permet de vérifier la validité du diagramme de classe.
✓ Le diagramme de structure composite : Il décrit les relations entre les composants d’une
classe ;
✓ Le diagramme d'états-transitions : Il montre les différents états que peut prendre un objet
instance de la classe lors de son cycle de vie ;
✓ Les modèles d’interactions ou dynamiques : Ils représentent les interactions entre le système
lui-même et les différents acteurs du système, mais aussi la façon dont les différents objets
contenus dans le système communiquent entre eux. Ce sont les diagrammes suivants :
UML n’impose pas un ordre d’utilisation des diagrammes, ces derniers sont utilisés en
fonction de la méthode d’analyse
Les avantages présentés par UML, nous permettent de faciliter la modélisation des différents
aspects de notre projet. En effet UML présente l’avantage d’être le standard de la modélisation
objet universellement reconnu. Il est un langage visuel. Sa notation graphique permet
d’exprimer visuellement des solutions objets facilitant ainsi la comparaison et l’évaluation de
celles-ci. C’est un langage formel et normalisé doté d’un gain de précision et d’un gage de
stabilité. Il est aussi un support de communication performant car il cadre l’analyse tout en
facilitant la compréhension des représentations abstraites complexes. En outre, UML sert à
formaliser tous les documents techniques d’un projet et permet d’affiner les détails de l’analyse
au fur et à mesure de l’avancée du projet. Il est possible d’utiliser le même atelier de génie
logiciel depuis l’expression des besoins jusqu’à la génération de tout ou d’une partie du code.
Enfin, il est indépendant des langages de programmation et des processus de développement.
Les diagrammes que nous avons utilisés dans notre analyse sont :
✓ Le diagramme de cas d'utilisation : qui identifie toutes les fonctionnalités que le système doit
offrir.
L’application doit aussi permettre de garder toutes les informations pertinentes qui contiennent
les données personnelles des étudiants (date et lieu de naissance, adresse, numéro de téléphone,
nom et prénom de l’étudiant et de ses parents ou tuteur…), aussi les données particulières à
l’école (identifiant, niveau, classe), les informations complémentaires (parcours scolaire,
situation sanitaire…).
L’application cible doit aussi être en mesure de détenir et sauvegarder des informations
concernant l’établissement (nom, adresse, localisation, milieu (urbain ou rural), statut (public
ou privé), description des locaux (salles de classes, salle de bureaux, internats, réfectoire,
cuisines, bibliothèque, transport)).
Elle doit aussi permettre la définition des postes des cadres administratifs, des enseignants et
des agents, ainsi que leurs fonctions et occupations, elle doit aussi permettre de générer et
d’imprimer des rapports, générer des attestations de formation, autorisations et des statistiques.
Elle doit aussi permettre d’envoyé automatiquement des notifications aux parents,
enseignants en cas d’absences ou retards de l’élève et de notes, composition. Précisément la
solution sera constituée d’une application web et d’une application mobile iOS et
ANDROID.
L’analyse du contexte a pour objectif l’identification des différents acteurs qui interagiront avec
le système. Ces acteurs seront regroupés par la suite sous forme de rôles dont chacun englobe
un ensemble d’entités. Le regroupement sera effectué en se basant sur les interactions
1. Les rôles
Un rôle réfère à une mission et à des responsabilités assumées par les acteurs du système
étudié. Un acteur (utilisateur, dispositif matériel ou autre système) interagit directement avec le
système
et peut consulter et/ou modifier directement l’état du système, par émission et/ou réception de
messages éventuellement porteurs de données.
Les acteurs que nous avons identifiés à partir de la description des fonctionnalités ci-dessus
sont les suivants :
Gestionnaires :
Utilisateurs externes :
✓ Enseignant : Consultation des listes des étudiants, éditions des notes, remplissage de cahier de
texte, génération de rapport d’absences…
Administrateurs :
Utilisateurs simples (internaute) : ils ont seulement le droit de consulter les données du système
et d’effectuer des recherches suivant des critères précis.
2. Diagramme de contexte
Le diagramme de contexte a pour but de représenter les flux d’informations entre le système et
les acteurs externes. Il permet d’isoler le système en le délimitant et ainsi définir les éléments
externes avec lesquels il interagit. C’est ainsi que l’on modélise le contexte général du projet
par le diagramme de contexte ci-dessous (Figure II-2)
Les cas d'utilisation permettent de recueillir, d'analyser et d'organiser les besoins, et de recenser
les grandes fonctionnalités d'un système. Il s'agit donc de la première étape UML d'analyse d'un
système.
Dans cette section nous allons présenter les cas d’utilisation concernant les modules de:
I. Diagrammes d’activités
Les diagrammes d’activités permettent de mettre l’accent sur les traitements. Ils sont donc
particulièrement adaptés à la modélisation du cheminement de flots de contrôle et de flots de
données. Ils permettent ainsi de représenter graphiquement le comportement d’une méthode ou
le déroulement d’un cas d’utilisation.
Nous allons présenter dans cette section les diagrammes d’activités concernant le processus
d’inscription d’un étudiant, et celui de la gestion d’absence au sein d’un établissement
d’enseignement.
Par défaut la possibilité est laissée au gestionnaire DFE de vérifier les données et d’enregistré
l’étudiant.
II.
Les diagrammes de séquence sont des diagrammes d’interactions qui permettent de modéliser
les scénarios. Ils ont pour objectif de mieux représenter les interactions entre les objets de notre
projet selon un point de vue temporel. En effet, une fois les besoins du système formalisés à
travers les diagrammes de cas d’utilisation, il faut ensuite modéliser les interactions entre le
système et les différents acteurs à travers la succession séquentielle des actions. Dans cette
section nous allons présenter des exemples de diagrammes de séquences de notre système.
Dans ce chapitre nous avons capturé les besoins fonctionnels de notre système et dans la phase
d’analyse nous avons décrit les règles métiers en se basant sur des diagrammes des cas
d’utilisations et de séquences.
Le chapitre suivant sera consacré à la conception de notre système en se basant sur les résultats
obtenus dans la partie traitant de l’analyse.
• Classe
• Attribut
• Identifiant
• Relation
• Opération
• Généralisation / spécialisation
Comme son nom l'indique, un diagramme d'interaction UML est un type de diagramme UML
utilisé pour représenter le comportement interactif d'un système. Les diagrammes d'interaction
se concentrent sur la description du flux de messages au sein d'un système, en fournissant du
contexte pour une ou plusieurs lignes de vie. Ils peuvent également servir à illustrer des
séquences ordonnées et permettre de visualiser des données en temps réel dans vos
modélisations de systèmes UML.
Les diagrammes d'interaction peuvent être appliqués dans plusieurs cas de figure pour fournir
un ensemble unique d'informations. Ils peuvent ainsi être utilisés pour :
La complexité de cette étape du projet réside principalement dans le choix d’outils répondant
aux normes technologiques d’actualités mais surtout ceux qui respectent les règles du CQFD
(Coût Qualité Fonctionnalités Délai). En effet le système qui est fabriqué doit répondre aux
besoins des utilisateurs (correction fonctionnelle), la qualité doit correspondre au contrat de
service initial, les coûts restent dans les limites prévues au départ, les délais restent dans les
limites prévues au départ. Les outils choisis devront permettre :
✓ L’intégrité (sécurité) : aptitude d ’un logiciel à protéger son code contre des
accès non autorisés. 8 Qualités du logiciel : facteurs internes
✓ La Lisibilité et la modularité.
En générale une équipe de développement informatique est divisée en deux parties qui
sont :
❖ L’équipe Back-End : Placée sous l’égide d’un directeur technique, elle intègre
les besoins de tous ses interlocuteurs, techniques et commerciaux. Ainsi, les développeurs
Back-End travaillent collégialement avec une équipe dont chaque acteur a une vision précise du
produit : administrateur système, product manager, développeur Frontend, responsable
marketing et communication. Elle est le socle technique sur lequel repose le projet digital et
choisit les outils et les méthodes de travail les plus adaptés au développement.
C’est compte tenu de toutes ces exigences de projet que nous avons fait les
choix de nos outils que nous avons regroupé en deux catégories : matériel et
logiciel
I. MATÉRIELS
Dans cette partie nous listerons tout le matériel qui rentrera dans le cadre de la réalisation de
notre solution.
1. Le réseau
En effet toute solution digitale surtout relevant du milieu du logiciel et des applications
demande un déploiement, c’est-à-dire rendre l’application accessible aux clients. Cette phase se
fait généralement dans le réseautage et pour se faire il faut définir une architecture de
déploiement, ici nous avons optés pour le modèle le plus utilisé et le plus facile à mettre en
place à savoir le modèle client/serveur avec sa variante 3-tiers. Dans cette approche
l’architecture logique du système est divisée en trois niveaux ou couches : couche de
présentation ; couche de traitement ; couche d'accès aux données.
Pour la mettre en œuvre nous avons utilisé les outils suivants :
Apache est le serveur web le plus utilisé au monde. Son développement a commencé en 1995
alors qu’il s'agissait uniquement d'une collection de correctifs et d'additions au serveur NCSA
HTTPd 1.3. Il offre une grande souplesse de configuration et un grand nombre modules pour
une couverture fonctionnelle toujours inégalée. La version 2 a notamment apportée le support
de plusieurs plateformes (dont Windows), une nouvelle API et le support d’IPv6. En plus de
son périmètre initial, Apache est conçu pour être modulaire et permettre l’accueil de
fonctionnalités additionnelles comme l’interprétation du langage PERL, PHP, Python et Ruby,
le support des tags SSI et des CGI, etc. Il est distribué sous licence Apache.
2. Les terminaux
Les terminaux représentent l’ensemble de tous les appareils tels que ordinateurs, smartphone,
router et tous las appareils qui ont servis dans la réalisation de l’architecture matériel. Dans ce
projet nous avons utilisés :
II. LOGICIELS
Les outils logiciels représentent l’ensemble de toute les autres solutions informatiques
existantes déjà qui nous permis de réaliser certaines étapes de notre projet tout en entier. En
effet en partant de la phase d’analyse et de conception jusqu’à la phase d’implémentation, nos
deux équipes Back-End et Front-End ont faits usage de plusieurs outils logiciels. Mais il serait
important pour notre part de revenir sur l’architecture logicielle de notre solution pour mieux
comprendre les choix de certains de nos outils. Mais qu’est-ce qu’une architecture logicielle ?
L’architecture d’un logiciel décrit la manière dont seront agencés les différents éléments
d’une application et comment ils interagissent entre eux. Il existe aujourd’hui une multitude
d’architectures logicielle mais celles qui sont en vogue en ce moment sont les architectures en
micro-services. Et c’est pour cette architecture que l’on a opté. L’avantage d’une telle
architecture impose naturellement l’utilisation de certains outils et certaines règles dans le
développement. Mais de quoi est ce qu’il s’agit quand on parle de micro-services ? et quelles
sont les avantages d’une telle approche ?
Le micro-service est une approche permettant de développer une application unique sous
la forme d'une suite logicielle intégrant plusieurs services. Ces services sont construits autour
des capacités de l'entreprise et peuvent être déployés de façon indépendante. Les micro-services
stimulent les équipes de développement et les routines grâce à un développement distribué. On
peut aussi développer plusieurs micro-services simultanément. Ainsi, davantage de
développeurs peuvent travailler en même temps, sur la même application, ce qui réduit la durée
du développement.
La mise en place d’une telle approche a nécessité entre autres les outils suivants : les
Framework, les langages de programmation, les systèmes d’exploitation, les éditeurs de textes,
les éditeurs de code, les éditeurs de créations graphiques, les API manager, les plateformes de
collaboration et de gestion de version, les logiciels de conception de Système d’Information, les
gestionnaires de dépendances et les logiciels de teste API.
1. Les Framework
En programmation informatique, un Framework (appelé aussi infrastructure logicielle,
infrastructure de développement, environnement de développement, socle d'applications, cadre
d'applications ou cadriciel) désigne un ensemble cohérent de composants logiciels structurels,
qui sert à créer les fondations ainsi que les grandes lignes de tout ou partie d'un logiciel
(architecture). Un Framework se distingue d'une simple bibliothèque logicielle principalement
par :
Les Framework sont donc conçus et utilisés pour modeler l'architecture des logiciels
applicatifs, des applications web, des middlewares et des composants logiciels. Les Framework
sont acquis par les informaticiens, puis incorporés dans des logiciels applicatifs mis sur le
marché, ils sont par conséquent rarement achetés et installés séparément par un utilisateur final.
Flutter : Qui est un Framework développé par Google, le plus récent de tous. De
ce fait, les ingénieurs ont pu observer les points forts et les faiblesses de chaque outil existant
pour n’en extraire que la quintessence. En effet ce Framework est utilisé pour tout ce qui est
interface utilisateur. Mais aujourd’hui Flutter se fait surtout connaître pour sa capacité à
concevoir des applications natives multiplateforme pour Android et iOS (Windows/Mac/Linux
sont également supportés). L’équipe de Flutter provient essentiellement du Web (plus
particulièrement de Chrome) et a essayé d’adapter sa philosophie au monde du mobile. Ils se
sont appuyés pour cela sur Skia, le moteur qui fait partie intégrante de Chrome ou encore de
toute la gestion du texte d’Android.
lus, compris et modifiés par une équipe de programmeurs. Les langages de programmation dont
nous nous sommes servis sont les suivants :
PHP : HyperText Preprocessor, 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. C’est grâce à lui qui nous
avons construit une très grande partie de notre Back-End.
Dart : Dart est un langage de programmation optimisé pour les applications sur
plusieurs plateformes. Il est développé par Google et est utilisé pour créer des applications
mobiles, de bureau, de serveur et web. Dart est un langage orienté objet à ramasse-miettes avec
une syntaxe de type C++. Il est très réputé pour sa complémentarité avec le Framework Flutter
évoqué plus dans la création d’application mobile native.
SQL : SQL est un langage informatique normalisé servant à exploiter des bases
de données relationnelles. La partie langage de manipulation des données de SQL permet de
rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données
relationnelles. Outre le langage de manipulation des données .
Un éditeur de code source est un programme d'édition de texte spécialement conçu pour
l'édition du code source d'un programme informatique. Il peut s'agir d'une application
L'efficacité de l'API peut faire ou défaire votre produit. L'API agit comme un pont entre
la base de données et l'interface utilisateur de votre application. Par conséquent, les tests API
dans le développement de produits ont à juste titre gagné en importance au cours des dernières
années.
Bien que les avantages des tests d'API soient nombreux, il est facile de se poser des
questions sur l'incorporation et la gestion des tests d'API dans le développement continu et les
environnements agiles.
Notre architecture étant du micro-service alors il nous était impératif dans notre phase
de test de recourir à de tels logiciels. Ainsi tout au long de cette phase nous avons interagit
avec le logiciel Postman. Ce logiciel permet de lancer une série de requêtes HTTP les unes
après les autres en les enregistrant dans une collection puis en exécutant cette collection.
Grâce à l'utilisations de variables, on peut créer une séquence de requête qui vont reprendre
les données des réponses pour les requêtes suivantes.
ARCHITECTURE MATERIEL ET
Une application web ou mobile (aussi appelé site Internet ou page web) est un ensemble de
pages Web liées, structurées, cohérentes, sécurisées et facilement accessible, stocké sur un
ordinateur connecté en permanence à Internet et hébergeant les pages web (cet ordinateur
possède un logiciel permettant de servir les pages web, on parle évidemment d'un serveur
web). De même une application mobile présente un ensemble organisé et structuré d’écrans qui
se succèdent les uns à la suite des autres. Que ce soit dans le cas d’une application web ou
mobile dans cette partie nous présenterons points liés uniquement à l’application web car la
réalisation d’une application web et mobile ne présente pas des critères assez différents. Cette
conception se fait en deux étapes qui sont :
- La lisibilité
- La visibilité
La lisibilité du site Web est la capacité à rendre facile la lecture du site, en structurant les textes
et en organisant de façon hiérarchique les informations.
Pour se faire, elle possède deux caractéristiques qui sont l’ergonomie et la navigation.
1. Ergonomie
L'ergonomie d'un site Internet est sa capacité à rendre facile la recherche et l'accès à
l'information, à transmettre un message, à remplir ses objectifs, à répondre aux attentes et
besoins des internautes.
Cela doit se faire de manière pratique et agréable. L'ergonomie se caractérise par :
La sobriété ;
La lisibilité ;
L’utilisabilité ;
La rapidité ;
L’interactivité ;
L’accessibilité.
1.1. La sobriété
1.2. La lisibilité
1.3. L’utilisabilité
1.4. La rapidité
Elle est caractérisée par l’optimisation des images. Étant le principal facteur des lenteurs des
chargements des pages, les images auront leurs formats choisis selon leurs types et leur nombre
de couleurs sera le plus petit possible.
1.5. L’interactivité
1.6. L’accessibilité
2. Utilisation de l’application
La navigation est la manière de rendre facile les déplacements des visiteurs en utilisant
l’environnement hypertexte qui est un système dans lequel les objets (textes, images, musiques,
programmes, etc.) sont associés de manière créative. L’environnement hypertexte offre
d’énormes possibilités pour la rédaction et la structure désinformations. Dans un tel document,
on accède instantanément à des informations connexes grâce à des signaux de navigation, tels
que tables de matières, références croisées, des graphismes attrayants et aussi un jeu de liens
textuels. La navigation doit être exploitable et structurée.
Une utilisation efficace comprend non seulement des liens vers d’autres pages de
l’application mais aussi des éléments permettant au visiteur de se situer. Il doit pouvoir
répondre aux questions suivantes :
Où suis-je ?
Où puis-je aller ?
Comment puis-je y aller ?
Comment puis-je revenir à mon point de départ ?
Savoir quelle est la page courante ainsi que le type de contenu qui est consulté;
Savoir se situer par rapport au reste de l’application ;
Disposer de liens faciles à comprendre et cohérents ;
La chose la plus importante à considérer lorsqu'on prépare le design d'une application, c'est la
satisfaction des utilisateurs. La facilité avec laquelle ils trouveront ce qu’ils recherchent
déterminera la fréquence avec laquelle ils reviendront sur celle-ci. La structuration de
l’application consiste à bâtir l'architecture globale de celle-ci en organisant les différentes
informations. Plusieurs structures informationnelles de base (hiérarchiques, Web…) existent et
doivent être utilisées et adaptées selon le contenu de l’application. La structure Web propose
des liens entre toutes les pages de l’application. Cela permet ainsi à l’utilisateur de passer
librement d’une page à l’autre d’où l’utilité d’une barre de navigation standardisée.
Elle va servir à informer l’utilisateur sur sa position courante et sur ses possibilités de
déplacement.
La visibilité de l’application orientée Web ou mobile fait référence au UIX design qui est
la discipline consistant à structurer les éléments graphiques d'un site Web ou d’une application
mobile afin de traduire, à travers une dimension esthétique, l'identité visuelle de la société ou
de l'organisation. Il s'agit ainsi d'une étape de conception visuelle, par opposition à la
conception fonctionnelle (ergonomie, navigation) et aux éléments contenus dans le site. Dans
cette partie nous présenteront la conception du site web.
En français comme en anglais, design signifie « conception ». L’objet du Web design est
de valoriser l'image de l'entreprise ou de l'organisation par le biais d'éléments graphiques afin
de renforcer son identité visuelle et de procurer un sentiment de confiance à l'utilisateur.
Néanmoins, en vertu des critères d'ergonomie, une application orientée Web doit avant tout
répondre aux attentes des utilisateurs et leur permettre de trouver facilement l'information qu'il
cherche. Pour se faire, le Web design met l’accent sur :
Afin de respecter les critères d’ergonomie, les pages d’une application orientée Web se
baseront sur la structure traditionnelle d'une page Web dont les spécifications sont les suivantes
:
Un pied de page regroupant des informations utiles telles que la date de mise à jour, un lien
vers un formulaire de contact, un plan d'accès, etc.
La taille de la page Web dépend essentiellement de la définition d'affichage des postes des
visiteurs. Ainsi, afin de permettre aux visiteurs de survoler facilement l'information pour
repérer les éléments qui l’intéresse, plusieurs stratégies peuvent être mise en œuvre pour
garantir un affichage optimal :
Choisir la plus petite largeur supportée par le plus grand nombre (entre 600 et
1000 pixels de largeur par exemple)
Choisir une page comportant des tableaux invisibles de largeurs variables
(définies en pourcentage)
Des études sur le comportement humain ont montré que l'œil de l'internaute moyen
parcourt généralement la page web selon un cheminement global en « zigzag » commençant à
l'angle supérieur gauche, jusqu'à l'angle inférieur droit. Ainsi le positionnement des
informations sur la page se fera selon leur importance. Le menu s’affichera en haut, les trois
plus récents articles se présenteront au milieu de la page suivie de trois autres à droit, et les
trois derniers s’afficheront au bas du site.
Actuellement, les trois formats de fichiers d’image le Web exploite sont : GIF, JPG et
PNG utilisant toute une technique de réduction de volume par compression. Ainsi pour que
celle-ci fonctionne, et pour que les images s’affichent conformément aux attentes des
utilisateurs, les pages de l’application comporteront des images dont le format sera fonction de
leurs types : Le format GIF (Graphics Inter change Format) sera associé à tous les graphiques
colorés et tracés simple. Le format JPEG (Joint Photographic Experts Group) : sera associé aux
photographies polychromes 24 bits et aux graphismes complexes contenant des dégradés, des
ombrés et des flous
Aucune image n’aura le format PNG car il n’est pas pris en charge par certains navigateurs.
Afin de respecter le critère de sobriété, la couleur principale le blanc est plus utilise car
elle symbolise la paix et le bleu comme couleur associé de notre application tout ce mélange a
donné une belle vue à notre site. En considérant l’harmonie des couleurs, le rouge servira à
1. Écrans
CONSLUSION
Durant ce stage effectué à A-bouake.net, il nous a été́ demandé de mettre en place une
plateforme (mobile & web) de gestion d’établissement scolaire.
Quant à la réalisation de notre système << SchoolManager >>, nous espérons qu’il pourra aider
l’ensemble des établissements scolaires privé et public, le ministère de l’éducation national.
En outre, nous sortons beaucoup enrichi de ce stage. En effet, il nous a permis de mettre en
pratique les nombreuses connaissances théoriques acquises au cours de notre formation, de
nous imprégner des réalités de l’entreprise notamment les relations humaines, la prise de
décision et d’améliorer nos connaissances et méthodes de travail. Ce stage nous a enfin permis
de comprendre certains détails de la conception et de la programmation d’une API et de nous
adapter aux exigences du monde professionnel ainsi que le travail en équipe.
Le développement d’Api devient de plus en plus vulgarisé. Il serait donc bénéfique pour tout
étudiant, professeur et même professionnel de s’y intéresser pour ne pas être mis à l’écart par
l’avancée de la technologie.
Bibliographies
1) J.Aldrich, C.Chambers, and D.Notkin (2002) « ArchJava : Connecting SoftwareArchitecture to
Implementation ». InProc. International Conference on SoftwareEngineering, pages 187–197.
ACM Press
2) Laurent Audibert, « Diagramme de séquence » [archive], sur developpez.com
4) [Roques 06] Les cahiers du Programmeur UML 2 : modéliser une application web, P. Roques, 2006,
Eyrolles.
Webographies
1) Documentation sur l’utilisation des API REST sur Openclassroms. Reference
www.openclassroms.com
2) Utilisation de la documentation de Laravel, Référence www.laravel.com
3) Moteur de recherche, Référence www.google.com
4) Installation et utilisation des packages du Framework Flutter, Référence www.flutter.dev
Annexe
ABSTRACT................................................................................................................................................................3
SOMMAIRE...............................................................................................................................................................7
INTRODUCTION GENERALE...............................................................................................................................8
PROBLEMATIQUE..................................................................................................................................................9
I. PRESENTATION DE ABOUAKE.NET.....................................................................................................11
II. ORGANIGRAMME...................................................................................................................................12
CHAPITRE II : PRESENTATION DU PROJET..................................................................................................13
I. ONTEXTE...................................................................................................................................................13
CHAPITRE I : METHODE D’ANALYSE ET DE CONCEPTION.....................................................................16
I. NOTION DE MÉTHODE D’ANALYSE ET DE CONCEPTION..............................................................16
II. CHOIX DE LANGAGE DE MODÉLISATION.......................................................................................17
III. PRÉSENTATION D’UML..................................................................................................................17
CHAPITRE II : ETUDE FONCTIONNELLE.......................................................................................................20
1. Les rôles..................................................................................................................................................22
2. Diagramme de contexte...........................................................................................................................24
3. Diagramme de cas d’utilisation..............................................................................................................24
3.1. Gestion des élèves et étudiants...........................................................................................................26
I. Diagrammes d’activités...........................................................................................................................32
II........................................................................................................................................................................33
II. Diagramme de séquence.........................................................................................................................33
1. Diagramme de séquence gestion d’établissement...................................................................................34
2. Diagramme de séquence d’authentification............................................................................................35
III. CONCLUSION PARTIELLE..........................................................................................................................36