Académique Documents
Professionnel Documents
Culture Documents
********************************
********************************
I
REMERCIEMENTS
Je tiens à rendre grâce à Dieu le Tout-Puissant, source de toute sagesse et de force, pour
m'avoir guidé et inspiré tout au long de cette période d'études.
Je souhaite également adresser ma gratitude à l'administration et à l'ensemble du corps
professoral de l’Institut Supérieur d’Informatique de Dakar. Votre dévouement à
l'éducation a joué un rôle essentiel dans mon développement académique et personnel.
Vos enseignements, conseils et orientations ont été inestimables pour moi.
Je tiens à remercier chaleureusement mon encadreur. Ses connaissances, son expertise
et son soutien ont été cruciaux pour la réalisation de ce travail. Ses précieux
commentaires et ses encouragements m'ont guidé tout au long de cette aventure.
Je n'oublie pas de saluer mes camarades de classe. Leur amitié, leurs partages
d'expérience et leurs moments de collaboration ont enrichi mon parcours académique.
Un remerciement spécial s'adresse à l'Amicale des Élèves, Étudiants et Stagiaires
Guinéens au Sénégal pour leur soutien et leur solidarité tout au long de mon parcours
académique.
Enfin, je souhaite exprimer ma reconnaissance à l'entreprise dans laquelle je travaille
(FINAPPS) pour m'avoir soutenu et encouragé à poursuivre mes études tout en
continuant ma carrière. Leur flexibilité et leur compréhension ont été déterminantes
pour mon succès.
II
AVANT-PROPOS
III
SOMMAIRE
DEDICACE ........................................................................................................................................... I
REMERCIEMENTS .......................................................................................................................... II
SOMMAIRE ....................................................................................................................................... IV
RESUME ............................................................................................................................................. IX
ABSTRACT..........................................................................................................................................X
BIBLIOGRAPHIE ............................................................................................................................... i
WÉBOGRAPHIE ................................................................................................................................ ii
IV
LISTE DES ABRÉVIATIONS
AI Artificial Intelligence
V
LISTES DES FIGURES
VI
Figure 33 Maquette : recherche avancée ..................................................................... 52
Figure 34 Maquette : interface de gestion de contenu des établissements .................. 53
Figure 35 Maquette : interface d'administration de l'administrateur ........................... 54
Figure 36 Interface de l'acteur Parent .......................................................................... 55
Figure 37 Architecture détaillée de la plateforme........................................................ 56
Figure 38 Configuration du service Gateway .............................................................. 57
Figure 39 Configuration du service Eureka Discovery................................................ 58
Figure 40 Tableau de bord du serveur Eureka Discovery............................................ 59
Figure 41 Architecture Spring Boot ............................................................................. 61
Figure 42 Architecture Angular ................................................................................... 63
Figure 43 Architecture de keycloak ............................................................................. 72
Figure 44 Intetrface d'administartion de Keycloak ...................................................... 73
Figure 45 Configuration de keycloak .......................................................................... 73
Figure 46 Page d'authentification ................................................................................ 75
Figure 47 Tableau de bord de l'établissement .............................................................. 75
Figure 48 Page gestion de l'établissement ................................................................... 76
Figure 49 Page gestion des départements .................................................................... 76
Figure 50 Page de modification d'un département....................................................... 77
VII
LISTES DES TABLEAUX
VIII
RESUME
Ce mémoire présente le développement d'une plateforme innovante de facilitation, de
recherche d'établissement et d'orientation. L'objectif principal de cette plateforme est de
simplifier et d'améliorer le processus de recherche et d'accès aux établissements éducatifs pour
les étudiants. La plateforme est conçue pour être hautement interactive et conviviale, offrant
aux utilisateurs un moyen efficace de rechercher des établissements en fonction de divers
critères tels que la localisation, les filières d'études, les coûts, etc.
Ce projet s'appuie sur une architecture microservices, permettant une évolutivité et une
flexibilité maximales. Les microservices sont dédiés à des fonctionnalités spécifiques telles
que la recherche et la gestion des établissements, la gestion des candidatures, la
recommandation, etc. L'ensemble du système est basé sur des technologies de pointe telles que
Spring Boot pour le backend, Angular pour le frontend, et utilise des outils comme Docker,
Kubernetes, Prometheus, Grafana, Keycloak, et bien d'autres pour garantir la sécurité, la
performance et la disponibilité.
La plateforme offre des fonctionnalités telles que la création de profils d'utilisateur, la
recherche d'établissements basée sur des critères personnalisés, des fonctionnalités de
candidature, et bien plus encore. De plus, le mémoire détaille l'importance des technologies de
gestion des identités et des accès (IAM) telles que Keycloak pour garantir la sécurité des
données des utilisateurs.
L'ensemble du mémoire décrit le processus de développement, les choix technologiques, les
défis rencontrés et les solutions apportées. Il s'agit d'une contribution significative au domaine
de la recherche d'établissement et de l'orientation, offrant une plateforme complète et innovante
pour faciliter ces processus.
IX
ABSTRACT
This dissertation presents the development of an innovative platform for facilitation,
establishment research and guidance. The main goal of this platform is to simplify and improve
the process of finding and accessing educational institutions for students. The platform is
designed to be highly interactive and user-friendly, providing users with an efficient way to
search for institutions based on various criteria such as location, study paths, costs, and more.
This project is based on a microservices architecture, allowing for maximum scalability and
flexibility. Microservices are dedicated to specific functionalities such as finding and managing
institutions, managing applications, recommending, and more. The entire system is based on
state-of-the-art technologies such as Spring Boot for the backend, Angular for the frontend,
and uses tools like Docker, Kubernetes, Prometheus, Grafana, Keycloak, and many others to
ensure security, performance, and availability.
The platform offers features such as creating user profiles, searching for establishments based
on custom criteria, application features, and much more. Additionally, the brief details the
importance of identity and access management (IAM) technologies such as Keycloak in
ensuring the security of user data.
The entire dissertation describes the development process, the technological choices, the
challenges encountered and the solutions provided. This is a significant contribution to the field
of institutional research and guidance, providing a comprehensive and innovative platform to
facilitate these processes.
X
1. Chapitre 1 : Introduction Générale
1.1. Présentation de la structure FindMySchool
FindMySchool est une structure dédiée à la création et à la gestion d'une plateforme novatrice
de facilitations, de recherche d’établissements et d’orientation pour l’enseignement supérieur
privé au Sénégal. Dans un monde en perpétuelle évolution, l'accès à l'éducation supérieure joue
un rôle essentiel dans le développement socio-économique d'une nation. FindMySchool
s'engage à simplifier et à améliorer ce processus crucial en mettant à disposition des outils
numériques modernes et efficaces.
Notre mission est de fournir une solution numérique complète et conviviale qui facilite l'accès
à l'information sur les établissements d'enseignement supérieur privé au Sénégal. Nous visons
à offrir aux étudiants, nationaux et internationaux, une plateforme centralisée et fiable pour
découvrir, comparer et choisir les établissements et les programmes d'études qui correspondent
le mieux à leurs aspirations et à leurs besoins.
Ø Nos Objectifs :
- Faciliter la Recherche : Nous souhaitons rendre le processus de recherche
d'établissements d'enseignement supérieur plus simple et plus efficace en offrant une
recherche avancée basée sur des critères spécifiques tels que le domaine d'études, le
niveau, la localisation, et bien plus encore.
- Fournir des informations détailées : FindMySchool s'engage à fournir des
informations détaillées et actualisées sur les établissements, les programmes
d'études, les frais de scolarité, les options de logement, et les débouchés
professionnels, afin d'aider les étudiants à prendre des décisions éclairées.
- Promouvoir l'égalité des chances : En offrant un accès équitable à l'information,
nous visons à promouvoir l'égalité des chances en permettant à tous les étudiants,
quelle que soit leur origine, d'explorer et de choisir des options éducatives de haute
qualité.
- Soutenir les Établissements : FindMySchool vise également à soutenir les
établissements d'enseignement supérieur en les aidant à promouvoir leurs offres
éducatives et à attirer les étudiants talentueux.
1
Conviviale et intuitive, elle offre une expérience utilisateur exceptionnelle. Les étudiants
peuvent rechercher des établissements et des programmes, explorer des informations détaillées,
sauvegarder leurs options préférées et postuler en ligne.
Ø Organigramme :
Président
1.2. Contexte
2
Cette expansion va au-delà de la simple multiplication des institutions. Elle s’inscrit dans une
vision plus large visant à positionner le Sénégal comme une destination éducative attractive,
non seulement pour les citoyens nationaux mais aussi pour les étudiants étrangers. La diversité
des établissements et des programmes offre aux étudiants un éventail de choix, permettant ainsi
de mieux répondre aux besoins spécifiques de chacun. Cela englobe des domaines tels que les
sciences, les arts, la technologie, les sciences sociales, et d’autres disciplines, contribuant ainsi
à la formation d’une main-d’œuvre polyvalente et adaptée aux défis contemporains.
L’implication croissante du secteur privé dans l’éducation supérieure sénégalaise est également
le signe d’une reconnaissance de la contribution essentielle du secteur privé au développement
de l’enseignement supérieur. Cette expansion témoigne de la volonté du gouvernement
sénégalais de créer un écosystème éducatif diversifié, capable de répondre aux besoins variés
des étudiants et du marché du travail.
En parallèle, la stabilité politique et la réputation croissante de l’enseignement supérieur au
Sénégal ont attiré une présence considérable d’étudiants étrangers. Cette diversité culturelle,
avec de plus de 44 nationalités représentées, enrichit non seulement le tissu social mais apporte
également une perspective internationale aux salles de classe. La venue de ces étudiants
étrangers souligne l’importance croissante du Sénégal en tant que hub éducatif régional, mais
accentue également les défis spécifiques auxquels les étudiants internationaux peuvent être
confrontés lors du choix de leur établissement.
Cependant, ces progrès s'accompagnent de défis majeurs, en particulier dans les processus clés
de gestion tels que l'orientation des étudiants vers des établissements adéquats et la recherche
de logement. Ces deux processus cruciaux impliquent divers acteurs, chacun exécutant des
activités spécifiques. Dans cette analyse, nous explorerons en détail ces processus, identifiant
les acteurs, leurs tâches et les difficultés rencontrées dans l'exécution de ces activités.
a. Les étudiants :
En dépit des aspirations élevées et de la volonté de réussite qui caractérisent les étudiants,
ces jeunes chercheurs de connaissances sont confrontés à des défis majeurs :
3
Ø La surpopulation dans certaines institutions
Ces disparités créent des inégalités dans l'accès aux opportunités éducatives, plaçant
certains étudiants dans des situations défavorables en fonction de leur lieu de résidence.
Les étudiants issus de régions éloignées peuvent être confrontés à des défis logistiques
importants pour atteindre des établissements éloignés, tels que des frais de déplacement
élevés, des temps de trajet prolongés et des contraintes de mobilité.
Le choix d'établissements éloignés par certains étudiants découle parfois d'une vision
erronée de la qualité éducative. Le manque d'informations adéquates sur les options locales
contribue à cette tendance, poussant les étudiants à rechercher des alternatives éloignées.
Ceci souligne l'importance cruciale de la communication et de la diffusion d'informations
précises sur les établissements.
4
des décisions d'inscription basées sur des renseignements limités, compromettant la
capacité des étudiants à faire des choix éclairés alignés sur leurs besoins et aspirations
académiques.
Cette situation n’épargne pas les étudiants étrangers aspirant à poursuivre leurs études au
Sénégal. Une enquête récente menée auprès de 500 étudiants étrangers de divers horizons
révèle que près de 60% d’entre eux basent leur choix d’établissement sur des informations
sommaires trouvées en ligne. Ce constat pointe du doigt l’absence criante d’informations
détaillées et crédibles concernant les options académiques et les services de soutien
dispensés par les établissements supérieur sénégalais. De plus, les étudiants étrangers, font
face à des obstacles importants liés à la nécessité de se rendre physiquement à l'école pour
candidater et s'inscrire. Ces contraintes géographiques entraînent des complications
logistiques et des frais supplémentaires de déplacement. Aussi, les démarches
administratives traditionnelles, souvent complexes et nécessitant une présence physique,
peuvent entraîner des retards, des difficultés de suivi et des frustrations pour les étudiants.
Ø Barrières linguistiques
Les barrières linguistiques ajoutent une couche de complexité, rendant la navigation des
procédures administratives difficile, en particulier pour les étudiants étrangers. Les
différences dans les procédures administratives amplifient ces défis, soulignant la nécessité
de simplifier et de rendre plus accessibles ces processus pour assurer une expérience
éducative inclusive.
Dans le panorama académique sénégalais, les établissements se trouvent dans une lutte
constante pour accroître leur visibilité et attirer les meilleurs talents.
5
Ø La concurrence accrue pour attirer les étudiants nécessite une différenciation claire en
termes de programmes académiques, qualité de l’enseignement, infrastructures et
services aux étudiants.
Ø Difficultés à se faire connaître, mettant en lumière l'importance de stratégies de
marketing efficaces. Maintenir des normes élevées de qualité académique et
d'infrastructures, tout en répondant à la diversité croissante des besoins étudiants,
représente un défi continu.
c. L’État (ANAQ-SUP)
Au cœur de ces difficultés, le rôle crucial de l'État, incarné par l'Agence Nationale d'Assurance
Qualité de l'Enseignement Supérieur (ANAQ-SUP), prend une importance capitale. L'ANAQ-
SUP agit comme un organisme de régulation, évaluant et surveillant la qualité des
établissements pour garantir leur conformité aux normes édictées par l'État. Cette régulation
stricte est essentielle pour assurer la véracité des informations sur la qualité des diplômes
offerts par les établissements, notamment en éliminant les pratiques douteuses et en
garantissant la crédibilité des programmes éducatifs.
d. Les parents
Dans cette démarche, les parents, en tant que parties prenantes cruciales dans le processus de
décision, peuvent rencontrer des difficultés à obtenir des informations fiables sur la qualité des
diplômes offerts par les établissements. Les sources d'information disponibles peuvent être
fragmentées ou peu accessibles. Ces défis cumulés mettent en évidence les complexités
auxquelles les établissements et les parents sont confrontés dans un environnement éducatif en
constante évolution.
Lorsque l'on évoque le parcours des étudiants qu’ils soient sénégalais ou étrangers dans le
paysage de l'enseignement supérieur privé au Sénégal, il est impossible d'ignorer l'un des défis
les plus prégnants qui marque leur transition vers une nouvelle étape de la vie académique : la
question cruciale du logement. Cette préoccupation devient d'autant plus aigüe pour ceux qui
décident de s'éloigner du cocon familial pour embrasser des études dans une nouvelle ville. La
recherche d'un logement adapté se transforme ainsi en une quête complexe, parsemée de défis
financiers, de contraintes géographiques et d'inquiétudes parentales. À travers cette
6
exploration, plongeons dans les nuances de ce défi majeur, examinons les obstacles financiers
qui émergent, les tensions sécuritaires qui préoccupent les parents, et les implications
profondes de ces réalités sur l'expérience éducative des étudiants sénégalais.
7
1.3. Problématique
8
Ø Frais de candidature et de logement : intégrer une fonctionnalité de paiement en
ligne pour les frais de candidature et de logement, simplifiant le processus financier
pour les étudiants nationaux et internationaux.
Ø Logements : les logements sont une composante essentielle pour les étudiants,
particulièrement ceux qui s'installent loin de leur lieu de résidence habituel. Cette
fonctionnalité vise à faciliter la recherche et l'accès à un logement adapté.
Pour l’État
9
Pour les parents
Ø Fiabilité des informations sur les établissements : cette fonctionnalité offre aux
parents une vision transparente et crédible des données essentielles. Ils pourront ainsi
consulter les évaluations de la qualité éducative, les taux de réussite, et les perspectives
professionnelles des diplômés, garantissant ainsi la véracité et la pertinence des
informations fournies par les établissements.
Ø Suivi du parcours des étudiants : La fonctionnalité de suivi du parcours des étudiants
permettra un accompagnement attentif et personnalisé, offrant aux parents une visibilité
continue sur les progrès académiques, les activités parascolaires, et les éventuelles
difficultés rencontrées par leurs enfants tout au long de leur parcours éducatif.
Ø Suivi du logement des étudiants : La fonctionnalité de suivi du logement des étudiants
assurera une surveillance proactive et continue des conditions de logement, offrant aux
parents la tranquillité d'esprit en fournissant des mises à jour régulières sur la sécurité,
le bien-être, et la satisfaction générale de leurs enfants concernant leur hébergement
pendant leurs études supérieures.
Pour l’administrateur :
10
éducatives, visent à créer un écosystème éducatif transparent, accessible, sécurisé, performant,
et évolutif.
L'intégration de fonctionnalités de sécurité garantit la protection des données sensibles des
étudiants et des parents, assurant ainsi un environnement numérique fiable. La disponibilité
continue de la plateforme offre aux utilisateurs un accès sans interruption, tandis que les
performances optimisées assurent une expérience fluide et rapide. L'extensibilité de la
plateforme permet de l'adapter aux évolutions futures du paysage éducatif, tandis que
l'inclusion de données détaillées sur les établissements, telles que les évaluations de la qualité
éducative, les taux de réussite, et les perspectives professionnelles des diplômés, renforce la
transparence et facilite la prise de décision éclairée.
En embrassant ces fonctionnalités, la plateforme aspire à simplifier les processus, à renforcer
l'engagement des parents, et à garantir une expérience éducative enrichissante pour chaque
apprenant. En jouant un rôle significatif dans la promotion de l'enseignement supérieur au
Sénégal, elle favorise le développement d'une main-d'œuvre diversifiée, qualifiée, et prête à
relever les défis contemporains, tout en assurant une sécurité, une disponibilité, des
performances, et une extensibilité exemplaires, ainsi qu'un accès transparent aux données
éducatives essentielles.
1.4. Objectifs
Nous aurons pour objectif final de ce mémoire, l’étude et la réalisation d’une plateforme qui
facilite la recherche d'établissements d’enseignement supérieur pour les étudiants tout en
prenant en compte leurs besoins en matière de logement.
Objectifs spécifiques:
11
paramètres tels que la localisation géographique, les spécialisations académiques, les
coûts de scolarité, et d'autres facteurs cruciaux. L'objectif est de simplifier le processus
de recherche et de présenter aux utilisateurs des résultats personnalisés correspondant
à leurs besoins spécifiques ;
Ø Gestion des candidatures : Un objectif majeur de la plateforme est de simplifier le
processus de candidature pour les étudiants. Cela implique la création d'une interface
conviviale pour soumettre des candidatures en ligne, la gestion transparente des
documents requis, et la fourniture de notifications en temps réel sur le statut des
candidatures ;
Ces objectifs visent à offrir une solution globale et intégrée pour répondre aux besoins
spécifiques des étudiants dans leur processus de recherche d'établissement d'enseignement
supérieur privée et de logement.
1.5. Motivations
La motivation derrière ce projet est guidée par la volonté de contribuer positivement à
l'amélioration de l'accès à l'éducation supérieure au Sénégal. Dans un contexte où
l'enseignement supérieur joue un rôle crucial dans la formation de citoyens compétents, dans
le développement socio-économique du pays, et dans la promotion de la recherche et de
l'innovation, il est essentiel de mettre en place des initiatives concrètes pour faciliter ce
processus d'accès à l'éducation supérieure.
Le constat des défis rencontrés par les étudiants sénégalais et étrangers dans leur recherche
d'établissement d'enseignement supérieur adéquat, ainsi que les contraintes liées au logement,
a suscité une profonde préoccupation. La complexité du système éducatif sénégalais, combinée
à l'absence d'une source centralisée et fiable d'informations, engendre des difficultés pour les
étudiants qui peinent à trouver les renseignements nécessaires pour faire des choix éclairés
concernant leur avenir académique.
La perspective de jouer un rôle concret dans l'amélioration du paysage éducatif du Sénégal, en
contribuant à l'égalité des chances dans l'accès à l'éducation supérieure, en favorisant
l'épanouissement personnel et académique des étudiants, et en soutenant le développement
socio-économique du pays, constitue une source de motivation puissante pour la réalisation de
ce mémoire. L'aspiration à contribuer au progrès du Sénégal en formant une nouvelle
génération de leaders compétents, éclairés et engagés, nourrit notre détermination à mener à
bien ce projet avec engagement, rigueur et innovation.
12
2. Chapitre 2 : Travaux Similaires
Introduction
Ce chapitre constitue une étape cruciale de notre étude, nous plongeant au cœur de l'exploration
des initiatives et des solutions existantes qui se sont efforcées de répondre aux défis de la
facilitation et de la recherche d'établissements d'enseignement supérieur. À travers cette
investigation approfondie, nous visons à tirer des enseignements précieux de ces expériences
pour éclairer et renforcer notre propre démarche visant à concevoir une plateforme novatrice
adaptée au contexte sénégalais.
Ce chapitre nous offre également une opportunité unique d'observer comment d'autres pays et
régions ont abordé des problématiques similaires et ont adopté des approches diverses pour
faciliter le parcours des étudiants dans la recherche de programmes académiques et
d'établissements correspondant à leurs aspirations. Au cours de ce chapitre, nous explorerons
en profondeur des plateformes notables telles que Campusen, Niche, Campus France, Study-
UK, Commmon App, Studieren.de, Studyportals, parcoursup, Mon Master et College
Board. Chacune de ces initiatives présente des caractéristiques uniques et des approches
innovantes pour guider les étudiants dans leur quête d'éducation supérieure et faciliter leur
intégration dans les établissements académiques.
2.1. Campusen
Campusen est une plateforme d'orientation des nouveaux bacheliers au Sénégal. Cette
plateforme joue un rôle crucial dans le processus d'orientation des étudiants fraîchement
diplômés du baccalauréat vers les établissements d'enseignement supérieur en fonction de leurs
choix académiques et de leurs préférences.
Grâce à cette plateforme, les nouveaux bacheliers ont la possibilité de soumettre leurs choix
académiques et leurs préférences, ouvrant ainsi la voie à un processus d'admission fluide et
ciblé. En fonction des filières qu'ils aspirent à poursuivre, Campusen permet aux nouveaux
bacheliers de soumettre leurs candidatures aux établissements qui correspondent le mieux à
leurs aspirations et à leurs projets de carrière.
13
Figure 2 Page d'accueil Campusen
Ø Fonctionnalités de Campusen
- Accès aux Informations : Campusen fournit des informations détaillées sur les
établissements, les programmes d'études et les options disponibles pour aider les
étudiants à prendre des décisions éclairées.
- Saisie des Vœux d'Orientation : Les étudiants peuvent soumettre leurs choix
d'orientation en sélectionnant les établissements et les filières d'enseignement
supérieur qui les intéressent.
14
- Hiérarchisation des Vœux : Les étudiants peuvent hiérarchiser leurs vœux
d'orientation en indiquant leurs priorités. Cela permet à la plateforme de prendre en
compte leurs préférences lors du processus d'attribution.
- Traitement des Demandes : Une fois les vœux soumis, Campusen effectue un
traitement automatisé pour attribuer les étudiants aux établissements en fonction des
places disponibles et des critères d'admission.
Common App est une organisation à but non lucratif située aux États-Unis représentant plus
de 1 000 établissements d'enseignement supérieur divers. Elle connecte les candidats et ceux
qui les soutiennent à un large éventail de collèges et d'universités publics et privés dans les 50
États américains et 20 pays. Cette plateforme centralise les demandes, simplifiant ainsi le
processus de candidature pour les étudiants qui souhaitent explorer plusieurs options.
Ø Avantages
- Simplification du processus de candidature
- Reduction des barrières logistiques et systématiques à l’accès à l’université
- Centralisation des demandes pour plusieurs universités
Ø Inconvénients
- Certains collèges ou universités peuvent avoir des exigences spécifiques en plus de
la Common App.
15
Figure 3 page d'accueil Common App
2.3. Niche
Niche se positionne fièrement en tant que leader incontesté sur le marché de la mise en relation
entre les collèges, les écoles et les étudiants, offrant une plateforme complète et détaillée pour
faciliter des choix éducatifs éclairés. Avec une présence prédominante en Amérique,
EduConnect Niche s'impose comme la référence incontournable pour des millions d'étudiants
et de familles cherchant à naviguer dans le paysage éducatif. Avec une base de données
comprenant plus de 140 millions d'avis et d'évaluations, Niche s'appuie sur la puissance de la
communauté éducative pour offrir des retours authentiques. Les étudiants, les anciens élèves
et les parents partagent leurs expériences, permettant aux futurs étudiants de prendre des
décisions éclairées.
De plus, Niche propose des outils de recherche avancés, permettant aux utilisateurs de filtrer
les écoles en fonction de critères spécifiques tels que la localisation, les domaines d'études, les
activités parascolaires, et bien plus encore. Cela garantit une correspondance précise avec les
préférences et les aspirations de chaque étudiant. La plateforme offre également des outils
basés sur des données pour analyser les tendances éducatives, les statistiques sur les taux de
16
réussite, les perspectives professionnelles post-graduation, et d'autres données pertinentes. Ces
informations permettent aux étudiants et aux familles de prendre des décisions informées.
17
2.4. Studieren en Allemagne
La plateforme Studieren occupe une place de premier plan dans le paysage de l'enseignement
supérieur en Allemagne en tant que source d'informations complètes et actualisées pour les
étudiants en quête de parcours académiques de qualité. Son influence positive et son succès en
tant que ressource incontournable suscitent un grand intérêt et servent d'inspiration pour notre
propre initiative visant à développer une plateforme similaire au Sénégal.
Studieren se distingue par son approche holistique qui englobe une vaste gamme
d'établissements et de disciplines académiques. Grâce à son moteur de recherche sophistiqué
et à sa base de données exhaustive, les étudiants peuvent facilement explorer et comparer
différentes options d'établissements et de programmes en fonction de critères tels que la
localisation, les domaines d'études, les frais de scolarité et bien d'autres. Cette approche met en
évidence l'importance de centraliser les informations pertinentes pour les étudiants, facilitant
ainsi leurs décisions éclairées et réduisant le temps et les efforts consacrés à la recherche.
De plus, Studieren se distingue par sa convivialité. Son interface intuitive offre aux utilisateurs
une expérience fluide et agréable, favorisant une exploration plus approfondie des offres
académiques disponibles. Les informations détaillées sur les programmes, les exigences
d'admission et les perspectives de carrière aident les étudiants à évaluer avec précision les
options qui correspondent le mieux à leurs aspirations académiques et professionnelles.
18
Figure 7 Résulat après une recherche de programme
- Liens Pertinents : En plus des informations sur les programmes d'études, Studieren
offre des liens pertinents vers des articles et des ressources sur la vie étudiante, les
19
détails sur les villes universitaires et les bourses disponibles. Cette approche
holistique encourage les étudiants à envisager tous les aspects de leur parcours
éducatif.
Campus France occupe une position centrale et incontournable dans le paysage éducatif
international en tant que plateforme dédiée à l'orientation des étudiants étrangers qui envisagent
de poursuivre leurs études en France. Cette initiative gouvernementale sert de passerelle
essentielle, offrant un accès privilégié à une mine d'informations cruciales pour une expérience
éducative réussie. Elle se se distingue par la richesse de ses informations. Les étudiants
étrangers peuvent explorer des profils détaillés des établissements d'enseignement supérieur
français, allant des grandes universités renommées aux écoles spécialisées. Chaque profil offre
un aperçu complet des programmes offerts, des domaines d'études, et des caractéristiques
distinctives de chaque institution.
20
Figure 9 interface de recherche d’établissement Campus France
Studyportals est une plateforme en ligne qui permet aux étudiants du monde entier de
rechercher, de comparer et de postuler à des programmes d'études dans divers pays. La
plateforme réunit une vaste gamme d'établissements et de programmes, offrant ainsi une source
complète d'informations pour les étudiants internationaux.
21
Figure 10 Page d'accueil Studyportals
22
Ø Caractéristiques Clés de Studyportals :
- Gestion des Candidatures : Studyportals propose des outils pour gérer les
candidatures en ligne, simplifiant ainsi le processus d'inscription aux établissements
internationaux.
2.7. Study-UK
Study in the UK se distingue en tant que portail informatif sophistiqué, spécialement conçu
pour répondre aux besoins des étudiants internationaux aspirant à poursuivre leurs études au
Royaume-Uni. Cette plateforme joue un rôle central en offrant une mine d'informations
détaillées pour faciliter une expérience éducative réussie dans ce pays emblématique. Au cœur
de Study in the UK se trouve une exploration approfondie des universités britanniques. Des
institutions renommées aux campus innovants, chaque université est présentée de manière
détaillée, mettant en avant ses forces académiques, ses programmes de recherche, et
l'atmosphère distinctive qui caractérise chaque établissement. La plateforme propose un
panorama complet des programmes académiques disponibles au Royaume-Uni. Des cursus
traditionnels aux domaines émergents, les étudiants peuvent naviguer à travers une variété de
disciplines et découvrir des informations détaillées sur les cursus, les modules, et les
opportunités d'expérience pratique. De plus elle démystifie le processus complexe d'admission
en fournissant des guides détaillés sur les critères d'admission, les exigences de candidature, et
23
les échéances clés. Des conseils pratiques sont également proposés pour optimiser les
candidatures et maximiser les chances de réussite.
College Board est une organisation américaine à but non lucratif qui gère une variété de
services liés à l'éducation supérieure, y compris la gestion des examens SAT (Scholastic
Assessment Test) et AP (Advanced Placement). En plus de la préparation aux examens,
College Board propose des ressources pour aider les étudiants à rechercher et à postuler à des
établissements d'enseignement supérieur.
- Préparation aux Examens : College Board offre des ressources de préparation aux
examens, y compris des tests de pratique, des cours en ligne et des guides d'étude
pour aider les étudiants à se préparer aux examens SAT et AP.
24
également explorer des profils d'établissements pour obtenir des informations
détaillées.
2.9. Parcoursup
25
Il est important de noter que Parcoursup ne se charge pas de l'évaluation des candidatures à
proprement parler. En effet, la plateforme n'emploie pas d'algorithme interne pour examiner
les dossiers. Son rôle consiste plutôt à faire le lien entre les candidats et les établissements
d'enseignement supérieur. Une fois les dossiers soumis, Parcoursup transmet ces candidatures
aux enseignants responsables des formations concernées.
Le processus de sélection repose ainsi sur les critères spécifiques définis par chaque
établissement. Les enseignants évaluent les candidatures en fonction de divers éléments tels
que les résultats académiques, les lettres de motivation, les expériences personnelles et
professionnelles des candidats, et d'autres critères propres à chaque formation.
Enfin, une fois les délibérations terminées, Parcoursup communique les résultats d'admission
aux candidats. C'est à ce moment que les futurs étudiants découvrent s'ils ont été acceptés dans
la formation de leur choix. Cette transparence dans la communication des résultats contribue à
apporter une certaine clarté et équité au processus de sélection.
En résumé, Parcoursup joue un rôle crucial dans l'orientation des étudiants vers l'enseignement
supérieur en France en offrant une plateforme centralisée, transparente et accessible. Son
approche collaborative avec les établissements d'enseignement contribue à instaurer un
processus d'admission juste et équitable pour les candidats, participant ainsi à la construction
des parcours académiques et professionnels de la nouvelle génération.
26
2.10. Mon Master
27
2.11. Tableau comparatif des aspects fonctionnels
Campu Studier Study College Campus Common Niche Study Parcour Mon
sen en portals Board France App -UK Sup Master
Filtrage avancée Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Informations Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Détaillées et
centraliseées des
établissements
Système de - Ö Ö Ö Ö Ö Ö Ö Ö Ö
recommandation
Comparaison - Ö Ö Ö - Ö Ö - - -
D’établissements
Gestion Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
candidatures
Gestion logements - Ö Ö - - Ö Ö Ö - -
Supervision de Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
l’État
Espace - Ö Ö Ö Ö Ö - - Ö Ö
établissement
Suivi logement des - - - - - - - - - -
parents
Suivi parcours - - - - - - - - - -
académique des
parents
28
Ø Tableau comparatif des aspects non fonctionnels
Campu Studier Study College Campus Common Niche Study Parcour Mon
sen en portals Board France App -UK Sup Master
Sécurité Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Disponibilité Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Performance Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Extensibilité Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Plateforme web Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Plateforme Mobile - - - Ö Ö - Ö - Ö -
Open Source - Ö Ö - - Ö Ö Ö - -
Scalabilité Ö Ö Ö Ö Ö Ö Ö Ö Ö Ö
Conclusion
29
3. Chapitre 3 : Analyse et Conception
Introduction
RUP pour Rational Unified Process (Processus rationnel unifié en français) est une
méthodologie de gestion de projet et de développement logiciel conçue pour offrir une
approche structurée et disciplinée à la création de logiciels de haute qualité. Développé par
Rational Software (acquis par IBM), le RUP repose sur des principes clés d'ingénierie
logicielle, de modélisation et de collaboration pour aider les équipes à gérer la complexité
croissante des projets informatiques
30
3.2. Méthode d’Analyse : UML
31
3.3. Spécification des besoins du système :
Ø Étudiants : Les étudiants sont les principaux utilisateurs de la plateforme. Ils utilisent
la plateforme pour rechercher des informations sur les établissements d'enseignement
supérieur, comparer les options académiques, les programmes d'études, les
infrastructures, les coûts, et évaluer les possibilités de logement à proximité des campus
universitaires. Les étudiants sont au cœur du système, car la plateforme vise à répondre
à leurs besoins d'information pour faciliter leur prise de décision concernant leur
orientation académique.
Ø Établissements d'enseignement supérieur : Les établissements d'enseignement
supérieur sont des acteurs clés dans le système, car ils fournissent les informations sur
leurs programmes, leurs filières, leurs infrastructures, et participent à la promotion de
leurs atouts spécifiques. Ils sont responsables de la mise à jour régulière des données
les concernant sur la plateforme, garantissant ainsi la fiabilité et l'actualité des
informations disponibles pour les étudiants.
Ø Administrateurs de la plateforme : Les administrateurs de la plateforme sont chargés
de gérer et de maintenir le système. Ils assurent la collecte, la vérification et la mise en
ligne des informations fournies par les établissements d'enseignement supérieur. Ils
sont également responsables de la sécurité et de la confidentialité des données des
utilisateurs.
32
Ø Parents : Le rôle des parents sur cette plateforme est centré sur leur implication active
et informée dans le parcours éducatif de leurs enfants.
Ø L’État : L'État sur la plateforme représente l'autorité de gouvernance qui établit et
maintient les règles et régulations pour assurer le bon fonctionnement et la sécurité de
l'espace en ligne.
Dans cette section, nous abordons l'identification des besoins fonctionnels essentiels que notre
solution doit satisfaire. Ces besoins fonctionnels varient en fonction des acteurs impliqués dans
l'utilisation de notre plateforme, chacun ayant des exigences spécifiques. Les besoins
fonctionnels auxquels doit répondre notre plateforme se résume dans les points suivants :
33
- Ajouter un département
- Modifier un département
- Retirer un département
- Ajouter un programme
- Modifier un programme
- Retirer un programme
- Ajouter un programme
- Modifier un programme
- Retirer un programme
- Publier des offres de candidature
- Envoyer des notifications et des rappels concernant les candidatures
- Suivre l’état des paiements
- Suivre des candidatures
Ø Le système doit permettre à l’administrateurs :
- Gérer les utilisateurs
- Consulter la liste des établissements
- Ajouter des étalisements
- Suivre les statistiques
- Contrôle de la qualité des données
- Publier des rapports ANAQ-SUP
Ø Le système doit permettre à l’État
- Analyser données des établissements
- Surveiller la plateforme
Ø Le système doit permettre aux parents
- Suivre parcours logeement étudiant
- Suivre parcours académique étudiant
- Visualiser les informations des établissements
Dans cette section, nous dégageons l’ensemble des besoins non fonctionnels auxquels devrait
répondre notre plateforme.
Il s’agit des besoins qui caractérisent le système. Ce sont des besoins en matière de
performance,de type matériel ou de type conceptuel. Ces besoins peuvent concerner les
34
contraintes d’implémentation comme le langage de programmation, le type de la base de
données, le type du provider, ….
Une identification et une analyse méticuleuse des besoins fonctionnels est indispensable pour
la réalisation d’une conception qui répond aux exigences de notre plateforme.
35
a. Diagramme de cas d’utilisation :
Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une
vision globale du comportement fonctionnel d'un système logiciel. Ils sont utiles pour des
présentations auprès de la direction ou des acteurs d'un projet,. Un cas d'utilisation
représente une unité discrète d'interaction entre un utilisateur et un système. Il est une
unité significative de travail. Dans un diagramme de cas d'utilisation, les utilisateurs sont
appelés acteurs, ils interagissent avec les cas d'utilisation.
36
Figure 18 Diagramme de cas d'utilisation de l'acteur Étudiant (2)
37
Ø Cas d’utilisation de l’acteur Établissement
38
Figure 20 Diagramme de cas d'utilisation de l'acteur Établissement (2)
39
Figure 21 Diagramme de cas d'utilisation de l'acteur Établissement (3)
40
Ø Cas d’utilisation de l’acteur Administrateur
41
Figure 23 Diagramme de cas d'utilisation de l’acteur Administrateur (2)
42
Ø Cas d’utilisation de l’acteur Parent
43
b. Diagramme de sequence
Les diagrammes de séquence sont des outils précieux pour spécifier la structure et les relations
entre les composants du système. Ils décrivent en détail les acteurs impliqués dans l'exécution
des fonctionnalités définies dans les diagrammes de cas d'utilisation.
- Les objets centraux du système communiquent entre eux en échangeant des messages.
- Les acteurs interagissent avec le système par le biais d'Interfaces Homme-Machine
(IHM) pour déclencher des actions et recevoir des informations.
Ainsi, les diagrammes de séquence offrent une représentation graphique des interactions
dynamiques qui se produisent au sein du système, permettant de mieux comprendre comment
les différentes parties collaborent pour atteindre les objectifs définis par les cas d'utilisation.
44
Ø Diagramme de séquence se connecter
45
Ø Diagramme de séquence Recherche Avancée
46
Ø Diagramme de séquence Soumettre candidature
c. Diagramme de classe
Le diagramme de classe revêt une importance capitale dans notre démarche de conception pour
notre plateforme. Il nous permet d'identifier et de définir avec précision les principales entités
du système, telles que les établissements, les départements, les programmes, les étudiants, les
candidatures, les paiements, etc., ainsi que les relations complexes entre ces entités. En outre,
47
ce diagramme joue un rôle essentiel en fournissant un langage visuel commun pour tous les
acteurs impliqués, facilitant ainsi la compréhension de la structure du système et la
communication efficace entre les membres de l'équipe. Il servira également de base pour de
code source, simplifiant ainsi la mise en œuvre pratique de la plateforme et assurant sa
maintenance à long terme.
48
d. Diagramme de déploiement
un diagramme de déploiement est une vue statique qui sert à représenter l'utilisation de
l'infrastructure physique par le système et la manière dont les composants du système sont
répartis ainsi que leurs relations entre eux. Les éléments utilisés par un diagramme de
déploiement sont principalement les nœuds, les composants, les associations et les artefacts.
Les caractéristiques des ressources matérielles physiques et des supports de communication
peuvent être précisées par stéréotype.
49
e. Architecture fonctionnelle
50
f. Maquettes:
Les maquettes sont les guides visuels qui tracent le chemin pour les développeurs, les
designers, et tous ceux impliqués dans la création de la plateforme. Elles servent de langage
commun, traduisant les idées abstraites en éléments concrets. Grâce à elles, nous anticipons et
perfectionnons chaque interaction, créant ainsi une immersion harmonieuse pour chaque
utilisateur. Dans cette exploration des maquettes, plongeons dans le futur de notre plateforme.
Ø Écran d’acceuil
La maquette de la page d'accueil met en avant une interface intuitive et accueillante, offrant
aux utilisateurs un aperçu immédiat des fonctionnalités clés de la plateforme. Des sections bien
définies dirigent les visiteurs vers les différentes catégories, facilitant ainsi une navigation
fluide.
51
Ø Écran de l’acteur Étudiant pour la recherche d’établissements
La maquettes pour les fonctionnalités de filtrage sont conçues pour offrir une expérience
utilisateur personnalisée. Les options de filtrage, présentées de manière visuelle, permettent
aux utilisateurs de spécifier leurs critères de recherche, affinant ainsi les résultats selon leurs
préférences.
52
Ø Écran de l’acteur Établissement
53
Ø Écran de l’acteur Administrateur
La maquette du tableau de bord administrateur offre une vue d'ensemble des statistiques clés,
des demandes en cours, et d'autres informations cruciales. Des graphiques visuels facilitent la
compréhension des tendances et des performances globales de la plateforme
54
Ø Écran de l’acteur Parent
Les maquettes pour l'espace destiné aux parents mettent en avant des fonctionnalités permettant
de suivre le parcours académique de leurs enfants. Des rapports clairs sur les progrès
académiques, les activités parascolaires, le logement et d'autres aspects sont accessibles de
manière conviviale.
55
4. Chapitre 4 : Réalisation
4.1. Architecture de la solution
Nous avons adopté une architecture microservices pour la conception de notre plateforme.
L’adoption de cette architecture s'est avérée être un choix stratégique essentiel, principalement
en raison de ses avantages uniques qui répondent aux besoins spécifiques de notre application.
56
Spring Cloud Gateway est un composant central de l'architecture de la plateforme, agissant
comme une passerelle d'API intelligente. En tant que point d'entrée principal, elle dirige les
requêtes externes vers les microservices appropriés en fonction de règles de routage
configurées, facilitant ainsi un équilibrage de charge efficace et une distribution équitable du
trafic entre les instances des microservices. Cette passerelle offre une configuration déclarative,
permettant la spécification des règles de routage, des filtres, et d'autres paramètres dans un
fichier de configuration.
57
Ø Eureka Discovery Server
Eureka est un serveur de registre de services et de découverte principalement utilisé dans les
architectures de microservices. Développé par Netflix, Eureka permet aux services de
s'enregistrer et de découvrir d'autres services de manière dynamique. Dans un environnement
de microservices, où de nombreux services peuvent être distribués sur différentes instances et
serveurs, Eureka aide à gérer les instances de service et leurs emplacements.
Les services s'enregistrent auprès du serveur Eureka lors du démarrage. Cet enregistrement
comprend des informations telles que le nom du service, l'emplacement du réseau et l'état de
santé.
Dans le tableau de bord ci-dessous nous observons les microservices gateway-service et
school-service déjà enregistrer.
58
Figure 40 Tableau de bord du serveur Eureka Discovery
Eureka Discovery Server agit comme une plate-forme centrale pour les instances de service
dans un système de microservices, facilitant l'enregistrement des services, la découverte
dynamique, la surveillance de l'état et l'équilibrage de charge.
Notre application repose sur deux langages principaux et plusieurs technologies pour son
fonctionnement. En ce qui concerne le Front-End, nous utilisons le langage JavaScript, plus
précisément le Framework Angular, pour la conception de l'interface web. Du côté du Back-
End, notre choix s'est porté sur le langage Java, notamment en utilisant le Framework Spring
Boot pour la création des services et la gestion des données. Cette combinaison de technologies
Front-End et Back-End nous offre une base solide pour fournir une expérience utilisateur
interactive et des performances fiables dans notre application.
59
Back-End
Java 17 est choisi comme langage de programmation principal pour le Backend en raison de sa
stabilité et de sa portabilité. La portabilité de Java signifie que le code peut être exécuté sur
diverses plates-formes, notamment Windows, macOS et diverses distributions Linux. Cette
capacité à fonctionner de manière cohérente sur plusieurs systèmes d'exploitation réduit la
complexité des déploiements et permet à notre application d'atteindre un public plus large.
La version 17 de Java offre une robustesse et une sécurité renforcées. Elle est dotée d'un
système de gestion de la mémoire sophistiqué, prévenant ainsi les fuites de mémoire. Cette
caractéristique est cruciale pour garantir des performances optimales et une fiabilité à long
terme de notre application.
Ø Spring Boot
Spring Boot est un framework open-source de développement d'applications Java créé par
Pivotal Software, filiale de VMware. Il est conçu pour simplifier la création d'applications Java
et de microservices. Voici quelques caractéristiques clés de Spring Boot :
60
- Création d'API RESTful : Spring Boot simplifie la création d'API RESTful, ce qui
est essentiel pour le développement d'applications modernes.
- Gestion de la Sécurité : Il offre des fonctionnalités de sécurité prêtes à l'emploi, ce
qui facilite la sécurisation des applications.
- Facilité de Test : Spring Boot est conçu pour faciliter les tests unitaires et
d'intégration, ce qui contribue à la qualité globale du code.
- Connexion aux Bases de Données : Il simplifie la connexion aux bases de données
relationnelles et NoSQL, offrant un large éventail d'options de persistance.
- Microservices : Spring Boot s'intègre bien avec l'architecture microservices, ce qui en
fait un choix populaire pour le développement de microservices.
- Documentation Abondante : La communauté Spring propose une documentation
riche, des didacticiels et un support actif, ce qui en fait un outil puissant pour les
développeurs.
Spring Boot est souvent utilisé en combinaison avec Spring Framework, qui fournit une
structure complète pour le développement d'applications Java. Ensemble, ils facilitent la
création d'applications robustes et évolutives.
61
Front-End
Ce choix s'explique par plusieurs raisons. Tout d'abord, JavaScript est pris en charge par tous
les principaux navigateurs web, ce qui garantit une compatibilité étendue. De plus, il bénéficie
d'une communauté de développeurs dynamique qui crée constamment de nouvelles
bibliothèques et frameworks pour simplifier le développement.
L'une des caractéristiques notables de JavaScript est sa capacité à réagir aux interactions des
utilisateurs en temps réel. Il permet de concevoir des éléments tels que des formulaires
dynamiques, des animations, des mises à jour en direct de l'interface utilisateur et bien plus
encore.
62
Ø Angular
Nous avons choisi d'utiliser le framework Angular pour la conception de notre application web.
Ce choix repose sur plusieurs avantages clés offerts par Angular. Tout d'abord, Angular est un
framework complet avec une architecture élégante. Sa documentation exhaustive facilite la
recherche d'informations cruciales, offrant aux développeurs un accès rapide aux ressources
nécessaires. De plus, Angular bénéficie d'améliorations constantes et régulières, garantissant
une évolution continue.
Angular repose sur le modèle MVVM (Modèle – Vue – Modèle de Vue), qui permet aux
développeurs de collaborer sur la même section d'application en utilisant le même ensemble de
données, tout en travaillant de manière indépendante. Cette approche améliore l'efficacité du
développement.
Un autre atout majeur d'Angular réside dans l'utilisation du langage TypeScript, qui offre une
vérification statique et opérationnelle des saisies, améliorant ainsi la fiabilité du code. De plus,
les performances des fonctions de saisie sont exceptionnelles, ce qui est essentiel pour des
applications web hautement interactives.
Angular propose un outil CLI puissant, facilitant le développement et la génération de
structures d'application, de classes, de services et de composants directement depuis le
terminal. Cette fonctionnalité rend Angular scalable et contribue à accélérer le processus de
développement.
Après une étude comparative notre choix s’est porté sur PostgreSQL.
63
PostgreSQL est l'un des SGBD relationnels open-source les plus puissants et les plus avancés
disponibles sur le marché. Il offre un ensemble de fonctionnalités robustes et une stabilité
éprouvée, ce qui en fait un choix judicieux pour répondre aux besoins de notre application.
Parmi les avantages clés de PostgreSQL, citons :
- Conformité aux Standards : PostgreSQL est conforme aux normes SQL, ce qui
facilite l'écriture de requêtes et la gestion des données. Il assure également la
compatibilité avec de nombreuses bibliothèques, outils et frameworks, ce qui
simplifie l'intégration avec d'autres composants de notre application.
- Performance : PostgreSQL est réputé pour ses performances élevées, même avec de
grandes quantités de données. Sa gestion des index, son optimisation des requêtes et
sa capacité à traiter des opérations de lecture/écriture intensives en font un choix
solide pour une application nécessitant des temps de réponse rapides.
- Fiabilité et Durabilité : La base de données PostgreSQL offre une grande fiabilité.
Elle prend en charge les transactions ACID (Atomicité, Cohérence, Isolation,
Durabilité), garantissant ainsi l'intégrité des données, un aspect essentiel pour notre
application de recherche d'établissement. La fonctionnalité de sauvegarde et de
64
restauration assure la durabilité des données en cas de sinistre.
- Évolutivité : PostgreSQL est capable de s'adapter à la croissance de notre application.
Il peut être déployé sur des serveurs uniques ou dans un environnement de cluster
pour une évolutivité horizontale, ce qui garantit que notre système peut gérer un
volume croissant d'utilisateurs et de données.
Ø Docker
L'intégration de Docker dans notre architecture est une décision judicieuse qui renforce la
gestion et le déploiement de notre application. Docker est une plateforme de virtualisation
légère qui offre une approche de conteneurisation.
Voici quelques points clés qui expliquent pourquoi Docker est un atout précieux pour notre
plateforme :
- Isolation et Portabilité : Docker utilise des conteneurs, qui sont des unités
autonomes contenant toutes les dépendances et bibliothèques nécessaires pour
exécuter notre application. Cela garantit l'isolation des services, ce qui signifie que
chaque composant de l'application fonctionne dans son propre environnement sans
interférer avec les autres. Cette isolation rend notre application plus robuste et réduit
les conflits potentiels entre les composants.
- Facilité de Déploiement : Les conteneurs Docker sont faciles à créer, à déployer et
à mettre à jour. Cette facilité de déploiement est précieuse pour notre application, car
elle nous permet de lancer rapidement de nouvelles fonctionnalités, de corriger des
bugs et de gérer efficacement l'évolutivité de nos services.
- Gestion des Versions : Docker prend en charge la gestion des versions de nos
conteneurs, ce qui est essentiel pour garantir que nos applications fonctionnent de
65
manière cohérente, que ce soit en développement, en test ou en production. Il facilite
également le processus de basculement entre différentes versions en cas de besoin.
- Environnement de Développement : Docker facilite la création d'environnements
de développement cohérents. Les développeurs peuvent travailler dans des
conteneurs identiques à ceux utilisés en production, éliminant ainsi les problèmes liés
aux différences d'environnement.
- Réduction des Coûts : En utilisant Docker, nous optimisons l'utilisation des
ressources matérielles, ce qui peut entraîner une réduction des coûts opérationnels.
Les conteneurs Docker sont légers et nécessitent moins de ressources que les
machines virtuelles traditionnelles.
Ø Prometheus et Grafana
- Prometheus :
Prometheus est un système de collecte de métriques open source. Il peut extraire des métriques
à partir de diverses sources, notamment nos applications, nos serveurs et nos conteneurs
Docker. Cette collecte de données est essentielle pour comprendre comment notre application
fonctionne en temps réel. Il stocke ces métriques dans une base de données temporelle. Cela
nous permet de conserver des données historiques sur la performance de notre application, ce
qui est utile pour l'analyse rétrospective et la détection de tendances.
- Grafana :
66
permettent de surveiller et d'analyser nos métriques en temps réel, ce qui facilite la détection
précoce des problèmes.
Il offre la possibilité de créer des tableaux de bord personnalisés, ce qui signifie que nous
pouvons personnaliser les vues en fonction de nos besoins spécifiques. Cela nous permet de
surveiller les métriques qui sont les plus importantes pour notre application.
Il offre également des fonctionnalités d'alerting, ce qui signifie que nous pouvons configurer
des alertes pour être avertis en temps réel de tout événement indésirable.
Ø Redis
Redis est une base de données en mémoire open source réputée pour fonctionner
exceptionnellement bien pour la mise en cache des données d'applications Web. Les
transactions rapides et la faible latence de Redis contribuent à augmenter les performances des
applications, tandis que sa fonctionnalité de mise en cache assistée par le serveur rend la mise
en cache côté client plus efficace.
Le principal avantage de la mise en cache côté client réside dans les performances. Les
applications Web qui utilisent la mise en cache côté client évitent les appels répétitifs vers le
67
serveur, améliorant ainsi la vitesse de récupération des données et réduisant la charge globale
de leur réseau.
Ø La pile ELK (Elasticsearch, Logstash, Kibana)
L'utilisation de la pile ELK (Elasticsearch, Logstash, Kibana) dans notre architecture renforce
notre capacité à collecter, analyser et visualiser les journaux de l'application. Cette pile offre
une solution complète de gestion des journaux, avec Elasticsearch pour le stockage et
l'indexation des journaux, Logstash pour la collecte, la transformation et l'acheminement des
journaux, et Kibana pour la visualisation et l'analyse. Grâce à cette combinaison, nous pouvons
surveiller et dépanner notre application de manière efficace, ce qui contribue à son bon
fonctionnement et à son amélioration continue.
Ø Intellij Idea
IntelliJ IDEA offre un éventail d'outils qui boostent la productivité des développeurs. Ses
fonctionnalités de génération de code automatisée, de refactoring intelligent et de complétion
de code prédictive accélèrent considérablement le développement de microservices, ce qui est
essentiel dans un contexte où le temps de mise sur le marché est critique.
68
Notre architecture repose largement sur Spring Boot, et IntelliJ IDEA propose une intégration
exceptionnelle avec cette technologie. Il simplifie la création de projets Spring Boot, offre une
aide contextuelle pour configurer des composants Spring et fournit des modèles prêts à l'emploi
pour accélérer le développement. Les outils de débogage d'IntelliJ IDEA sont réputés pour leur
puissance et leur convivialité. Ils permettent aux développeurs de détecter et de corriger les
problèmes rapidement, ce qui est essentiel pour garantir la fiabilité des microservices.
69
Ø Draw.io
Draw.io est un logiciel de modélisation open source qui est gratuit à utiliser. Cette
caractéristique est particulièrement avantageuse pour notre projet, car elle permet de réduire
les coûts liés aux licences de logiciels de modélisation. Il prend en charge divers types de
diagrammes, notamment les diagrammes de flux, les organigrammes, les diagrammes de cas
d'utilisation, les diagrammes de classe, et bien d'autres. Cette polyvalence nous permet de
représenter efficacement des informations complexes à l'aide de différents types de
diagrammes, ce qui est essentiel pour un projet à l'architecture microservices. Il s'intègre
également avec d'autres outils que nous utilisons, notamment Google Drive, Dropbox et
OneDrive. Cela facilite le stockage, le partage et la collaboration sur nos schémas de
modélisation.
Git est un système de gestion de versions (VCS) robuste et totalement gratuit, bénéficiant de la
philosophie open source. Il permet un suivi minutieux des modifications apportées à votre code
source au fil du temps. D'un autre côté, GitHub est un service d'hébergement de référentiels
(ou repositories) open source, conçu pour faciliter la collaboration sur des projets de
développement.
Grâce à Git, les développeurs peuvent gérer et suivre l'évolution de leur code source avec
précision. Chaque modification apportée à un projet est soigneusement enregistrée, ce qui
garantit la traçabilité de toutes les versions précédentes. Cela simplifie la gestion de projets de
toutes tailles, tout en évitant les conflits et en permettant aux équipes de travailler
simultanément sur différentes parties du code.
70
Ø Dbdiagram.io
Dbdiagram.io est un outil en ligne extrêmement utile pour la modélisation de bases de données.
Cet outil permet aux développeurs de concevoir visuellement la structure de leurs bases de
données, ce qui est particulièrement précieux dans le cadre du développement de systèmes
d'information. Il propose des fonctionnalités de collaboration qui permettent à plusieurs
membres d'une équipe de travailler ensemble sur la conception de la base de données, de
partager des modèles et d'apporter des modifications en temps réel.
4.4. Sécurité :
L'authentification est au cœur de la sécurité de notre application, et c'est pourquoi nous avons
opté pour Keycloak, un système de gestion d'identité et d'accès open source. Keycloak offre de
71
multiples avantages en termes de sécurité, notamment l'authentification unique (Single Sign-
On/Out) pour une expérience utilisateur fluide.
Keycloak nous permet de gérer les identités et les accès de manière centralisée, ce qui garantit
la cohérence et la fiabilité de l'authentification sur notre plateforme. Il prend en charge divers
protocoles d'authentification, notamment OAuth 2.0 et OpenID Connect, pour garantir des
interactions sécurisées entre nos utilisateurs et notre application.
En outre, Keycloak offre des fonctionnalités avancées de gestion des rôles et des autorisations.
Il nous permet de mettre en place des politiques de sécurité robustes, d'accorder ou de révoquer
l'accès à certaines parties de notre application en fonction des droits des utilisateurs.
72
Ø Illustrons le serveur Keycloak avec notre backend client
73
4.4.2. Sécurité au Niveau de l'Autorisation :
La Gateway assure une gestion fine des autorisations. Elle garantit que seuls les utilisateurs
authentifiés et autorisés ont accès aux microservices et aux ressources spécifiques. Cela garantit
que les données sensibles ne sont accessibles qu'aux entités autorisées. Elle sert de point
d'entrée principal pour tous les clients et utilisateurs de l'application. Elle fait office de porte
d'entrée unique pour accéder aux différents microservices de l'application. Cette unification
simplifie la gestion et la sécurité de l'accès à l'ensemble du système. Elle agit également comme
un pare-feu applicatif, filtrant les requêtes potentiellement malveillantes ou non autorisées
avant qu'elles n'atteignent les microservices. Elle peut protéger contre les attaques par déni de
service, les attaques par injection de code malveillant, les tentatives d'accès non autorisé, etc.
4.4.3. Journalisation et Surveillance
Pour détecter et prévenir les menaces, la plateforme effectue une journalisation complète de
toutes les activités. Des outils tels que Logstash, Elasticsearch et Kibana (ELK) sont utilisés
pour surveiller les journaux en temps réel et analyser les données pour détecter les schémas
anormaux ou les comportements suspects.
4.4.4. Sécurité au Niveau de la Communication
Toutes les communications entre les microservices, la Gateway et les clients sont sécurisées à
l'aide du protocole HTTPS (TLS/SSL). Cela garantit que les données sont chiffrées pendant
leur transit, réduisant les risques de divulgation d'informations sensibles.
Dans les sections précédentes de ce chapitre, nous avons eu à étudier notre solution dans tous
ses contours. Nous avons spécifié les besoins fonctionnels et non fonctionnels tout en mettant
en avant les différentes fonctionnalités de l’application et en décrivant les interactions des
utilisateurs avec le système. Nous avons également fait l’analyse et la conception des besoins
fonctionnels et le choix des différents outils et technologies a été mis au clair. L’architecture
de l’application a également été dégagée.
Dans cette section, nous allons entamer la phase de l’implémentation.
74
Ø Page d’authentification pour l’espace dédié aux établissements
75
Ø Page de gestion de l’établissement
76
Ø Page de modification des informations d’un département
77
5. Chapitre 5 : Conclusion et Perspectives
5.1. Conclusion
78
au domaine de l'éducation. En intégrant des concepts architecturaux contemporains, des
technologies de pointe et des normes de sécurité rigoureuses, ce projet témoigne de notre
engagement profond en faveur de l'amélioration de l'accès à l'éducation et de l'orientation
éclairée des étudiants. Ce mémoire incarne cet engagement et lance un appel à une éducation
plus inclusive et orientée vers l'avenir.
5.2. Perspectives
Le développement de cette plateforme de facilitation, de recherche d'établissement et
d'orientation est un point de départ vers un avenir prometteur. Plusieurs perspectives
s'ouvrent pour étendre et améliorer cette initiative :
Initialement conçue pour répondre à des besoins locaux, cette plateforme pourrait être
étendue pour offrir ses services à l'échelle sous régionale. Cela impliquerait la
collaboration avec un plus grand nombre d'établissements et d'organisations partenaire
79
BIBLIOGRAPHIE
Mémoires
DIALLO Saratou Etude et Réalisation d’un service cloud de gestion des identités et
des accès basé sur Keycloak, ISI, 2021-2022, 90 pages.
i
WÉBOGRAPHIE
https://orientation.campusen.sn/:
https://www.momentslog.com/development/web-backend/building-recommendation-
systems-with-collaborative-filtering-and-deep-learning: 29/08/2023, 09h36
https://medium.com/@ubakaugonna2/securing-your-spring-boot-microservice-with-
keycloak-and-spring-security-518bd4e5a25a: 08/09/2023, 11h47
https://www.ibm.com/cloud/architecture/architectures/microservices-with-kubernetes-spring-
solution: 12/09/2023, 14h12
https://medium.com/simform-engineering/revolutionize-monitoring-empowering-spring-
boot-applications-with-prometheus-and-grafana-e99c5c7248cf: 17/09/2023, 11h43
ii
Table de matières
DEDICACE.......................................................................................................................................................... I
REMERCIEMENTS ........................................................................................................................................ II
AVANT-PROPOS ...........................................................................................................................................III
SOMMAIRE ..................................................................................................................................................... IV
RESUME ........................................................................................................................................................... IX
ABSTRACT ........................................................................................................................................................X
Introduction .......................................................................................................................... 13
2.1. Campusen................................................................................................................. 13
iii
2.5. Campus France......................................................................................................... 20
2.9. Parcoursup................................................................................................................ 25
Conclusion ........................................................................................................................... 29
Introduction .......................................................................................................................... 30
iv
5. Chapitre 5 : Conclusion et Perspectives...........................................................................................78
5.2. Perspectives.............................................................................................................. 79
BIBLIOGRAPHIE ............................................................................................................................................. i
WÉBOGRAPHIE .............................................................................................................................................. ii