SlideShare une entreprise Scribd logo
Université Alioune Diop de Bambey
UFR SATIC / Département TIC
Projet Java avancé 2018
Licence 3 AMRT
TITRE :
Réalisation d’une application java pour la gestion des « Infractions au permis
de conduire à point »
Délai de livraison :
Le 14 Avril 2018 à 17h00 au plus tard à l’adresse g.dahirou@gmail.com – délai de rigueur.
GROUPES : le projet peut être réalisé par groupes de deux étudiants au plus. Chaque étudiant devra être en
mesure d’expliquer l’intégralité du code de l’application ainsi que les différents choix opérés.
LIVRABLE :
- Un document décrivant la modélisation avec Mérise ou UML
- Un fichier sous le format d’archive java correspondant au projet créé sous Eclipse ou Netbeans,
avec les sous-dossiers src, bin, et doc correspondant respectivement aux sources, exécutables, et à
la documentation du projet, et un fichier Mabase.sql correspondant aux données de test de votre
base de données.
- Le projet désarchivé devra pouvoir être exécuté sans aucune configuration spéciale. Pour cela, il
faudra fournir le fichier exécutable du projet avec l’extension .jar.
SOUTENANCE :
Les projets seront présentés et soutenus le 18 Avril 2018.
Description du projet :
Ce projet part d’une situation réelle, celle d’une infraction au code de la route, et conduit l’étudiant à analyser
un document pour en extraire les informations utiles à la mise en place d’un système « d’infractions au
permis de conduire ». Les questions concernent les points suivants : une modélisation du système sous
Merise ou UML, une réalisation de l’application avec le langage Java qui utilise un serveur de base de
données, et une utilisation des threads et sockets.
Les infractions au code de la route en général et relatives aux dépassements et aux excès de vitesse en
particulier sont régies par un certain nombre de dispositions législatives et administratives. Nous allons nous
intéresser au processus d’enregistrement des types d’infractions et de délits, d’enregistrement des
contraventions, et de recouvrement des amendes ; et tenter de modéliser le système d’information de ce
processus.
Voici les types de répressions possibles :
1. Un barème correspondant à la gravité des fautes est instauré. Il comprend un retrait de 1 à 10 points
du permis, selon le barème suivant :
Barème :
♦ Plusieurs infractions commises simultanément peuvent entrainer un retrait jusqu’à 10 points
♦ Pour les délits, le retrait des points est égal à 8 points par délit
Remarque : le client reçoit une contravention si le nombre total de points alloués (10 points) est épuisé. La
contravention sera payée au poste de police ou commissariat le plus proche. Trois contreventions reçus sur
une période de 3 mois entraine la suspension du permis de conduire pour une durée d’un an.
1 point ♦ Non port de la ceinture de sécurité
♦ Défaut d’assurance
♦ Défaut de visite technique
♦ Défaut de trousse de secours
♦ Défaut de triangle de signalisation
♦ Défaut de roue de secours
♦ Défaut de pare-brise, rétroviseur intérieur, rétroviseur extérieur
♦ Défaut de feux (signalisation, position, route, croisement)
2 points ♦ Dépassement de moins de 20 km/h de la vitesse maximale autorisée
♦ Chevauchement d’une ligne continue seule ou quand elle n’est pas doublée par
une ligne discontinue
3 points ♦ Dépassement de la vitesse maximale autorisée compris entre 20km/h et moins
de 30 km/h
♦ Usage d’un détecteur de radar
♦ Accélération de l’allure d’un véhicule sur le point d’être dépassé
♦
4 points ♦ Utilisation d’un téléphone portable tenu en main
♦ Circulation ou stationnement sur le terre-plein central d’autoroute
5 points ♦ Dépassement sur ligne continue
♦ Dépassement à droite
♦ Dépassement en troisième position
6 points ♦ Non respect de panneau ou feu de signalisation
♦ Stationnement interdit
♦ Arrêt sur la chaussée
7 points ♦ Vitesse excessive en agglomération
♦ Excès de vitesse relatif au panneau
♦ Surcharge (passagers ou essieu)
8 points ♦ Défaut de permis de conduire
♦ Conduite en état d’ébriété
♦ Accident avec dommage matériel
♦ Accident avec dommage corporel
♦ Fuite
♦ Accident mortel
À chaque point retiré sont associés un ou plusieurs motifs de contraventions, ceux-ci ne coûtant qu’un
nombre de points unique
2) une classification de la sévérité des contraventions est également instaurée. Celle-ci mentionne le
montant des amendes, le nombre de points retirés et l’éventuelle suspension du permis, selon un tableau
précis.
TRAVAIL A FAIRE :
Question 1 : Modélisez le système sous Merise ou UML.
Quelques informations sur :
- Le client (CodeClient, Numéro de permis de conduire, Nom, Prénom, Adresse complète)
- la carte grise(CodeCarteGrise, Immatriculation, prénom, nom, genre, marque, type, date de mise en
circulation)
- le lieu où a été relevée l’infraction ou le délit (Nom commune, Nom voie, Sens de circulation, Code
postal commune, Point kilométrique exact où était positionné l’appareil ayant servi au contrôle),
- Gestionnaire (CodeGest, Nom, Prénom, Grade, Commissariat de rattachement) ;
- Homme de tenue (CodeHommeTenue, Nom, Prénom, Grade, poste de rattachement).
L’infraction elle-même est ensuite décrite (Date et heure précise, Motif, Catégorie de l’infraction, Numéro
article du code de la route réprimant cette infraction, Vitesse relevée, Vitesse maximum autorisée, vitesse
retenue pour la détermination du motif). On trouve ensuite un booléen indiquant si, oui ou non,
l’infraction entraîne une perte de point(s) sur le permis de conduire, les montants des amendes forfaitaire,
minorée et de majorée.
Enfin, très important, l’avis comporte la date d’envoi, un identifiant (numéro à quatorze chiffres) et une
clé de contrôle (de deux chiffres).
D’autres informations figurent sur ce document, mais nous n’en tiendrons pas compte ici.
Question 2 :
A partir du modèle logique de données obtenu (MLD) avec Mérise ou du diagramme de classes
avec UML, créer la base de données relationnelle correspondante.
Question 3 : SWING
A l’aide des SWING, implémenter les différents modules du programme JAVA. Ce dernier va interagir
avec une base de données MySQL.
L’application comportera les modules suivants :
- Module 1 : Interface Administrateur
Permet de faire la gestion des utilisateurs (Homme de tenu en circulation et gestionnaire des infractions
- Module 2 : Interface Homme de tenu
Permet à un homme de tenu en circulation de choisir le type de faute (infraction ou délit) et de saisir les
informations du permis, de la carte grise du véhicule et du type de faute.
En cas d’infraction, le système lui retire des points.
En cas de délit, le système lui retire des points et il n’y a pas de possibilité de contravention, l’affaire sera
portée en justice.
- Module 3 : Interface Gestionnaire
Permet d’enregistrer le permis de conduire d’un nouveau client et de lui attribuer le nombre total de point.
Permet de recevoir et d’afficher les types d’infraction ou de délit envoyé par un homme de tenu et de gérer
les contraventions des clients ou particuliers.
Question 4 : Utilisation des sockets (client / serveur)
Le système comportera deux types d’applications une application serveur et deux applications clientes.
♦ L’application serveur sera gérée par l’administrateur qui doit démarrer le serveur sur un
port spécifique qu’il donnera aux clients (Applications clientes).
♦ Une application cliente qui sera utilisée par les hommes de tenue
♦ Et une autre application cliente qui sera utilisée par les gestionnaires.
Utiliser les sockets pour réaliser la connexion et les échanges d’information entre le serveur et les
applications clientes.
Annexe : Forme de l’interface
Techniquement, l’application devra être conçue sous forme d’une seule fenêtre (JFrame) divisée
logiquement avec un gestionnaire de positionnement adéquat en trois zones représentant chacun un
panneau :
- Une première zone (ZoneHaut) devant accueillir le menu principal de l’application avec un
bouton pour chaque fonctionnalité du module :
- Une seconde zone (zoneMilieu) servant d’espace de travail : c’est cette zone qui selon le bouton
actif doit fournir l’interface adéquate à l’utilisateur final lui permettant de saisir ou d’afficher des
informations selon le cas.
- Une troisième zone (zoneBas) fournissant une zone de texte (JTextArea) non éditable pour
afficher les événements internes correspondant à des messages d’erreurs (Exemple : erreur de
connexion à la base de données, table vide, enregistrement /suppression/modification bien ou mal
effectué, etc.)
Selon les besoins d’affichage, chacun de ces trois panneaux devra lui-même être divisé en d’autres sous
panneaux à l’aide des gestionnaires FlowLayout, BorderLayout, ou GridLayout.
L’idée globale est d’afficher la fenêtre avec trois subdivisions, si l’utilisateur fait un clic sur un bouton de
zone haut, une méthode gestionnaire d’événements :
- Identifie l’origine de l’événement,
- Divise le panneau zoneMilieu en un nombre de sous-panneaux nécessaires à l’aide des
gestionnaires de positionnement précités.
- Met du contenu à chaque sous panneau créé,
- Affiche toutes les notifications nécessaires à l’utilisateur sur zoneBas depuis le début de
l’exécution du programme (à l’aide par exemple de la méthode d’instance append( ).
La recherche d’un mot clé peut se faire en utilisant un objet de la classe java.util.StringTokenizer dont
une utilisation est illustrée par le bout de code ci-après :
StringTokenizer jetons = new StringTokenizer(chaineADecouper);
While(jetons.hasMoreTokens( )) System.out.println(jetons.nextToken( ));
Ce bout de code permet d’afficher tous les mots constituant une chaine de caractères sur des lignes
différentes de la sortie standard.
La fenêtre de l’application doit avoir une taille fixée, des barres de défilement pourront être ajoutées aux
composants JPanel, JTextArea, etc, chaque fois que c’est nécessaire ; cela peut se faire à l’aide de la classe
javax.swing.JScrollPane dont le constructeur JScrollPane( Component c1) retourne un composant
correspondant à c1 avec des barres de défilement.
Dr. Dahirou GUEYE
FIN

Contenu connexe

Similaire à Projet java

Cahier des charges. système de pointage. meck moroni
Cahier des charges. système de pointage. meck moroniCahier des charges. système de pointage. meck moroni
Cahier des charges. système de pointage. meck moroni
Soukaina Benallou
 
Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90
Arnold Stellio
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
Habib Ayad
 
Fiche suivi post accident
Fiche suivi post accidentFiche suivi post accident
Fiche suivi post accidentPASCOL
 
Fiche suivi post accident
Fiche suivi post accidentFiche suivi post accident
Fiche suivi post accidentPASCOL
 
Implémentation d’un gestionnaire de parc automobile
 Implémentation d’un gestionnaire de parc automobile Implémentation d’un gestionnaire de parc automobile
Implémentation d’un gestionnaire de parc automobile
Afaf MATOUG
 
Mémoire.pdf
Mémoire.pdfMémoire.pdf
Mémoire.pdf
neoma9
 
Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...
Amine Barrak
 
App days les règles d’or pour gérer, et éviter, les mises à jour de son...
App days   les règles d’or pour gérer, et éviter, les mises à jour de son...App days   les règles d’or pour gérer, et éviter, les mises à jour de son...
App days les règles d’or pour gérer, et éviter, les mises à jour de son...Marc Lebel
 
03 les sinistres (2011)
03   les sinistres (2011)03   les sinistres (2011)
03 les sinistres (2011)lionelmachado
 
earlegal #4 - Plateformes en ligne : Créez la vôtre ! Développez vos activi...
earlegal #4 - Plateformes en ligne :  Créez la vôtre !  Développez vos activi...earlegal #4 - Plateformes en ligne :  Créez la vôtre !  Développez vos activi...
earlegal #4 - Plateformes en ligne : Créez la vôtre ! Développez vos activi...
Lexing - Belgium
 
Systeme de la Reconnaissance des des plaques d'immatriculation marocaines
Systeme de la Reconnaissance des des plaques d'immatriculation marocainesSysteme de la Reconnaissance des des plaques d'immatriculation marocaines
Systeme de la Reconnaissance des des plaques d'immatriculation marocaines
BOUHNIN Jawad
 
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Marie-Alice Blete
 
Treeseccounter
TreeseccounterTreeseccounter
Treeseccounter
Tuenkam Steve
 
Atelier veron juin 2013
Atelier veron juin 2013Atelier veron juin 2013
Atelier veron juin 2013echangeurba
 
Atelier veron juin 2013
Atelier veron juin 2013Atelier veron juin 2013
Atelier veron juin 2013echangeurba
 
Atelier veron juin 2013
Atelier veron juin 2013Atelier veron juin 2013
Atelier veron juin 2013echangeurba
 
Les transactions financières et bancaires dans la e-administration & la e-go...
Les transactions financières et bancaires  dans la e-administration & la e-go...Les transactions financières et bancaires  dans la e-administration & la e-go...
Les transactions financières et bancaires dans la e-administration & la e-go...
Abdoulaye Kanté
 
Ir0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administrationIr0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administrationCERTyou Formation
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
Sylvain Maret
 

Similaire à Projet java (20)

Cahier des charges. système de pointage. meck moroni
Cahier des charges. système de pointage. meck moroniCahier des charges. système de pointage. meck moroni
Cahier des charges. système de pointage. meck moroni
 
Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90Dossier de creation_entreprise_v0.90
Dossier de creation_entreprise_v0.90
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
 
Fiche suivi post accident
Fiche suivi post accidentFiche suivi post accident
Fiche suivi post accident
 
Fiche suivi post accident
Fiche suivi post accidentFiche suivi post accident
Fiche suivi post accident
 
Implémentation d’un gestionnaire de parc automobile
 Implémentation d’un gestionnaire de parc automobile Implémentation d’un gestionnaire de parc automobile
Implémentation d’un gestionnaire de parc automobile
 
Mémoire.pdf
Mémoire.pdfMémoire.pdf
Mémoire.pdf
 
Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...Design and development of a 3G module driver with Push notification and SMS c...
Design and development of a 3G module driver with Push notification and SMS c...
 
App days les règles d’or pour gérer, et éviter, les mises à jour de son...
App days   les règles d’or pour gérer, et éviter, les mises à jour de son...App days   les règles d’or pour gérer, et éviter, les mises à jour de son...
App days les règles d’or pour gérer, et éviter, les mises à jour de son...
 
03 les sinistres (2011)
03   les sinistres (2011)03   les sinistres (2011)
03 les sinistres (2011)
 
earlegal #4 - Plateformes en ligne : Créez la vôtre ! Développez vos activi...
earlegal #4 - Plateformes en ligne :  Créez la vôtre !  Développez vos activi...earlegal #4 - Plateformes en ligne :  Créez la vôtre !  Développez vos activi...
earlegal #4 - Plateformes en ligne : Créez la vôtre ! Développez vos activi...
 
Systeme de la Reconnaissance des des plaques d'immatriculation marocaines
Systeme de la Reconnaissance des des plaques d'immatriculation marocainesSysteme de la Reconnaissance des des plaques d'immatriculation marocaines
Systeme de la Reconnaissance des des plaques d'immatriculation marocaines
 
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
Du Clic à la Conversation : remplaçons boutons et formulaires par un LLM !
 
Treeseccounter
TreeseccounterTreeseccounter
Treeseccounter
 
Atelier veron juin 2013
Atelier veron juin 2013Atelier veron juin 2013
Atelier veron juin 2013
 
Atelier veron juin 2013
Atelier veron juin 2013Atelier veron juin 2013
Atelier veron juin 2013
 
Atelier veron juin 2013
Atelier veron juin 2013Atelier veron juin 2013
Atelier veron juin 2013
 
Les transactions financières et bancaires dans la e-administration & la e-go...
Les transactions financières et bancaires  dans la e-administration & la e-go...Les transactions financières et bancaires  dans la e-administration & la e-go...
Les transactions financières et bancaires dans la e-administration & la e-go...
 
Ir0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administrationIr0997 formation-symantec-data-loss-prevention-12-administration
Ir0997 formation-symantec-data-loss-prevention-12-administration
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
 

Dernier

PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
AlbertSmithTambwe
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
OCTO Technology
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
abderrahimbourimi
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Laurent Speyser
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
Horgix
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
Université de Franche-Comté
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
UNITECBordeaux
 

Dernier (7)

PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptxPRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
PRESENTATION DE L'ACTIVE DIRECTORY SOUS WINDOWS SERVEUR.pptx
 
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...
 
Les écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptxLes écrans informatiques au fil du temps.pptx
Les écrans informatiques au fil du temps.pptx
 
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)
 
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
MongoDB in a scale-up: how to get away from a monolithic hell — MongoDB Paris...
 
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'universitéDe l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
De l'IA comme plagiat à la rédaction d'une « charte IA » à l'université
 
Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024Le support de présentation des Signaux 2024
Le support de présentation des Signaux 2024
 

Projet java

  • 1. Université Alioune Diop de Bambey UFR SATIC / Département TIC Projet Java avancé 2018 Licence 3 AMRT TITRE : Réalisation d’une application java pour la gestion des « Infractions au permis de conduire à point » Délai de livraison : Le 14 Avril 2018 à 17h00 au plus tard à l’adresse g.dahirou@gmail.com – délai de rigueur. GROUPES : le projet peut être réalisé par groupes de deux étudiants au plus. Chaque étudiant devra être en mesure d’expliquer l’intégralité du code de l’application ainsi que les différents choix opérés. LIVRABLE : - Un document décrivant la modélisation avec Mérise ou UML - Un fichier sous le format d’archive java correspondant au projet créé sous Eclipse ou Netbeans, avec les sous-dossiers src, bin, et doc correspondant respectivement aux sources, exécutables, et à la documentation du projet, et un fichier Mabase.sql correspondant aux données de test de votre base de données. - Le projet désarchivé devra pouvoir être exécuté sans aucune configuration spéciale. Pour cela, il faudra fournir le fichier exécutable du projet avec l’extension .jar. SOUTENANCE : Les projets seront présentés et soutenus le 18 Avril 2018. Description du projet : Ce projet part d’une situation réelle, celle d’une infraction au code de la route, et conduit l’étudiant à analyser un document pour en extraire les informations utiles à la mise en place d’un système « d’infractions au permis de conduire ». Les questions concernent les points suivants : une modélisation du système sous Merise ou UML, une réalisation de l’application avec le langage Java qui utilise un serveur de base de données, et une utilisation des threads et sockets. Les infractions au code de la route en général et relatives aux dépassements et aux excès de vitesse en particulier sont régies par un certain nombre de dispositions législatives et administratives. Nous allons nous intéresser au processus d’enregistrement des types d’infractions et de délits, d’enregistrement des contraventions, et de recouvrement des amendes ; et tenter de modéliser le système d’information de ce processus. Voici les types de répressions possibles : 1. Un barème correspondant à la gravité des fautes est instauré. Il comprend un retrait de 1 à 10 points du permis, selon le barème suivant : Barème : ♦ Plusieurs infractions commises simultanément peuvent entrainer un retrait jusqu’à 10 points ♦ Pour les délits, le retrait des points est égal à 8 points par délit Remarque : le client reçoit une contravention si le nombre total de points alloués (10 points) est épuisé. La contravention sera payée au poste de police ou commissariat le plus proche. Trois contreventions reçus sur une période de 3 mois entraine la suspension du permis de conduire pour une durée d’un an.
  • 2. 1 point ♦ Non port de la ceinture de sécurité ♦ Défaut d’assurance ♦ Défaut de visite technique ♦ Défaut de trousse de secours ♦ Défaut de triangle de signalisation ♦ Défaut de roue de secours ♦ Défaut de pare-brise, rétroviseur intérieur, rétroviseur extérieur ♦ Défaut de feux (signalisation, position, route, croisement) 2 points ♦ Dépassement de moins de 20 km/h de la vitesse maximale autorisée ♦ Chevauchement d’une ligne continue seule ou quand elle n’est pas doublée par une ligne discontinue 3 points ♦ Dépassement de la vitesse maximale autorisée compris entre 20km/h et moins de 30 km/h ♦ Usage d’un détecteur de radar ♦ Accélération de l’allure d’un véhicule sur le point d’être dépassé ♦ 4 points ♦ Utilisation d’un téléphone portable tenu en main ♦ Circulation ou stationnement sur le terre-plein central d’autoroute 5 points ♦ Dépassement sur ligne continue ♦ Dépassement à droite ♦ Dépassement en troisième position 6 points ♦ Non respect de panneau ou feu de signalisation ♦ Stationnement interdit ♦ Arrêt sur la chaussée 7 points ♦ Vitesse excessive en agglomération ♦ Excès de vitesse relatif au panneau ♦ Surcharge (passagers ou essieu) 8 points ♦ Défaut de permis de conduire ♦ Conduite en état d’ébriété ♦ Accident avec dommage matériel ♦ Accident avec dommage corporel ♦ Fuite ♦ Accident mortel À chaque point retiré sont associés un ou plusieurs motifs de contraventions, ceux-ci ne coûtant qu’un nombre de points unique 2) une classification de la sévérité des contraventions est également instaurée. Celle-ci mentionne le montant des amendes, le nombre de points retirés et l’éventuelle suspension du permis, selon un tableau précis. TRAVAIL A FAIRE : Question 1 : Modélisez le système sous Merise ou UML. Quelques informations sur : - Le client (CodeClient, Numéro de permis de conduire, Nom, Prénom, Adresse complète)
  • 3. - la carte grise(CodeCarteGrise, Immatriculation, prénom, nom, genre, marque, type, date de mise en circulation) - le lieu où a été relevée l’infraction ou le délit (Nom commune, Nom voie, Sens de circulation, Code postal commune, Point kilométrique exact où était positionné l’appareil ayant servi au contrôle), - Gestionnaire (CodeGest, Nom, Prénom, Grade, Commissariat de rattachement) ; - Homme de tenue (CodeHommeTenue, Nom, Prénom, Grade, poste de rattachement). L’infraction elle-même est ensuite décrite (Date et heure précise, Motif, Catégorie de l’infraction, Numéro article du code de la route réprimant cette infraction, Vitesse relevée, Vitesse maximum autorisée, vitesse retenue pour la détermination du motif). On trouve ensuite un booléen indiquant si, oui ou non, l’infraction entraîne une perte de point(s) sur le permis de conduire, les montants des amendes forfaitaire, minorée et de majorée. Enfin, très important, l’avis comporte la date d’envoi, un identifiant (numéro à quatorze chiffres) et une clé de contrôle (de deux chiffres). D’autres informations figurent sur ce document, mais nous n’en tiendrons pas compte ici. Question 2 : A partir du modèle logique de données obtenu (MLD) avec Mérise ou du diagramme de classes avec UML, créer la base de données relationnelle correspondante. Question 3 : SWING A l’aide des SWING, implémenter les différents modules du programme JAVA. Ce dernier va interagir avec une base de données MySQL. L’application comportera les modules suivants : - Module 1 : Interface Administrateur Permet de faire la gestion des utilisateurs (Homme de tenu en circulation et gestionnaire des infractions - Module 2 : Interface Homme de tenu Permet à un homme de tenu en circulation de choisir le type de faute (infraction ou délit) et de saisir les informations du permis, de la carte grise du véhicule et du type de faute. En cas d’infraction, le système lui retire des points. En cas de délit, le système lui retire des points et il n’y a pas de possibilité de contravention, l’affaire sera portée en justice. - Module 3 : Interface Gestionnaire Permet d’enregistrer le permis de conduire d’un nouveau client et de lui attribuer le nombre total de point. Permet de recevoir et d’afficher les types d’infraction ou de délit envoyé par un homme de tenu et de gérer les contraventions des clients ou particuliers. Question 4 : Utilisation des sockets (client / serveur) Le système comportera deux types d’applications une application serveur et deux applications clientes. ♦ L’application serveur sera gérée par l’administrateur qui doit démarrer le serveur sur un port spécifique qu’il donnera aux clients (Applications clientes). ♦ Une application cliente qui sera utilisée par les hommes de tenue ♦ Et une autre application cliente qui sera utilisée par les gestionnaires. Utiliser les sockets pour réaliser la connexion et les échanges d’information entre le serveur et les applications clientes.
  • 4. Annexe : Forme de l’interface Techniquement, l’application devra être conçue sous forme d’une seule fenêtre (JFrame) divisée logiquement avec un gestionnaire de positionnement adéquat en trois zones représentant chacun un panneau : - Une première zone (ZoneHaut) devant accueillir le menu principal de l’application avec un bouton pour chaque fonctionnalité du module : - Une seconde zone (zoneMilieu) servant d’espace de travail : c’est cette zone qui selon le bouton actif doit fournir l’interface adéquate à l’utilisateur final lui permettant de saisir ou d’afficher des informations selon le cas. - Une troisième zone (zoneBas) fournissant une zone de texte (JTextArea) non éditable pour afficher les événements internes correspondant à des messages d’erreurs (Exemple : erreur de connexion à la base de données, table vide, enregistrement /suppression/modification bien ou mal effectué, etc.) Selon les besoins d’affichage, chacun de ces trois panneaux devra lui-même être divisé en d’autres sous panneaux à l’aide des gestionnaires FlowLayout, BorderLayout, ou GridLayout. L’idée globale est d’afficher la fenêtre avec trois subdivisions, si l’utilisateur fait un clic sur un bouton de zone haut, une méthode gestionnaire d’événements : - Identifie l’origine de l’événement, - Divise le panneau zoneMilieu en un nombre de sous-panneaux nécessaires à l’aide des gestionnaires de positionnement précités. - Met du contenu à chaque sous panneau créé, - Affiche toutes les notifications nécessaires à l’utilisateur sur zoneBas depuis le début de l’exécution du programme (à l’aide par exemple de la méthode d’instance append( ). La recherche d’un mot clé peut se faire en utilisant un objet de la classe java.util.StringTokenizer dont une utilisation est illustrée par le bout de code ci-après : StringTokenizer jetons = new StringTokenizer(chaineADecouper); While(jetons.hasMoreTokens( )) System.out.println(jetons.nextToken( )); Ce bout de code permet d’afficher tous les mots constituant une chaine de caractères sur des lignes différentes de la sortie standard. La fenêtre de l’application doit avoir une taille fixée, des barres de défilement pourront être ajoutées aux composants JPanel, JTextArea, etc, chaque fois que c’est nécessaire ; cela peut se faire à l’aide de la classe javax.swing.JScrollPane dont le constructeur JScrollPane( Component c1) retourne un composant correspondant à c1 avec des barres de défilement. Dr. Dahirou GUEYE FIN