Création Et Réalisation D'une Application Mobile de Recherche D'emploi Et Des Stages
Création Et Réalisation D'une Application Mobile de Recherche D'emploi Et Des Stages
Création Et Réalisation D'une Application Mobile de Recherche D'emploi Et Des Stages
Tous les mots ne sauraient exprimer la gratitude, le respect et la reconnaissance. Aussi, c’est
tout simplement que je dédie ce Projet De Fin D’études A nos chers parents qui se dévouent
sans cesse pour nos éclairer la voie et les immenses horizons du savoir et dont la vocation
mérite largement nos respects A ceux qui n’ont jamais cessé de nous encourager, A nos frères
et A tous les membres de notre familles Et tous nos amis.
Remerciements
Avant toute chose, Nous remercions Dieu le tout puissant de nous avoir donné le
courage, la patience et la force durant toutes ces années d'étude.
Nos remerciements les plus cordiaux s’adressent à Madame CHOUHAD Nadia qui a
acceptée de nous encadrer, et aussi pour sa disponibilité, ses efforts, son aide, ses conseils
précieux, ses explications, ses critiques objectives sur la démarche de notre travail.
Notre projet est une solution informatique permettant aux gens de chercher un travail ou bien
un stage, permettant aussi de chercher les employeurs pour les entreprises
Donc l'objectif est de réaliser une application mobile pour faciliter la recherche des emplois
et les stages ainsi que de chercher les employeurs. La simplification porte sur diverses tâches
comme poster des publications de recherche d’emplois ou des stages avec une méthode plus
simple que la méthode classique.
Le présent rapport s’articule autour de trois axes : commençant par le contexte général de
notre projet ainsi que les outils et les techniques que nous avons adopté pour réaliser ce
modeste travail, puis on a la partie analyse et conception et vers la fin nous aborderons la
partie réalisation du projet.
7
Chapitre 1 :
8
Introduction :
Dans ce chapitre on va voir le contexte général, présentation et description, la problématique
et les objectifs du projet ainsi qu’on va discuter les langages et les outils utilisés pendant la
réalisation de notre application mobile et ses avantages.
I. Contexte général
Ce premier chapitre donne une vision globale du projet, définit sa problématique et décrite ses
objectifs.
Notre projet intitulé Conception et réalisation d’une application mobile de recherche d’emploi
et des stages « ISearch » est un exemple sur la variété des utilisations des applications mobiles
pour le bénéfique des propriétaires des smartphones ou tablettes.
Nous allons essayer dans ce travail de concevoir, et réaliser une application mobile en
utilisant la langage FLUTTER dans le but de faciliter la vie quotidienne des étudiants et des
employeurs et toute personne qui cherche un travail ou un stage et aussi pour les entreprises
qui cherchent des employeurs ou les stagiaires.
Nous nous limitons notre application pour ce projet juste aux appareils fonctionnant avec
Android, mais le choix technique, comme nous allons voir en détail après, favorise le
développement multiplateforme, qui permet à partir du même code de déployer une
application sur plusieurs plateformes (iOS, Android, Web), ainsi tout le monde peut
bénéficier de l’application.
9
Aussi Le stage permet de vérifier un choix d'orientation professionnelle, de métier ou de
profession car il offre un aperçu à l'étudiant de la réalité du métier.
Pour cela on a pensé qu’on a besoin d’une application mobile qui permet de :
3 Objectifs Personnels
Maitriser les langages de programmation d’application mobile utilisés tels que Dart,
FireBase, et Flutter qui est le plus récent des Framework multiplateformes.
Savoir gérer un projet de manière professionnelle et structurée.
Se confronter à des situations professionnelles.
Être créatifs et avoir de nouvelles idées.
Le travail en groupe sur un projet comme celui-là, nous aide à faire un échange d’idées et
d’information avec une répartition de tâches.
Développer le sens du travail en équipe, le sens de relationnel et des responsabilités.
Finaliser notre formation informatique par la mise en pratique des compétences acquises.
4 Planning Du Projet
10
II. Les outils utilisés
1 Flutter
Pour la réalisation de notre projet, nous avons choisi le Framework
Flutter.
2 Pourquoi Flutter
Ces particularités permettent d’obtenir d’excellentes performances sur toutes les
plateformes tout en évitant le coût d’utilisation de composants natifs qui sont eux
amenaient à évoluer à chaque nouvelle version d’OS. De plus, aucun bridge est nécessaire
pour communiquer avec les composants natifs de l’appareil, puisque tout est géré par
Flutter. Ainsi, votre application sera identique et aussi performante sur n’importe quel
appareil ou OS. Toutefois, il reste possible d’accéder aux fonctionnalités natives (Kotlin,
Swift, Java, Obj-C) en utilisant un système de bridge (Channel en Flutter).
11
4 Choix de langage
4.1 Langage DART :
Dart est un langage de programmation développé par la
communauté Google.
Dart est un langage orienté objet, basé sur la classe, récupérateur de mémoire avec une
syntaxe du type C. Dart peut se compiler en code natif ou en JavaScript. Il prend en charge les
interfaces, les classes abstraites, les génériques réifiés et l’inférence de type.
12
Firebase est un ensemble de services d'hébergement pour n'importe
quel type d'application. Il propose d'héberger en NoSQL et en
temps réel des bases de données, du contenu, de l'authentification
sociale, et des notifications, ou encore des services, tel que par
exemple un serveur de communication temps réel.
Figure 5: Logo Firebase.
Firbase_auth
Cloud_Firstore
Firbase_Storage
Firbase_database
Firbase_analytics
Firbase_crashlytics
5 Outils de développement
a) Editeur du texte :
Visual Studio :
Android Studio :
Android Studio est un outil de développement d'applications
mobiles Android qui repose sur la plateforme IntelliJ IDEA et
utilise le moteur de production Gradle. Il est disponible en
téléchargement sur les systèmes d'exploitation Windows, macOS,
Chrome OS et Linux
13
b) Git
Git est un système de contrôle de version distribué pour suivre les
modifications du code source pendant le développement du
logiciel. Il est conçu pour coordonner le travail entre les
programmeurs, mais il peut être utilisé pour suivre les
modifications dans n'importe quel ensemble de fichiers.Ses
Figure 8: Logo Git. objectifs incluent la vitesse, l'intégrité des données et la prise en
charge des workflows distribués et non linéaires.
c) GitHub
Est un outil gratuit pour héberger notre code, qui utilise Git, Git
est un gestionnaire de versions des fichiers qui permet
d’enregistrer les modifications faites sur le même fichier. C'est le
numéro 1 mondial et il héberge plus d'une dizaine de millions de
d) Draw.io
Conclusion :
Bref dans ce chapitre on a discuté le contexte général de l’application, présentation et
description du projet, les contraintes et aussi on a mentionné les langages de programmations
et les logiciels utilisés pendant la réalisation de notre application mobile
14
Chapitre 2 :
Analyse et Conception du
Projet
15
Introduction :
Le chapitre suivant abordera la conception de notre application mobile à l'aide du langage
UML (Unified Modeling Language) ainsi que les principaux diagrammes qui décrit la
conception de notre application et toutes les fonctionnalités du système ainsi que les
interactions entre les acteurs et le système
I. Conception UML
UML, acronyme de Unified Modeling Language ou langage de modélisation unifié, a été
conçu pour être un langage visuel de modélisation partagé, possédant une riche sémantique et
une syntaxe avancée. Il vise à faciliter l'architecture, la conception et la mise en œuvre de
systèmes logiciels complexes, en prenant en compte leur structure et leur comportement.
16
Tableau 1: Description de diagramme de classe.
2 Diagramme de classe :
17
Figure 12: Diagramme de classe.
C’est un diagramme qui décrit clairement la structure d’un système en modélisant ses classes,
ses attributs, ses opérations et les relations entre eux.
Dans notre projet on a deux grandes classes la première est classe « user » qui a comme
attributs : Firstname, Lastname, Email, Password, City, Speciality, Phonenumber, Date,
Profile.
Chaque utilisateur est caractérisé par ses propres attributs qui a déjà remplie au SignUp.
Chaque utilisateur a sept fonctions nécessaires : Signup, Signin, SignOut, Post, Like,
Editprofil, Saveinfo.
La deuxième classe est classe « publication » qui a comme attributs Image, Post, Fullname,
Speciality, Datepub.
Chaque publication a une fonction « reaction » ou l’utilisateur peut réagir à cette publication.
La relation entre les deux classes est : Un ou plusieurs utilisateurs peut publier Zéro ou
plusieurs publications
Et le contraire reste toujours vrai car z »ro ou plusieurs publications peuvent être écrites par
un ou plusieurs utilisateurs
18
3 Diagramme de séquence
C’est un diagramme qui désigne ce qu’il se passe durant un cas d’utilisation, en représentant
les interactions entre les acteurs et le système selon un ordre chronologique par des messages
synchrones et asynchrones.
3.1 Authentification :
19
3.2 Application ISearch :
Quand l’utilisateur cliquer sur la page home les publications vont afficher, et quand il veut
créer son propre publication il suffit de cliquer sur la page « add » aussi s’il veut savoir plus
d’information sur l’application il suffit de cliquer sur page « info » et finalement si il veut voir
ou modifier ses informations personnelles il doit faire une petite clique sur la page « profile ».
Conclusion :
En résumé, ce chapitre a abordé la conception de notre application en utilisant le langage
UML, en se concentrant sur l'utilisation de différents diagrammes de cas d'utilisation, de
classe et de séquence on but de savoir les interactions entre les acteurs et le système de
l’application
20
Réalisation du projet
« Application Mobile »
21
Introduction :
Cette partie contient le dernier volet de ce rapport, elle a pour but d’exposer notre travail
achevé ainsi que présenter les différentes interfaces de l’application et leurs fonctionnalités
pour que l’utilisateur puissent l’utiliser correctement et facilement.
1 Page Welcome
La première interface de notre application mobile est la page welcome ou nous présentons à
l’utilisateur le logo de notre application qui contient le nom « ISearch », et ensuite deux
bottons « login » et « sign up ».
Si l’utilisateur n’a pas un compte dans l’application il doit le créer d’abord en cliquent sur
« sign up ».
Mais s’il est déjà inscrit dans l’application il doit faire juste « login ».
22
2 La Page SignUp
Dans la page SignUp l’utilisateur doit saisir son email et mot de passe et cliquer SignUp pour
terminer leur authentification
Après l’utilisateur doit terminer l’authentification en remplissant tous les champs (first Name,
last Name, Date de Naissance, CIN, Ville, Numéro de téléphone, Spécialité) sauf Email et
Mot De Passe qui sont automatiquement remplie et finalement l’utilisateur doit accepter
toutes les conditions et sauvegarder ses informations et comme ça il a pu créer son compte
dans l’application d’une manière correcte.
23
3 Login
La page login contient deux champs a remplie « Email » et « Mot De Passe », l’utilisateur
entre les donnes pour accéder à la page Home et s’il a oublié son mot de passe il suffit
juste de cliquer sur « forgetPassword » et entrer l’Email qui a déjà utiliser dans
l’application pour recevoir un message dans l’email pour changer le mot de passe, après il
revient au login il va permettre facilement entrer le nouveau mot de passe.
Figure 20: Page Log in. Figure 19: Page Forget password.
24
4 Barre de navigation
Après l’authentification maintenant l’utilisateur a le droit d’ouvrir l’application et profiter des
offres de stages et d’emploi
Avec la barre de navigation animée et si vous voulez accéder à une page quelconque, il suffit
de cliquer sur son icone.
5 Page Accueil
La page d’accueil ou « Home page » en anglais est la première page que l’utilisateur voit
lorsqu'il accède à l’application, elle contient le LOGO ISearch avec la barre de navigation
aussi il contient la liste des publications des offres et demandes des stages et emplois que les
autres utilisateurs déjà poster.
25
Figure 22: Page Home.
6 Page publier
Dans cette page l’utilisateur a le droit de publier une publication de recherche d’emploi ou de
stage ou bien de demande d’emploi ou stage mais en précisant le domaine ou la spécialité et si
l’utilisateur a cliqué sur « publier » sa publication va affichée à la page « home ».
26
Figure 23: Page Publier.
7 Page Information :
Cette page contient des informations générales de l’entreprise que l'utilisateur faut savoir
comme les qualités et les objectifs de l’application présentés comme question -réponse ainsi
qu’elle contient aussi des photos animées qui en relation toujours avec la recherche de travail
et les stages
27
Figure 24: Page Information.
8 Page Profil
Dans la page profil on a une liste des informations que l’utilisateur déjà remplie au
SignUp avec une photo de profil et une possibilité de modifier les champs des
informations.
28
Figure 26: Page Profil. Figure 25: Page Profil 2.
Conclusion :
En fait, dans ce chapitre, nous avons exposé les différentes interfaces du projet ainsi que nous
avons vu une description très détaillée pour faciliter l’utilisation de notre l’application mobile
« I Search » programmée par Flutter dans le but de faciliter la vie quotidienne des étudiants
et des employeurs et tout personne cherchent un travail ou un stage ou bien les entreprises
qui cherchent des employeurs ou les stagiaires.
29
Conclusion générale :
Le but de ce travail a consisté principalement à trouver une solution pour les stagiaires, Ainsi
que facilité la recherche des stages et de travail pour les étudiants et les employeurs ,ainsi que
faciliter la recherche des employeurs pour les entreprises et les stagiaires .
Malgré les contraintes qu’on a rencontré comme les problèmes techniques, difficultés au
niveau de l’installation de Flutter ainsi que la liaison de projet avec la base de donnée firebase
mais ce projet de fin d’études a été une bonne opportunité pour apprendre des nouvelles
techniques. Nous nous sommes initiés bien évidemment au développement Mobile et
développer le sens de travail en équipe et le sens de responsabilité.
30
Webographie:
https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-class-diagram/
https://docs.flutter.dev/
https://app.diagrams.net/
https://app.teamgantt.com/projects/gantt?ids=3468660
31