Académique Documents
Professionnel Documents
Culture Documents
DIPLOME DE LICENCE EN
INGENIERIE DES SYSTEMES INFORMATIQUES
Par
Bilel BENSALEM
Mohamed Amine YOUSFI
ii
DEDICACE
Je ferai de mon mieux pour rester un sujet de fierté à vos yeux avec l’espoir de
ne jamais Vous décevoir.
iii
REMERCIEMENT
C’est avec notre inspiration la plus primordiale et la plus sincère que nous voudrons
rendre mérite à tous ceux qui à leur manière nous a soutenus durant notre projet de fin d’études.
Nous citons en particulier notre encadrant académique Mme Faten BENALI pour son
encadrement et ses précieux remarques. Ses lectures méthodiques et corrections avisées n’ont
pu qu’améliorer la qualité de ce travail.
Nous tenons à manifester l’expression de nos respects les plus distingués à Mme Imen
DHOUIBI, gérant de l’entreprise Hello World Academy, pour nous avoir offert l’opportunité
d’effectuer ce stage de fin d’études au sein de son entreprise.
Nous exprimons finalement nos vifs remerciements à tous les enseignants de la Faculté
des Sciences de Sfax pour la formation de qualité qu’ils nous ont prodiguée tout au long de
notre cursus universitaire au sein de cette prestigieuse université.
iv
TABLE DES MATIÈRES
INTRODUCTION GÉNÉRALE ............................................................................................ 1
CHAPITRE 1: PRESENTATION DU PROJET : ................................................................ 3
1. Introduction : ....................................................................................................................... 4
2. Cadre du projet : .................................................................................................................. 4
3. Présentation de la société :................................................................................................... 4
4. Problématiques : .................................................................................................................. 5
5. Présentation du projet : ........................................................................................................ 5
6. Travail demandé : ................................................................................................................ 6
7. Définition des technologies utilisées : ................................................................................. 6
7.1. IOT : .............................................................................................................................. 6
7.2. Cloud Computing : ........................................................................................................ 6
7.3. L’intelligence artificielle (IA) : ..................................................................................... 7
7.4. Deep Learning :............................................................................................................. 8
8. Systèmes de reconnaissance automatique des plaques d’immatriculation : ........................ 8
8.1. Définition d’une plaque d’immatriculation (plaque minéralogique) : .......................... 8
8.2. Présentation Système d’immatriculation Tunisien : ..................................................... 8
9. Etat de l’art domaine de transports intelligent : ................................................................... 9
9.1. Zen Park : ...................................................................................................................... 9
9.2. SeeTec : ......................................................................................................................... 9
9.3. Avantages de SeeTec : ................................................................................................ 10
10. Le stationnement intelligent (smart parking) : .................................................................. 10
10.1. Définition du parking intelligent :.......................................................................... 10
10.2. Le système de stationnement intelligent : .............................................................. 10
10.2.1. Système de guidage et d’information sur le stationnement : ............................. 10
10.2.2. Système de paiement intelligent :....................................................................... 11
10.2.3. Système d’information basé sur le transport en commun : ................................ 11
10.3. Les défis de stationnement intelligent : ................................................................. 11
11. Les fonctionnalités de smart parking : ............................................................................... 12
v
12. L'architecture d'un système de détection de plaques d'immatriculation: ........................... 13
13. Caractéristique du matériel utilisé pour implémenter le programme : .............................. 14
13.1. Camera : ................................................................................................................. 14
13.2. Raspberry Pi 4 : ...................................................................................................... 15
13.3. Détecteur de mouvement PIR - HC-SR501 : ......................................................... 15
13.4. Réseau capteur sans fil : ........................................................................................ 16
14. Conclusion : ....................................................................................................................... 16
CHAPITRE 2: ANALYSE ET CONCEPTION :................................................................ 17
1. Introduction : ..................................................................................................................... 19
2. Choix du langage de modélisation et de méthodologie de développement :..................... 19
2.1. UML :.......................................................................................................................... 19
2.2. Méthodologie de conception RUP : ............................................................................ 19
2.3. Analyse et conception : ............................................................................................... 20
2.3.1. Identification des acteurs et des cas d’utilisation :................................................. 20
2.3.1.1. Acteurs : .......................................................................................................... 20
2.3.1.2. Cas d’utilisation : ............................................................................................ 20
2.3.2. Cas d’utilisation « S’inscrire » :............................................................................. 22
2.3.3. Cas d’utilisation « S’authentifier » : ...................................................................... 24
2.3.4. Cas d’utilisation « Ajouter réservation » : ............................................................. 26
2.3.5. Cas d’utilisation « Annuler réservation » : ............................................................ 28
3. Diagramme de classes : ..................................................................................................... 30
4. Conclusion : ....................................................................................................................... 30
CHAPITRE 3: REALISATION : ......................................................................................... 31
1. Introduction : ................................................................................................................... 33
2. Choix de l’architecture de l’application : .......................................................................... 33
2.1. . Avantages de l'architecture client/serveur : .............................................................. 35
3. Etude technologique : ...................................................................................................... 35
3.1. Outils de développement : .......................................................................................... 35
3.1.1. Microsoft Visual Studio Code : ............................................................................. 35
3.1.2. Firebase : ................................................................................................................ 36
3.1.3. Pycharm : ............................................................................................................... 36
3.1.4. EasyOCR : ............................................................................................................. 37
3.2. Langages de développement : ..................................................................................... 37
vi
3.2.1. Python : .................................................................................................................. 37
3.2.2. React native :.......................................................................................................... 37
4. Les technologies de de la reconnaissance automatique des plaques d’immatriculation : . 38
4.1. Technologie de reconnaissance des plaques d’immatriculation : ............................... 38
5. Fonctionnement de notre système : ................................................................................. 38
5.1. Détection de plaques : ................................................................................................. 38
5.1.1. La phase d’acquisition et de prétraitement de l'image : ......................................... 38
5.1.1.1. Conversion de l'image en niveaux de gris : .................................................... 38
5.1.1.2. Suppression ou diminution du bruit de l'image .............................................. 39
5.1.1.3.Identifie les contours dans l’image des bords et les trier par ordre décroissant de
leur surface :40
5.1.1.4. Interface pour localisation de la plaque d'immatriculation automatiquement : .......... 40
5.2. Phase de lecture OCR : ............................................................................................... 41
6. Réalisation de l’application : ............................................................................................. 45
6.1. Réalisation sur le mobile :........................................................................................... 45
6.1.1. Interface d'inscription : .......................................................................................... 45
6.1.2. Interface d’authentification : .................................................................................. 46
6.1.3. La page de profil : .................................................................................................. 46
6.1.4. La page information de parking : ........................................................................... 47
6.1.4.1. En cliquant sur le bouton « Parkings list » de l’interface de la figure 34, la
liste des parkings est affiché comme le montre la figure 35. ......................................... 47
6.1.4.2. Interface de choisir d’une place : .................................................................... 48
6.1.4.3. Interface de demande de réservation : ............................................................ 48
6.1.4.4. l'interface de la page de gérer la réservation : ................................................ 49
6.1.4.5 L’interface de la page de consulter la réservation : .................................... 49
7. Conclusion : ....................................................................................................................... 49
CONCLUSION GÉNÉRALE ET PERSPECTIVES .......................................................... 50
BIBLIOGRAPHIE :............................................................................................................... 52
vii
LISE DES FIGURES
Figure 1 : Logo de la société ...................................................................................................... 4
Figure 2 : conception de plaques d’immatriculation tunisienne ................................................ 9
Figure 3 : les interfaces de l’application Zen Park. .................................................................... 9
Figure 4 : parking intelligent. ................................................................................................... 10
Figure 5 : La circulation dans une ville avec et sans le stationnement intelligent. ................... 12
Figure 6 : Architecture de système de parking intelligent. ...................................................... 14
Figure 7 : Camera ..................................................................................................................... 15
Figure 8 : L'architecture matérielle de Raspberry PI 4............................................................. 15
Figure 9 : L'architecture matérielle de Détecteur de mouvement PIR - HC-SR501 ................ 16
Figure 10 : Diagramme des cas d’utilisation ............................................................................ 21
Figure 11 : Diagramme de séquence « s’inscrire » .................................................................. 23
Figure 12 : Diagramme de séquence « S’authentifier » ........................................................... 25
Figure 13 : Diagramme de séquence « Ajouter réservation » .................................................. 27
Figure 14 : Diagramme de séquence « Annuler la réservation » ............................................. 29
Figure 15 : Diagramme de classes............................................................................................ 30
Figure 16 : l’architecture de l’application. ............................................................................... 33
Figure 17: Visual Studio Code ................................................................................................. 36
Figure 18 : Firebase .................................................................................................................. 36
Figure 19 : environnement pycharm ........................................................................................ 36
Figure 20 : React Native........................................................................................................... 37
Figure 21 : Image en niveau gris. ............................................................................................. 39
Figure 22 : Image binarisée. ..................................................................................................... 39
Figure 23 : Détection de l’image de plaque d’immatriculation................................................ 40
Figure 24 : plaque extraite. ....................................................................................................... 41
Figure 25 : la Résultat obtenu. ................................................................................................. 42
Figure 26 : Résultat finale. ....................................................................................................... 42
Figure 27 : entrainement de système ........................................................................................ 43
Figure 28: Identification du matricule ...................................................................................... 43
Figure 29 : confirmation ........................................................................................................... 44
viii
Figure 30 : Logo et interface d’ouverture de l’application. ..................................................... 45
Figure 31 : L'interface de la page de l'inscription. ................................................................... 45
Figure 32 : Interface d'authentification .................................................................................... 46
Figure 33 : l'interface de la page profil .................................................................................... 46
Figure 34 : interface de la page d’accueil. ............................................................................... 47
Figure 35 : l'interface de la page consulter de parking. ............................................................ 47
Figure 36 : Interface de choisir d’une place. ............................................................................ 48
Figure 37 : l'interface de réservation d'une place ..................................................................... 48
Figure 38 : L’interface de la page de consulter la réservation ................................................. 49
ix
INTRODUCTION GÉNÉRALE
INTRODUCTION GÉNÉRALE
Dans le cadre de ce projet de fin d'études, nous proposons une solution innovante pour résoudre
ce problème: un système de stationnement intelligent basé sur la technologie de reconnaissance
optique de caractères (OCR) et une application mobile conviviale. Notre projet vise à faciliter
l'accès aux places de stationnement disponibles, en offrant aux conducteurs une expérience de
stationnement fluide et sans tracas.
Notre système de stationnement intelligent repose sur la détection automatique des plaques
d'immatriculation des véhicules entrant dans les zones de stationnement. Grâce à l'utilisation de
l'OCR, les plaques d'immatriculation sont capturées et converties en texte lisible par ordinateur.
Cela permet une identification précise des véhicules et une gestion efficace des places de
stationnement disponibles.
L'application mobile associée à notre système constitue un outil essentiel pour les utilisateurs.
Elle leur permet de vérifier en temps réel les places de stationnement disponibles dans les zones
proches de leur destination. En utilisant l'application, les conducteurs peuvent réserver une
place de stationnement à l'avance, naviguer vers celle-ci et même effectuer des paiements
électroniques pour éviter les tracas liés à la recherche de monnaie.
Dans les sections suivantes de ce rapport, nous présenterons en détail notre système de
stationnement intelligent, en expliquant les principaux composants techniques, les
fonctionnalités de l'application mobile et les avantages qu'il apporte aux utilisateurs. Nous
1
INTRODUCTION GÉNÉRALE
aborderons également les défis techniques auxquels nous avons été confrontés lors du
développement du système et les solutions que nous avons mises en œuvre.
La grande question est : une machine peut-elle authentifier efficacement une voiture grâce son
matricule ? Nous essayons à répondre à cette question dans ce travail de fin d’étude tout en
détaillant l’idée élaborée, les techniques utilisées ainsi que les résultats obtenus. Notre rapport
est présenté en trois chapitres décrit comme suit :
Dans le premier chapitre, nous présentons le cadre général du projet ainsi que quelques
définitions de base. Ensuite, le deuxième chapitre est consacré à l’analyse et la conception : il
contient la conception générale et détaillée du système. En fin, dans le dernier chapitre, nous
présentons la réalisation du projet. D’abord, nous détaillons l’architecture de l’application et
l’environnement de développement logiciel. Puis, nous décrivons quelques interfaces réalisées
dans l’application mobile. Nous clôturons ce rapport par une conclusion générale et quelques
perspectives comme une extension à ce travail.
Notre projet de smart parking avec un système OCR de détection automatique de plaques
d'immatriculation et de stationnement intelligent, associé à une application mobile, offre une
solution novatrice pour améliorer l'expérience des conducteurs dans la recherche et la gestion
des places de stationnement.
2
Chapitre
Présentation du Projet
Sommaire
1. Introduction : ....................................................................................................................... 4
2. Cadre du projet : .................................................................................................................. 4
3. Présentation de la société :................................................................................................... 4
4. Problématiques : .................................................................................................................. 5
5. Présentation du projet : ........................................................................................................ 5
6. Travail demandé : ................................................................................................................ 6
7. Définition des technologies utilisées : ................................................................................. 6
8. Systèmes de reconnaissance automatique des plaques d’immatriculation : ........................ 8
9. Etat de l’art domaine de transports intelligent : ................................................................... 9
10. Le stationnement intelligent (smart parking) : .................................................................. 10
11. Les fonctionnalités de smart parking : ............................................................................... 12
12. L'architecture d'un système de détection de plaques d'immatriculation: ........................... 13
13. Caractéristique du matériel utilisé pour implémenter le programme : .............................. 14
14. Conclusion : ....................................................................................................................... 16
CHAPITRE 1 : PRESENTATION DU PROJET
Chapitre
Présentation du Projet
1. INTRODUCTION
La présentation du cahier de charge d’un projet constitue une étape préliminaire pour la
réalisation correcte d’une application. En effet, ce cahier permet d’analyser, d’évaluer et de
critiquer l’existant afin de produire des solutions plus efficaces.
Dans ce chapitre, nous présentons, tout d’abord, le cadre du projet et la société accueillante.
Ensuite, nous définissons les notions de base sur lesquelles s’appuie notre projet. Par ailleurs,
nous exposons une étude de l’existant qui permet de décortiquer les fonctionnalités des
systèmes existants et leurs limites et qui nous amène à dégager la spécification des besoins
fonctionnels et non-fonctionnels de la société.
2. CADRE DU PROJET
Ce projet s’englobe dans le cadre d’un projet de fin d’études au sein de la Faculté des Sciences
de Sfax pour l’obtention du diplôme de Licence en Ingénierie des Systèmes Informatiques,
spécialité Ingénierie des Réseaux et Systèmes. Il a été réalisé au sein de la société Hello World
Academy.
3. PRESENTATION DE LA SOCIETE
Hello World AI-Departement est une filiale de Hello World Academy, une société multimodale
créée en décembre 2022 et implantée dans la ville de Sfax. Cette filiale est spécialisée dans le
domaine des nouvelles technologies, plus précisément dans le domaine de l'intelligence
artificielle.
4
CHAPITRE 1 : PRESENTATION DU PROJET
4. PROBLEMATIQUES
Accompagnant la forte croissance démographique mondial, le nombre de personnes habitant
dans les villes augmente également. Cette croissance crée de nombreux problèmes pour les
villes, donc elles doivent s’adapter à ce phénomène en augmentant leur capacité d’accueil et
leurs services.
Dans les villes intelligentes nous trouvons beaucoup de difficultés et des obstacles à
surmonter comme la congestion causée par le grand nombre de véhicules qui augmente chaque
jour dans tout le monde. L’un des plus importants facteurs pour régler cette situation c’est le
parking. Le parking devrait offrir aux conducteurs suffisamment d’espace pour garer leur
voiture, car la voiture joue un rôle énorme dans le transport et la mobilité de la plupart des
personnes pour se rendre à leurs lieux de destination.
Pour cela, notre objectif Dans la ville intelligente nous avons besoin d’un nouveau système,
un système qui peut aider à gérer et réduire la circulation routière L’objectif est de proposer
un système qui facilite de trouver une place vide de parking et qui aide les clients à gagner du
temps. Pour cela on veut développer une application mobile d’un parking intelligent pour le but
d’améliorer et de faciliter le stationnement.
5. PRESENTATION DU PROJET
Notre projet propose une solution pour pour résoudre ou diminuer les problèmes rencontrés au
stationnement des voitures dans les parkings.
Dans une première partie, notre projet vise à réaliser un système de reconnaissance d’images
de matricules des voitures clients à travers une caméra du parking. La reconnaissance de
matricule est spécifiée pour identifier les voitures des clients enregistrés et dans la base de
données.
Dans la deuxième partie, notre projet vise à concevoir la reconnaissance automatique des
plaques d’immatriculation est une technologie qui utilise les concepts de traitement d’image et
la reconnaissance optique des caractères sur les images pour lire les plaques d'immatriculation
des véhicules.
Dans la troisième partie, nous avons realise une application web pour le suivi de la mise en
marche de système et l’analyse des résultats obtenu. Elle offre à un utilisateur un accés pour de
notre système. De plus, sous le système d’exploitation ANDROID.
5
CHAPITRE 1 : PRESENTATION DU PROJET
6. TRAVAIL DEMANDE
En considérant les inconvénients des systèmes existants présentées ci-dessus, la société Hello
World Academy à propos de concerne l’analyse et la conception de la reconnaissance d’images
qui représente un ensemble de méthodes de détection et d’analyse d’images pour permettre
l’automatisation d’une tâche spécifique avec ces services du système en l’ajoutant un système
embarqué et une application web/mobile. Il permet aux utilisateurs de mieux gérer leurs besoins
en leur procurant ces avantages :
7.1. IOT
IoT signifie « Internet of Things » ou en français « Internet des Objets ». Il permet d’accéder
et de contrôler les équipements et les appareils utilisables au quotidien via Internet. Selon
l’Union Internationale des Télécommunications (UIT), (IoT) est « une infrastructure mondiale
pour la société de l’information, qui permet de disposer de services évolués en interconnectant
des objets (physiques ou virtuels) grâce aux technologies de l’information et de la
communication interopérables existantes ou en évolution .
De ce fait, les entreprises n’ont plus besoin de serveurs propres, mais elles confient cette
ressource à une entreprise qui leur garantit une puissance de calcul et de stockage à la demande
[3]. Nous distinguons trois formes de Cloud Computing : les clouds privés, les clouds publics
et les clouds hybrides. Chacun de ces types englobe trois classes de services :
6
CHAPITRE 1 : PRESENTATION DU PROJET
— Software as a Service (SaaS) : C’est un modèle qui met à la disposition des utilisateurs des
solutions exposées sous forme de services disponibles sur Internet à travers une interface
homme machine (navigateur, Smartphone).
— Infrastructure as a Service (IaaS) : C’est le service de plus bas qui consiste à offrir un accès
à un parc informatique virtualisé : des machines virtuelles sur lesquelles le consommateur peut
installer un système d’exploitation et des applications. Le consommateur est ainsi dispensé du
coût d’achat de matériel informatique. Dans le cadre de notre projet, nous avons eu l’occasion
de découvrir le Cloud privé où nous avons hébergé notre application Cloud ERP comme étant
un SaaS. En effet, le Cloud privé est un environnement de Cloud Computing propriétaire qui
fournit des services hébergés à un nombre limité de personnes. Son avantage majeur est qu’il
est plus sécurisé et assure une protection des données puisqu’il est destiné à un nombre des
entités bien identifiées.
La notion voit le jour dans les années 1950 grâce au mathématicien Alan Turing. Dans son
livre Computing Machinery and Intelligence, ce dernier soulève la question d'apporter aux
machines une forme d'intelligence. Il décrit alors un test aujourd'hui connu sous le nom « Test
de Turing » dans lequel un sujet interagit à l'aveugle avec un autre humain, puis avec une
machine programmée pour formuler des réponses sensées. Si le sujet n'est pas capable de faire
la différence, alors la machine a réussi le test et, selon l'auteur, peut véritablement être
considérée comme « intelligente ».
7
CHAPITRE 1 : PRESENTATION DU PROJET
• 1er groupe (Y) : à gauche deux ou trois chiffres désignent la série qui est en incrémentation
illimitée.
Voici exemple des plaques d’immatriculation tunisienne respectent les mêmes critères et qui
est mentionné à la figure ci-dessous :
8
CHAPITRE 1 : PRESENTATION DU PROJET
9.2. SeeTec
SeeTec est un module d'extension de SeeTec Cayuga qui permet la reconnaissance
automatique de plaques d'immatriculation de véhicules à l'arrêt ou en mouvement [3].
9
CHAPITRE 1 : PRESENTATION DU PROJET
10
CHAPITRE 1 : PRESENTATION DU PROJET
disponibles, afin d’accéder aux systèmes d’information clés pour le stationnement dans le
parking connecté [5].
Le système de paiement a été mis en place pour le but de faciliter et de limiter les problèmes de
paiement conventionnel en réorganisant le mode de paiement pour le stationnement en
introduisant des nouvelles technologies et techniques.
Cela évite les nombreux problèmes auxquels le client est confronté lorsqu’il utilise le paiement
avec les méthodes conventionnelles qui entrainent des perturbations ou des retards, en plus de
la congestion à l’entrée de la station (parking) s’il y a plusieurs véhicules en même temps.
• Diminuer la pollution.
• Améliorer le confort des usagers : pour obtenir des clients permanents et fidèles.
• Fluidité de trafic : minimiser la congestion de trafic.
• Sécurité : la surveillance des véhicules et des conducteurs contre le vol et les squatters.
• Optimisation de l’occupation : mieux gérer le taux d’occupation des places de
stationnement.
• Fournir un service de guidage pour les touristes : Le stationnement intelligent aidetout
étranger à la ville à obtenir une place pour sa voiture facilement.
• Le système d'information sur la disponibilité du stationnement et le système deréservation
de stationnement devraient fournir des services avancés de navigation.
• Fournir des fonctionnalités intéressantes pour faciliter la tâche des administrateurs et des
gestionnaires dans la gestion du stationnement.
11
CHAPITRE 1 : PRESENTATION DU PROJET
• Points de surveillance et de contrôle : ils sont installés aux portes d'entrée et de sortied'un
site et à chaque endroit désigné pour attendre de révéler son état d'occupation, puistous les
points envoient des informations aux points de transmission, et des ordres sontreçus des
centres de contrôle pour mettre en œuvre certaines procédures.
• Points de transmission : Ils sont également installés dans la zone d'attente, reçoivent les
données des points de contrôle et les transfèrent au point de collecte. Les commandesvont
également du centre d'information à tous les points de surveillance.
• Point de montage : à installer dans la salle d'observation. Il collecte les informations des
points de transmission dans les zones d'attente mixtes et les connecte au centre
d'information et de gestion, c'est la passerelle vers le centre de contrôle
• Le centre de contrôle ou centre d'information, responsable de la gestion et de la
maintenance, ce centre est installé dans la salle de contrôle. Le centre reçoit des
informations du réseau de capteurs, et s’occupe du calcul du nombre de places de
stationnement occupées/vides nécessaires, ainsi que du contrôle de la transmission et
l'affichage des informations sur les écrans. Ce processus est réeffectué lorsqu'une voiture
se gare ou laisse sa place de stationnement.
• Centre de diffusion de l'information :
Il affiche toutes les informations pour informer les automobilistes sur le nombre de places
disponibles sur un site A et les différents rôles sur le site, pour les aider à prendre des
décisions et déterminer leur direction à tout moment. Parmi les techniques de présentation
des informations les plus importantes, on a :
12
CHAPITRE 1 : PRESENTATION DU PROJET
Ils sont placés dans divers emplacements routiers ou latéraux et à l'entrée du parking.
Il est placé à l'intérieur du site dans les zones d'attente. Chaque rôle
du site étant de maintenir le trafic à l'intérieur du site.
• Téléphones portables :
Il est également utilisé pour identifier l'état des emplacements des véhicules pour bien
aider les conducteurs. Les informations affichées par le système permettent de bien guider les
automobilistes à trouver des places de parking appropriées.
13
CHAPITRE 1 : PRESENTATION DU PROJET
13.1. Camera
Nous avons utilisé une caméra avec une résolution : 720p et Format photo : 1280 x 720,
qui peut collecter le point de repère facial à partir de vidéos et envoyer l'information. Elle
est présentée dans la figure 7.
14
CHAPITRE 1 : PRESENTATION DU PROJET
Figure 7 : Camera
13.2. Raspberry Pi 4
Le Raspberry pi est un mini-ordinateur de la taille d'une carte de crédit qui peut être connecté à
un moniteur et utilisé comme un ordinateur standard. Sa petite taille et son prix attractif font du
Raspberry pi un produit idéal à utiliser dans notre système. La figure représente la carte
Raspberry PI utilisée.
15
CHAPITRE 1 : PRESENTATION DU PROJET
En plus d'applications civiles, il existe des applications militaires aux réseaux de capteurs
(détection d'intrusions, localisation de combattants, véhicules, armes, etc. sur un champ de
bataille, sous l'eau, dans l'espace, au sol…) [7].
14. CONCLUSION
Ce chapitre présente une étude préliminaire du projet où nous avons tout d’abord exposé le
cadre de notre projet. Puis, nous avons étudié et critiqué quelques notions avec une étude de
l’état d’art sur le stationnement intelligent on a pris l’exemple de Zenpark. Ainsi de suite, nous
avons donné une idée sur la ville et la mobilité intelligentes et nous nous sommes intéressés en
particulier au stationnement intelligent qu’il a un rôle important dans l’amélioration des niveaux
de services dans la ville de demain .Ensuite, nous avons ainsi clôturé ce chapitre par la définition
des technologies utilisées qui constituent l’environnement du projet, le matériel utilisé et
l’architecture de notre application avec la fonction de système que nous détaillerons dans le
chapitre trois.
Dans le chapitre suivant, nous allons entamer la phase de conception de notre application.
16
Chapitre
2
Analyse et conception
Sommaire
1. Introduction : ..................................................................................................................... 19
2. Choix du langage de modélisation et de méthodologie de développement :..................... 19
2.1. UML :.......................................................................................................................... 19
2.2. Méthodologie de conception RUP : ............................................................................ 19
2.3. Analyse et conception : ............................................................................................... 20
2.3.1. Identification des acteurs et des cas d’utilisation :................................................. 20
2.3.2. Cas d’utilisation « S’inscrire » :............................................................................. 22
2.3.3. Cas d’utilisation « S’authentifier » : ...................................................................... 24
2.3.4. Cas d’utilisation « Ajouter réservation » : ............................................................. 26
2.3.5. Cas d’utilisation « Annuler réservation » : ............................................................ 28
3. Diagramme de classes : ..................................................................................................... 30
4. Conclusion : ....................................................................................................................... 30
CHAPITRE 2 : ANALYSE ET CONCEPTION
18
CHAPITRE 2 : ANALYSE ET CONCEPTION
Chapitre
2
Analyse et conception
1. INTRODUCTION
La conception offre une étape importante pour la facilité du développement et l'efficacité de
l'application. Par conséquent, nous détaillons la conception dans ce chapitre en identifiant les
acteurs et les cas d'utilisation et les représentations des diagrammes de séquence, des
diagrammes d'activités et des diagrammes de classes. Nous allons d'abord justifier le choix du
langage de modélisation et de la méthode de conception.
2.1. UML
UML est un langage de modélisation standardisé par l’OMG (Object Management Group) en
1997. Le choix de l’UML n’était pas arbitraire. Il est justifié par le fait qu’il est devenu le
standard en termes de modélisation objet. Par ailleurs, il est indépendant du langage de
programmation et facilite la compréhension de représentations abstraites complexes.
Nous utilisons le logiciel StarUML comme un outil d’analyse et de conception UML pour son
utilité simple et facile, son interface intuitive et conviviale et pour sa puissance. Ce logiciel
couvre toutes les fonctionnalités nécessaires pour notre conception. Il supporte l’UML2.
19
CHAPITRE 2 : ANALYSE ET CONCEPTION
Donc, un processus piloté par les cas d’utilisation sera le bon choix. RUP est un processus de
développement logiciel utilisé conjointement avec UML et défini par Rational Software (IBM).
Ce processus est :
— Piloté par les cas d’utilisation : Le développement d’un logiciel doit être centré sur
l’utilisateur et ses besoins. Les cas d’utilisation permettent d’exprimer ces besoins.
2.3.1.1. Acteurs :
- Utilisateur :
● S’authentifier
La figure 10 représente le diagramme des cas d’utilisation qui regroupe les différents
modules de notre application.
20
CHAPITRE 2 : ANALYSE ET CONCEPTION
21
CHAPITRE 2 : ANALYSE ET CONCEPTION
S’inscrire
Ce cas d’utilisation permet a l’utilisateur de crée un compte.
S’authentifier
Ce cas d’utilisation autorise à l’utilisateur de se connecter et d’accéder aux différentes
fonctionnalités du système.
L’utilisateur consulte son profil d’après système demande un login et un mot de passe
Consulter le profile et il a la possibilité d’avoir les informations sur sa page profil
- Ajouter réservation.
- Consulter réservation.
- Annuler réservation.
Description textuelle
- Acteurs : Utilisateur
Scénario nominal :
22
CHAPITRE 2 : ANALYSE ET CONCEPTION
Scénario alternatif :
Diagramme de séquence :
23
CHAPITRE 2 : ANALYSE ET CONCEPTION
Description textuelle
- Acteurs : Utilisateur.
- Scénario nominal :
-Scénario alternatif :
Si l’une des les informations sont incomplètes ou erronés un message d’erreur est affiché
24
CHAPITRE 2 : ANALYSE ET CONCEPTION
Diagramme de séquence :
25
CHAPITRE 2 : ANALYSE ET CONCEPTION
Description textuelle
Ce cas d’utilisation permet à un utilisateur de faire une réservation d'une place dans un
parking.
- Acteurs : Utilisateur.
- - Scénario nominal :
26
CHAPITRE 2 : ANALYSE ET CONCEPTION
Diagramme de séquence :
27
CHAPITRE 2 : ANALYSE ET CONCEPTION
Description textuelle
Ce cas d’utilisation permet à un utilisateur de faire une réservation d'une place dans un parking.
- Acteurs : Utilisateur.
-Scénario nominal :
1. L’utilisateur se connecte au système de parking à travers son application mobile par un login
et un mot de passe.
2. Le système présente une page permettant de se connecter au menu de l’application.
3. L’utilisateur fait une annulation de réservation via le clic sur l’icône d’annuler la réservation
4. Le système traite la demande d’annulation et affiche un message de confirmation.
28
CHAPITRE 2 : ANALYSE ET CONCEPTION
Diagramme de séquence :
3. DIAGRAMME DE CLASSES
La figure 15 identifie la structure des classes de notre système, y compris les attributs et
les méthodes de chaque classe.
4. CONCLUSION
Dans ce chapitre, nous avons abordé la conception de notre application à l’aide des
diagrammes de cas d’utilisation, de séquence, d’activités et de classes. L’objectif du chapitre
suivant est de présenter la réalisation de notre projet.
30
Chapitre
3
Réalisation
Sommaire
1. Introduction : ................................................................................................................... 33
2. Choix de l’architecture de l’application : .......................................................................... 33
2.1. . Avantages de l'architecture client/serveur : .............................................................. 35
3. Etude technologique : ...................................................................................................... 35
3.1. Outils de développement : .......................................................................................... 35
3.1.1. Microsoft Visual Studio Code : ............................................................................. 35
3.1.2. Firebase : ................................................................................................................ 36
3.1.3. Pycharm : ............................................................................................................... 36
3.1.4. EasyOCR : ............................................................................................................. 37
3.2. Langages de développement : ..................................................................................... 37
3.2.1. Python : .................................................................................................................. 37
3.2.2. React native :.......................................................................................................... 37
4. Les technologies de de la reconnaissance automatique des plaques d’immatriculation : . 38
4.1. Technologie de reconnaissance des plaques d’immatriculation : ............................... 38
5. Fonctionnement de notre système : ................................................................................. 38
5.1. Détection de plaques : ................................................................................................. 38
5.1.1. La phase d’acquisition et de prétraitement de l'image : ......................................... 38
5.1.1.1. Conversion de l'image en niveaux de gris : .................................................... 38
5.1.1.2. Suppression ou diminution du bruit de l'image .............................................. 39
5.1.1.3. Identifie les contours dans l’image des bords et les trier par ordre décroissant
de leur surface : .............................................................................................................. 40
5.1.1.4. Interface pour localisation de la plaque d'immatriculation automatiquement :
40
5.2. Phase de lecture OCR : ............................................................................................... 41
CHAPITRE 3 : REALISATION
32
CHAPITRE 3 : REALISATION
Chapitre
3
Réalisation
1. INTRODUCTION
La phase de l’implémentation représente le dernier volet de ce travail, après avoir terminé la
phase de l’analyse et spécification des besoins et de la conception.
Dans ce chapitre nous présentons les principales étapes de notre réalisation, qui traduit le
passage du modèle conceptuel vers une application mobile d’un parking intelligent et nous
exposons les choix techniques utilisés et le langage adopté. Dans ce chapitre nous allons
s’intéresser aussi à présenter le système de détection des plaques d’immatriculation, puis
détailler les étapes fondamentales du ce système. La dernière partie de ce chapitre est consacrée
à présenter l’application.
L’idée derrière notre application est d’aider le client (utilisateur) à trouver des places libres pour
stationner et de faciliter la réservation en utilisant son Smartphone.
33
CHAPITRE 3 : REALISATION
L'architecture trois tiers, aussi appelée architecture à trois niveaux ou architecture à trois
couches , est l'application du modèle plus général qu'est le multi-tiers. L'architecture logique du
système est divisée en trois niveaux ou couches [8] :
Il s'agit du niveau le plus élevé de l'application associé au client qui de fait est dit « léger ». Elle
correspond à la partie visible et interactive de l'application pour les utilisateurs. On parle
d'interface homme-machine. Elle a donc une importance primordiale pour rendre l’information
lisible, compréhensible et accessible.
Il traite les entrées reçues des clients et interagit avec la base de données.
La couche de traitement offre des services applicatifs et métier à la couche de présentation. Pour
fournir ces services, elle s'appuie, le cas échéant, sur les données du système, accessibles au
travers des services de la couche inférieure. En retour, elle renvoie à la couche de présentation
les résultats qu'elle a calculés.
Elle comprend à la fois des ensembles de données et le système de gestion de base de données
ou le logiciel SGBDR qui gère et donne accès aux données d’application. Le système de
stockage des données a pour but de conserver une quantité de données de façon structurée. Il
fournit la sécurité, l'intégrité des données et l'application de support.
Le niveau de données serait une sorte de base de données, telle qu'une base de données MySQL,
SQLite ou PostgreSQL, Firebase. Tous ces éléments sont exécutés sur un serveur de base de
données distinct.
34
CHAPITRE 3 : REALISATION
➢ Maintenabilité : chaque niveau étant indépendant des autres niveaux, des mises à
jourou des modifications peuvent être effectuées sans affecter l'application dans son
ensemble.
➢ Évolutivité : Les niveaux étant basés sur le déploiement de couches, la mise à
l'échelled'une application est raisonnablement simple.
➢ Flexibilité : Étant donné que chaque niveau peut être géré ou mis à l'échelle
indépendamment, la flexibilité est accrue.
➢ Disponibilité : Les applications peuvent exploiter l'architecture modulaire des
systèmeshabilitants à l'aide de composants facilement évolutifs, ce qui augmente la
disponibilité.
➢ Réutilisabilité : Les composants sont réutilisables
➢ Une meilleure sécurité : car le nombre de points d'entrée permettant l'accès aux
données est moins important.
➢ Un réseau évolutif : grâce à cette architecture il est possible de supprimer ou
rajouter des clients sans perturber le fonctionnement du réseau et sans modification
majeure.
3. ETUDE TECHNOLOGIQUE
3.1. Outils de développement
3.1.1. Microsoft Visual Studio Cod
Visual Studio Code est un éditeur de code source léger mais puissant développé par Microsoft
qui s'exécute sur notre bureau et disponible pour Windows, macOS et Linux. Il est livré avec
un support intégré pour JavaScript, Type Script et Node.js et dispose d'un riche écosystème
d'extensions pour d'autres langages (tels que C++, C#, Java, Python, PHP, Go) et des runtimes
(tels que .NET et Unity) [9].
35
CHAPITRE 3 : REALISATION
3.1.2. Firebase
Firebase est une plateforme de google qui permet de développer rapidement des applications
pour mobile et pour le web. Elle fournit aux développeurs une pléthore d'outils et de services
pour les aider à développer des applications de haute qualité, à élargir leur base d'utilisateurs et
à générer davantage de profits [10] .
Figure 18 : Firebase
3.1.3. Pycharm
36
CHAPITRE 3 : REALISATION
3.1.4. EasyOCR
Cette bibliothèque est souvent utilisée dans des projets de traitement d'images, de numérisation
de documents, d'automatisation de tâches liées au texte, de reconnaissance de plaques
d'immatriculation, de lecture de panneaux de signalisation, etc.
React Native est un Framework open-source développé par Facebook qui permet de créer des
applications mobiles multiplateformes en utilisant le langage JavaScript. Il combine les
avantages du développement web et natif en permettant aux développeurs de créer des
applications pour iOS et Android en utilisant une base de code commune.
37
CHAPITRE 3 : REALISATION
Le point véritable de ce système ce qu’il détecte non seulement les chiffres mais aussi les lettres.
38
CHAPITRE 3 : REALISATION
Une fois l'image convertie en niveaux de gris nous passons à la correction du bruit par
Ajout un filtre bilatéral pour la réduction du bruit sur l'image grise, puis effectue la détection
des bords Canny pour obtenir une image binaire dont les bords sont extraits.
Le filtre bilatéral est une méthode de lissage d'une image tout en préservant ses bords.
39
CHAPITRE 3 : REALISATION
5.1.1.3. Identifie les contours dans l’image des bords et les trier par ordre
décroissant de leur surface :
Le détecteur de contours Canny (en anglais Canny Edge Detection) est un algorithme qui
utilise un processus en plusieurs étapes pour détecter une large gamme de contours dans les
images.
• . Les 10 premiers contours avec la plus grande surface sont stockés dans une variable
<<contours>>
• Pour chaque contour de la liste "contours" et s’rapproche d'une forme polygonale qui
correspond le mieux à chaque contour. S'il trouve un contour à 4 sommets (indiquant
une forme rectangulaire), il stocke les sommets du polygone dans un variable et sort de
la boucle.
• Puis on crée une image de masque vierge avec des dimensions égales à l'image en
niveaux de gris et dessine la forme polygonale (stockée dans "emplacement") sur
l'image de masque.
• Il utilise l'image de masque pour extraire la région rectangulaire de l'image couleur
d'origine
• Le résultat de cette extraction est stocké dans la variable " new_image " et est affiché :
Le système prend la nouvelle image. Ensuite, il effectue des traitements sur l’image pour
donner comme sortie un extrait également la région rectangulaire où le texte détecté est présent.
40
CHAPITRE 3 : REALISATION
Dans ce résultat tout dépend de la manière dont le rectangle a été positionné. Un mauvais
positionnement du rectangle peut donner un faux résultat
Ces coordonnées correspondent aux coins supérieurs gauches et inférieurs droit de la boîte
englobant du texte.
Maintenant nous avons un contour valide qui représente une plaque d'immatriculation, nous
pouvons mettre en œuvre le processus OCR pour reconnaître les numéros.
A ce stade on ne fait que transformer l’image en gris en une image binaire qui satisfait notre
besoin d’une écriture blanc sur un arrière-plan noire car notre OCR Tess4J est dédié à la lecture
de documents administratifs à arrière-plan noire ce qui est la situation idéale pour un meilleur
résultat de lecture afin de maximiser nos chances d’avoir le bon matricule.
En effet la bibliothèque easyOCR que nous avons utilisé c’est à dire TEST4j utilise un
algorithme d’apprentissage automatique du réseau neuronal artificiel pour reconnaitre les
caractères [13].
41
CHAPITRE 3 : REALISATION
Donc, on obtient des chaines de caractères qui ne contiennent que des lettres et des
chiffres.
• D’après cette opération en met les caractères obtenus dans variable appeler
<<matricule>> pour vérifier avec les matricules à la base de données.
La figure présente la phase d’entrainement de notre modèle. Elle est très importante au
fonctionnement et l’extraction du matricule.
EasyOCR et Open Cv est le responsable de détection de notre système.
42
CHAPITRE 3 : REALISATION
2/ Détection de la matricule
La détection commence par le système utilisant la bibliothèque OpenCv et EasyOcr.
S’il y a une matricule détecté il y a un ajout d’une boxe avec le score de détection,
43
CHAPITRE 3 : REALISATION
4/ Phase de confirmation
Figure 29 : confirmation
44
CHAPITRE 3 : REALISATION
6. REALISATION DE L’APPLICATION
Dans cette partie, nous présentons quelques interfaces de notre application.
45
CHAPITRE 3 : REALISATION
Comme toute application, pour accéder à notre application Smart Parking, l’utilisateur doit
s’authentifier. Aussi elle représente les messages d’erreurs possibles si on clique au bouton
« login » sans remplir les champs d’authentification obligatoires.
Une fois l’utilisateur s’est authentifié, il peut consulter son profil pour voir ses informations
46
CHAPITRE 3 : REALISATION
47
CHAPITRE 3 : REALISATION
En choisissent l’un des parkings de les figure 35, l’interface du choix d’une place (figure 36)
est affichée.
L’utilisateur choisir l’une des places disponibles comme le montre la figure 36.
48
CHAPITRE 3 : REALISATION
Ici l’utilisateur peut voir toutes les informations concernant leur réservation.
L’utilisateur peut annuler une réservation déjà existante, il doit appuyer sur le bouton
« Cancel ». Il peut aussi modifier une réservation déjà existante, il doit appuyer sur le bouton
« Modify ».
7. CONCLUSION
Dans ce chapitre, nous avons décrit, en premier lieu les technologies utilisées dans notre
projet. La deuxième partie a été dédiée à la présentation de fonctionnement de notre système
moyennant des captures d’écran et une description des fonctionnalités offertes par les
différentes interfaces de l’application développée.
49
CONCLUSION GÉNÉRALE ET PERSPECTIVES
CONCLUSION GÉNÉRALE
ET PERSPECTIVES
Depuis l’aube de l’humanité, l’homme a cherché à trouver et à utiliser des moyens qui lui
facilitent l’accomplissement de ses tâches et lui permettent d’accomplir ses fonctions
rapidement, facilement et en toute sécurité pour suivre le rythme du développement du monde,
en particulier le développement continu de la technologie. Cela est dû à la nature de l’être
humain ambitieux qui aime le changement positif dans tous les aspects de la vie.
La technologie dans le monde s’est développée rapidement au cours des dernières années, en
particulier dans le domaine des téléphones intelligents, qui est un domaine dynamique de profits
élevés et où la concurrence est intensifiée par l’innovation et la créativité de design. Les
téléphones et les différentes applications font maintenant partie de notre vie quotidienne.
Tout au long de la préparation de notre projet de fin d’études, nous avons essayé de mettre en
pratique les connaissances acquises durant nos études universitaires et cela dans le but de
réaliser une application permettant d’exploiter dans les villes intelligentes (Smart Cities).
Notre application mobile Smart Parking est destinée à tous les conducteurs. Elle permet de
guider ces conducteurs d’une manière intelligente à trouver un parking possédant une place
libre pour stationner et aussi pour réserver une telle place. L’objectif global de l’application est
d’aider l’utilisateur à gagner du temps et d’évite au maximum la circulation dense qui peut
provoquer des accidents.
Grâce à la réalisation de ce système, nous avons atteint l'objectif de notre travail qui consiste à
réaliser un système de détection et de reconnaissance de plaques minéralogiques ayant la
capacité d’extraire les numéros d’immatriculation Tunisienne.
En plus, d’avoir atteint l’objectif final demandé, ce projet nous a été très bénéfique car il nous
a permis de maîtriser plusieurs techniques et de manipuler des outils très complexes dans le
domaine de traitement d'image. Enfin, ce projet était une bonne occasion pour réaliser un travail
très concret, avec des objectifs clairs et bien définis et de se familiariser avec un environnement
de développement professionnel.
50
CONCLUSION GÉNÉRALE ET PERSPECTIVES
Durant la préparation de notre travail nous a beaucoup appris. Ce projet nous a permis de valider
les connaissances acquises aussi bien sur le plan théorique que sur le plan pratique. Pour la
conception de notre application, nous avons utilisé le langage de modélisation UML, et pour la
mise en œuvre, nous avons programmé avec React Native grâce et python et Visual studio code.
PERSPECTIVES
Le travail que nous avons réalisé peut-être amélioré et enrichi pour en faire un système plus
performant.
51
BIBLIOGRAPHIE
BIBLIOGRAPHIE
[1] Chhayder, A., Mohamed, I. B. (2009). Système de reconnaissance automatique des
plaques minéralogiques. In setit 2009, 5th international conference: sciences of
electronic, technologies of information and télécommunications.
[3] Https://www.seetecvideo.com/fr/produits/extensions-seetec-cayuga/reconnaissance-
desplaquesdimmatriculation/,
[4] Boumergued, A., & Nasri, S. (2021). Conception et réalisation d’une application
mobile pour un parking intelligent (Doctoral dissertation, Université Mohamed el-
Bachir el-Ibrahimi Bordj Bou Arréridj Faculté de Mathématique et Informatique)
[5] Boumergued, A., & Nasri, S. (2021). Conception et réalisation d’une application
mobile pour un parking intelligent (Doctoral dissertation, Université Mohamed el-
Bachir el-Ibrahimi Bordj Bou Arréridj Faculté de Mathématique et Informatique).
[7] Ngom, D. (2016). Optimisation de la durée de vie dans les réseaux de capteurs sans fil
sous contraintes de couvertureet de connectivité réseau (Doctoral dissertation,
Université de Haute Alsace-Mulhouse; Université Cheikh Anta Diop (Dakar)).
[9] Zaychenko, Y. (2021). Exécution côté client d’une application de Machine Learning
avec webassembly.
:الخالصة
إلى تطوير تطبيق لألجهزة المحمولة، الذي تم تقديمه كجزء من رسالة السنة الثالثة اجازة،يهدف هذا العمل
يسمح هذا التطبيق للسائقين بالوصول إلى معلومات الركن. لموقف السيارات الذكي على نظام األندر ويد
وحجز موقف عبر اإلنترنت بهدف الحد من حاالت انحشار المرور في المدن،على أجهزتهم المحمولة
.الذكية
كشف التعرف الضوئي على، اند رويد، وقوف السيارات الذكية، تطبيق الهاتف المحمول:الكلمات المفاتيح
.الحروف
Résumé :
Ce travail présenté dans le cadre du mémoire de troisième année Licence, vise à développer une
application mobile de stationnement intelligent sur Android, en tenant compte du potentiel de
déploiement au niveau de la ville intelligente. Cette application permet aux conducteurs
d’accéder aux informations de stationnement sur leurs appareils mobiles, et de réserver en ligne
une place pour stationner afin de réduire les embouteillages dans les villes intelligentes
Abstract:
This work, presented as part of the third-year Bachelor's thesis, aims to develop a smart parking
mobile application on Android, taking into account the potential for deployment at the smart
city level. This application allows drivers to access parking information on their mobile devices,
and reserve a parking space online to reduce traffic congestion in smart cities