Template  _rapport_pfe - new
Upcoming SlideShare
Loading in...5
×
 

Template _rapport_pfe - new

on

  • 1,494 views

 

Statistics

Views

Total Views
1,494
Views on SlideShare
1,494
Embed Views
0

Actions

Likes
0
Downloads
57
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Template  _rapport_pfe - new Template _rapport_pfe - new Document Transcript

  • PAGE DE GARDE
  • ANNEE : … THEME : Réseautique/SI PFE N° : …Titre : …Auteurs: Nom1 Prénom1/ Nom2 Prénom2Etablissement Universitaire: ESTIEncadrant : Nom PrénomOrganisme PFE: Société …Encadrant : Nom PrénomRÉSUMÉ : …….MOTS CLÉS : mot1 / mot2/..etc.ABSRACT : …….KEY-WORDS : word1 / word2/..etc.
  • DédicacesLes dédicaces … View slide
  • RemerciementLes remerciements … View slide
  • Projet : … Année universitaire : …Table des matières Introduction..................................................................................................4Chapitre I. Présentation Générale...............................................................6 I.1. Introduction ..................................................................................................6 I.2. Présentation de l’organisme d’accueil ..........................................................6 I.3. Présentation du sujet .....................................................................................6 I.4. Méthodologie et formalise adoptés................................................................6 I.5. Conclusion ....................................................................................................7Chapitre II. Etat de l’art...............................................................................8 II.1. Introduction..................................................................................................8 II.2. MVC :..........................................................................................................8 II.3. Conclusion...................................................................................................9Chapitre III. Analyse des besoins et spécifications...................................10 III.1. Introduction...............................................................................................10 III.2. Objectif.....................................................................................................10 III.3. Etude de l’existant.....................................................................................10 III.4. Spécification des exigences.......................................................................11 III.4.1. Liste des exigences..............................................................................11 III.4.2. Quelques concepts ..............................................................................12 III.4.3. Scénarios et des cas d’utilisation.........................................................12 III.5. Conclusion ...............................................................................................18Chapitre IV. Conception.............................................................................19 IV.1. Introduction .............................................................................................19 IV.2. Architecture du système............................................................................19 IV.3. Conception................................................................................................20 IV.4. Structure de la base de donnée..................................................................20 IV.5. Conclusion................................................................................................20Chapitre V. Réalisation...............................................................................21 V.1. Introduction ...............................................................................................21 V.2. Environnement de travail...........................................................................21 V.2.1. Environnement matériel.......................................................................21 V.2.2. Environnement logiciel........................................................................21 V.3. Choix techniques........................................................................................22 V.3.1. Choix du langage .................................................................................22 V.3.2. Choix du standard de développement...................................................23 V.3.3. Choix de la technologie de sécurité......................................................23 V.3.4. Autres choix technologiques................................................................24Chapitre : … Page : 1 /37
  • Projet : … Année universitaire : … V.4. Gestion du projet........................................................................................24 V.5. Phase d’implémentation.............................................................................24 V.5.1. Contraintes...........................................................................................24 V.5.2. Pratiques adoptées................................................................................24 V.6. Phase de tests et validation.........................................................................24 V.7. Conclusion ................................................................................................25Chapitre VI. Interface de l’application.....................................................26 VI.1. Introduction .............................................................................................26 VI.2. Interfaces de l’application.........................................................................26 VI.3. Conclusion ...............................................................................................26 Conclusion Générale...................................................................................27 Glossaire......................................................................................................28 Bibliographie...............................................................................................29 Netographie.................................................................................................29 ANNEXE(S)...................................................................................................i Annexe A : …................................................................................................ii Annexe B : …...............................................................................................iiiChapitre : … Page : 2 /37
  • Projet : … Année universitaire : …Table des figures....Chapitre : … Page : 3 /37
  • Projet : … Année universitaire : … Introduction Dans nos jours, la location devient de plus en plus requise dans notre vie quotidienne. Par définition la location est laction qui consiste à louer un logement, un véhicule, ou tout autre bien à une personne. En particulier, la location de véhicule est un service offert par des professionnels détenteurs dautomobiles de tourisme ou de véhicules utilitaires. Ce service consiste pour le client (professionnel ou particulier) à réserver un véhicule pour une période donnée allant de quelques heures à plusieurs mois. Concernant la location dutilitaire, il existe des services de location de véhicule en aller simple. Cest-à-dire que lon prend le véhicule à une agence de location et on le rend dans une autre agence de location. Devant la multitude des modes de tarification, la location est sur tous des camions ne trouver pas un « marché » clair pour se propage dans les services de location par rapport leur voisin les voitures, pour cela un agence de location de camion présente une bonne idée à exploiter. Le stite de location de camion dont les clientèles sont des entreprises besoin dans leur travail ce type de véhicule pour les transports. Chaque site de location souligne quelques caractères pour conserver leur existence. Dans ce contexte, et dans le cadre d’un projet de fin d’études préparé en vue de l’obtention du diplôme licence appliqué en système informatique et logiciels, il nous a été confié de concevoir et développer une application web pour la gestion des locations et mutualisation des camions de transport permettant aux entreprises a exploités leurs véhicules (camions) pour les biens. L’organisation du présent rapport est basée sur l’ensemble des éléments intervenant au fur et à mesure dans le développement du projet. En effet cette introduction est suivie de trois chapitres structurés de la façon suivante : • Le premier chapitre est consacré pour la présentation du projet. Présentation de la société d’accueil. Présentation du contexte du projet. Présentation du choix technologique et de la méthodologie de travail. • Le deuxième chapitre va entamer la technologie adoptée par le projet • Le troisième chapitre va entamer l’expression des besoins en introduisant les acteurs en relation avec leChapitre : … Page : 4 /37
  • Projet : … Année universitaire : … système et les cas d’utilisations de l’application en vue de définir les différentes fonctionnalités à envisager. La phase d’analyse des besoins et la conception afin de dégager la composition du système sa structuration et les relations entre ses différents composants. Il s’agit donc de donner une vision préliminaire pour le système afin de préparer la phase de réalisation. • La quatrième partie traitera la phase de réalisation au cours de laquelle nous essayerons d’introduire les outils et les plates-formes utilisés. Ce chapitre comportera : Une présentation de l’architecture, la méthodologie de paquetage de l’application. Une introduction aux différents modules de l’application. • Le cinquième présente les interfaces du projet.Chapitre : … Page : 5 /37
  • Projet : … Année universitaire : … Chapitre I.Présentation Générale I.1.Introduction Dans ce chapitre, nous présenterons en premier lieu la société « JASSP SAS » puis lesujet de notre projet et la métrologie et le formalise adoptés. I.2.Présentation de l’organisme d’accueil L’entreprise J.A.S.S.P SAS est un éditeur franco-tunisien de logiciels et de solutionsweb. J.A.S.S.P est en train de développer une place de marché pour la gestion desoffres/demandes en ressources logistiques (Bourse de fret). Ce développement entre dans lecadre d’un programme de recherche scientifique www.logistique.com. I.3.Présentation du sujet La société JASSP TUNISIE, dans le cadre de ce projet, a comme objectif dedévelopper et mettre en place une partie « persistance » d’une application web de location devéhicule. Ainsi cette application se préoccupe des tâches suivantes : - Une administration complète des détails de véhicules et leurs propriétaires et lesautres clientèles. - Une gestion totale des processus de création, annulation, recherche, modification etenregistrement. - Garde les informations à propos les véhicules et les clientèles de la société et toutesles opérations d’annonce, précontrat, promotion, message.... - Assurer la cohérence des données. - Avoir des systèmes d’information compréhensibles avec des interfacesergonomiques. - Créer une base de données bien détaillée contenant les données relatives à la gestionde service garantissant un environnement multi utilisateurs qui bénéficie des options desSGBD pour la mise en réseau. - Réaliser une application simple à manipuler et ergonomique pour les utilisateurs - Elaboration d’audit à tout moment. I.4.Méthodologie et formalise adoptés Nous avons opté pour UML en vue de modéliser notre système. UML (en anglais Unified Modeling Language ou « langage de modélisation unifié »)
  • Projet : … Année universitaire : … est un langage de modélisation graphique des structures, comportement, architecture,processus et des données des applications. Il est apparu dans le monde du génie logiciel, dansle cadre de la « conception orientée objet ». UML est un langage formel, normalisé et est devenu la référence en termes demodélisation objet. UML permet : - La modélisation de systèmes divers en utilisant des concepts orientés objets. - Etablir un couplage entre les concepts et leur implantation. - Offrir une approche de description utilisable par les humains et les machines. Ainsi avec ces différents diagrammes, UML facilité la représentation et lacompréhension des solutions objets : c Sa notation graphique permet dexprimer visuellement une solution objet, ce quifacilite la comparaison et lévaluation des solutions. f Laspect formel de sa notation, limite les ambiguïtés et les incompréhensions. L Son indépendance par rapport aux langages de programmation, aux domainesdapplication et aux processus, au fond un langage universel. I.5.Conclusion Dans ce présent chapitre, nous avons présenté la société Jassp. De même, nous avons présenté notre projet avec ses différentes problématiques, ainsi que la méthodologie adoptée pour sa réalisation. Dans la suite, nous passons à l’identification des technologies dans les quels le projet est basé.
  • Projet : … Année universitaire : … Chapitre II.Etat de l’art II.1.IntroductionLe choix du framework Symfony se justifie par :*Le modèle de Symfony est plus unifié avec un socle qui permet de cadrer le projetselon une architecture bien définie.*Séparation du code selon trois couches grâce au modèle MVC* Un système de cache pour garantir des temps de réponse accélérés* Un system de routage qui est un mécanisme qui réécrit les URL pour les rendre pluscompréhensible.* Système de configuration de fichiers grâce au langage YAML* Mapping objet-relationnel (ORM) grâce à Doctrine.* Les aides incluses aider à minimiser le code utilisé dans la présentation, et quiencapsulent les grands blocs de code dans les appels de fonction simple.* Les formulaires comprennent des validateurs qui sont utilisé pour valider les saisies(entier, chaine, adresse email…).* Le web debug toolbar qui simplifie le débogage des applications, car il affiche toutesles informations que les développeurs ont besoin sur la page que vous travaillez. II.2.MVC : L’architecture MVC définit un cadre dorganisation de code en trois couchesles données (c.-à-d. le modèle), linterface homme-machine (la vue) et la logique de contrôle(le contrôleur). Le fonctionnement du MVC
  • Projet : … Année universitaire : … Ce modèle de conception impose donc une séparation en 3 couches : - Le modèle : Il représente les données de lapplication. Il définit aussi linteractionavec la base de données et le traitement de ces données. - La vue : Elle représente linterface utilisateur, ce avec quoi il interagit. Elle neffectueaucun traitement, elle se contente simplement dafficher les données que lui fournit le modèle.Il peut tout à fait y avoir plusieurs vues qui présentent les données dun même modèle. - Le contrôleur : Il gère linterface entre le modèle et le client. Il va interpréter larequête de ce dernier pour lui envoyer la vue correspondante. Il effectue la synchronisationentre le modèle et les vues. Symfony implémente donc trois couches répondant à ce pattern.Le schéma ci-dessous illustre le mécanisme du MVC dans un projet symfony lorsquelutilisateur navigue sur le site. 2.3 ORM Doctrine est un ORM (Object Relational Mapper), c’est à dire qu’il va s’interfaceravec notre base de données afin de nous permettre d’y accéder comme s’il s’agissaitd’un objet. Ainsi il sera possible d’accéder aux données d’une table comme s’ils’agissait de propriétés d’une classe, mais en plus cette classe va nous proposer desméthodes permettant de mettre en œuvre des fonctionnalités comme l’enregistrement,la suppression, la mise à jour etc. 2.4 La structure du projet Symfony La structure d’un projet Symfony est composée de 10 dossiers. On peut citer : • apps/ : contiendra nos futurs applications qui sont en fait nos différentes parties de Site • config/ : contient les fichiers de configuration du projet dont notamment ceux de la base de données • data/ : vous permet de déposer les documents liés au projet (schéma de la base de données, les donner de base de donner ). • lib/ : contient deux sous dossiers importants que sont forme et model qui contiennent respectivement tous les formulaires du site (car avec Symfony, les formulaires ne sont pas du simple code html mais des objets que Symfony créera ) et le second dossier model stocke tout ce qui concerne les accès aux champs de votre base de données. • web/ : contient aussi plusieurs dossiers qui contiendront vos feuilles de styles CSS, les images, les scripts JavaScripts. II.3.Conclusion Ce chapitre nous a permis de présenter le Framework Symfony et ses principauxnotions de bases et nous allons détailler notre projet dans le chapitre suivant.
  • Projet : … Année universitaire : … Chapitre III.Analyse des besoins et spécifications III.1.Introduction Notre projet consiste à réaliser un site web dynamique ouvert pour les professionnelspour poster leurs camions à la location et louer un camion Chaque utilisateur a crée un compte a le droit de poster rechercher et louer un ouplusieurs camions, et créer une alerte de recherche III.2.Objectif Notre projet est demandé sous besoin d’une plateforme public de locationcamion pour les professionnels en France . III.3.Etude de l’existant • Rentanddrop : (www.rentanddrop.com) : RentnDrop possède une flotte de véhicules utilitaires composée de plus de 200 camions disponibles à la location. Deux catégories de véhicules vous sont proposées : - La camionnette pour des petits déménagements : avec une capacité de 12m3, cette catégorie conviendra parfaitement aux appartements de moins de 40m². - Le camion pour les gros déménagements : grâce à sa capacité de 20m3, où l’utilisateur peut déménager lintégralité dun appartement allant jusquà 60m². • Allez-simple : (www.allez-simple.com) 1èr réseau national de location de véhicules utilitaires en aller simple, il propose de louer une camionnette utilitaire (12m3) ou un petit camion utilitaire (20m3) au départ et à destination des grandes villes françaises où se trouve une agence allez- simple.com  Ces sites font parti d’un agence spécifique tandis que notre projet est fait non pour une seule agence ou un seul fournisseur, c’est un site pour tout
  • Projet : … Année universitaire : … fournisseur veut mettre en location son ou ses camions ou un professionnel veut louer III.4.Spécification des exigences III.4.1.Liste des exigences  Besoins fonctionnels : Les fonctionnalités e offertes par le site sont : B1. L’authentification : Cette fonction est applicable pour les administrateurs du site, aux utilisateurs lors degestion compte, annonce ou proposition. Si un utilisateur a oublié son mot de passe, le système doit lui fournir la possibilité dele demander en saisissant dans la fenêtre de récupération du mot de passe son login et son mailpour le récupérer dans sa boite aux lettres. B2. Gérer annonce : Cette tâche est réservée pour l’utilisateur offreur pour publier un camion le modifierou le supprimer aussi permet au administrateur de contrôler et manager B2. Gérer compte: Cette fonction donne l’autorité au utilisateur de modifier son compte, le désactiver etl’activer et au administrateur d’ajouter, modifier, désactiver, activer et supprimer les comptes B3. Faire proposition : Pour louer un camion il faut envoyer une proposition à l’offreur et ce dernier a le droit d’accepter ou refuser. Le loueur peut annuler la proposition après être envoyé. B4. Gérer alertes : Pour être informé par les nouvelles annonces selon un critère voulu l’utilisateur peutcréer une alerte et ensuite la modifier ou supprimer  Besoins non fonctionnels : Dans l’intention de réussir notre tâche, l’application doit vérifier quelques propriétés etdoit tenir compte de certaines contraintes et exigences.  Ergonomie L’interface de l’application doit être simple et pratique afin que l’utilisateur puissel’exploiter sans se référer à des connaissances particulières. En d’autres termes, lesinformations doivent être lisibles et faciles d’accès par n’importe quel utilisateur. Elles doivent être claires et bien réparties sur la page.
  • Projet : … Année universitaire : …  Besoins de performance Ces besoins sont liés essentiellement aux temps de chargement des pages. Ce tempsvarie en fonction du traitement, les accès à la base de données et la taille du fichier généré.Pour cela, il faut essayer de minimiser le traitement relatif au passage d’une page à l’autre etminimiser les accès à la base de données.  Champs obligatoires Si le champ est obligatoire, il faut qu’il soit précédé d’un flag au niveau du label duchamp, ex : *.  Sécurité : Le système doit être sécurisé, l’accès aux données ne se fait qu’après une connexion del’utilisateur. La phase de paiement, les opérations de modification et d’annulation doivent êtresécurisées.  Modularité : L’application doit être multi tiers pour garantir la souplesse et l’évolutivité de lasolution et la simplicité de maintenance. III.4.2.Quelques concepts Le site a principalement les tâches publier annonce et faire proposition. Dans la première tâche l’utilisateur doit avoir un compte pour ajouter un camion et lepublier comme annonce aussi que la modifier et faire des promotions périodiques et nonpériodiques Dans la 2ème tâche l’utilisateur consulte une annonce, il peut faire une proposition(après l’authentification s’il est n’est pas connecté via son compte ou s’enregistrer si n’a pasun compte) et cette proposition va être envoyé au fournisseur pour valider ou annuler. Les mots clés dans ce projet sont : location, camion, alerte, recherche, s’inscrire,s’authentifier… III.4.3.Scénarios et des cas d’utilisation Le site est utilisé par 3 acteurs visiteurs, utilisateur et administrateur, chacun a destâches limites à faire.
  • Projet : … Année universitaire : … Visiteur :uc cas dutilisation v isiteur creer un nouv eau compte inscrire à newsletter v isiteur parcourir les annonces rechercher annonces parcourir les parcourir les promotions nouv elles annonces Utilisateur :
  • Projet : … Année universitaire : … uc cas dutilisation utilisateur supprimer une annonce «include» gerer annonce consulter les «include» annonces publiés «include» «include» modifier une publier une annonce annonce «extend» «include» gerer promotions gerer les alertes «include» utilisateur «include» gerer profil sauthentifier «include» «include» gerer les propositions gerer les propositions gerer les env oyés propositions reçus «include» «extend» env oyer une etablir un précontrat proposition Administrateur :
  • Projet : … Année universitaire : … uc cas dutilisation admin gerer comptes utilisateurs admin gerer annonces Scénarios :  Créer un nouveau compte : Acteurs principaux : visiteur. Objectif : ce cas d’utilisation permet aux visiteurs d’avoir un compte dans lesite. Pré-condition : Scénario nominal : 1. Le visiteur clique sur s’inscrire. 2. le system affiche le formulaire d’inscription. 3. Le visiteur remplit le formulaire en suivant les étapes. 4. Le système affiche la page d’accueil de nouveau utilisateur. Alternatives : A1. Dans l’étape 3 si les champs sont invalides ou vides, un message d’erreursera affiché Exception E1. Le visiteur abandonne l’inscription. Post-condition : le visiteur est devenu un utilisateur dans le site  Sauthentifier :
  • Projet : … Année universitaire : … Acteurs principaux : utilisateur, Admin. Objectif : ce cas d’utilisation est affiché à un utilisateur ou administrateur désire fairecertaines taches qui nécessitent l’identification. Pré-condition : L’utilisateur ou l’Admin s’est inscrit Scénario nominal : 1. l’utilisateur ou l’Admin. s’identifie par l’entrée de son login et mot de passe 2. le system valide l’identité. 3. l’utilisateur ou l’Admin. accède aux taches demandées. 4. l’instance se termine. Alternatives : A1. Dans l’étape 2 si l’identité est invalide, un message d’erreur sera affiché Exception E1. L’utilisateur ou l’Admin abandonne l’authentification. Post-condition : l’instance se termine une foi l’utilisateur ou l’Admin accéder à latache souhaité.  Publier une annonce : Acteur principal : l’utilisateur Objectif : ajouter un camion dans la base de l’utilisateur et la publier Pré-condition : L’utilisateur s’est authentifié Scénario nominal : 1. l’utilisateur fait une clique sur louez votre camion 2. le système affiche le formulaire de l’offre de camion 3. l’utilisateur saisit les champs de formulaire tel que catégorie, carrosserie marque… 4. l’utilisateur fait une clique sur enregistrer 5. le système affiche le formulaire de service 6. l’utilisateur peut crée un service on remplissant les champs de formulaire Nom, prix et information. 7. l’utilisateur faire une clique sur enregistrer. 8. le système affiche le formulaire de l’équipement 9. l’utilisateur peut créer des équipements on remplissant les champs de formulaire Nom, prix et information. 10. l’utilisateur fait une clique sur enregistrer. 11. le système enregistre la commande dans les bases des données et affiche la nouvelle annonce. Alternatives : A 1. Au niveau de l’étape 4 si l’un de champs obligatoires est vide ou ne respectepas le type prédéfini dans la base de donnes un message d’erreur est affiché. L’enchaînement redémarre au point 3 de scénario nominal
  • Projet : … Année universitaire : … A4. Au niveau de l’étape 7 si l’un de s champs ne respecte pas le type prédéfinidans la base de données un message d’erreur sera affiché. L’enchaînement redémarre au point 6 de scénario nominal A5. Au niveau de l’étape 10 si l’un de champs ne respecte pas le type prédéfinidans la base de données un message d’erreur est affiché. L’enchaînement redémarre au point 9 de scénario nominal Exception E1. L’utilisateur abandonne l’offre de camion.  Envoyer une proposition : Acteur principal : l’utilisateur. Objectif : l’utilisateur veut loyer un camion. Pré-condition : l’utilisateur a choisit une offre parmi la liste des camions ou a choisitune offre parmi la liste des offres qui sont le résultat d’une recherche ou a reçut une alerte. L’utilisateur s’est authentifié Scénario nominal : 1. l’utilisateur saisit la duré de l’allocation (date début et date fin) 2. l’utilisateur fait une clique sur le bouton ‘demande devis’ 3. le système vérifie la disponibilité de camion 4. le page de liste des services associer à cette offre s’affiche 5. l’utilisateur peut choisir le/les service(s) désiré(s) 6. le page de liste des équipements associer à cette offre s’affiche 7. l’utilisateur peut choisir le/les équipement(s) désiré(s) 8. le système affiche un formulaire qui contient la date de début, la date de fin ainsi la libellé qui contient le prix total de cette offre (prix initial de camion + le prix de chaque service et équipement choisi). 9. faire clique sur envoyé la demande a l’offreur. Alternatives : A1. Au niveau de l’étape 3 si le camion n’est pas disponible dans la durée de locationintroduit par le client un message de non disponibilité s’affiche. L’enchaînement redémarre au point 1 de scénario nominal Exception E1. L’utilisateur abandonne la proposition Post-condition : proposition envoyé à l’offreur. Contraintes optionnelles : Le calcul total du prix de la location doit toujours être exact .  Établir un précontrat : Acteur principal : utilisateur Objectif : établissement d’un précontrat de location entre l’offreur et le demandeur Pré-condition : Une proposition est arrivée à l’offreur. L’offreur s’est authentifié Scénario nominal : 1. le système affiche la proposition envoyée par le demandeur de loyer
  • Projet : … Année universitaire : … qui contient en plus deux liens (accepter la proposition et refuser la proposition). 2. une fois l’offreur accepte la proposition le système établi automatiquement un précontrat entre l’offreur et demandeur de loyer et mail d’acceptation sera envoyé au client. Si l’offreur refuse la proposition un mail de refus est envoyé au demandeur de Loyer Exception E1. L’offreur abandonne la proposition. Post-condition : l’instance se termine une foi le précontrat établi ou mail de refusenvoyé.  Ajouter une promotion : Acteur principal : l’utilisateur Objectif : l’offreur accède à l’un de ces offres pour faire une promotion. Pré-condition : L’utilisateur doit avoir au moins une offre. L’utilisateur s’est authentifié Scénario nominal 1. l’utilisateur choisit une annonce 2. Le système affiche le détaille de l’offre 3. l’offreur faire un click sur promotion 4. Le système affiche le formulaire de promotion 5. l’offreur saisir date début, date fin, remise et des informations sur lapromotion et Puis faire un clique sur enregistrer. Alternatives : A2. Au niveau de l’étape 5 si l’un de champs obligatoires est vide ou ne respectepas le type prédéfini dans la base de données un message d’erreur est affiché. L’enchaînement démarre au point 5 de scénario nominal Exception E1. L’offreur abandonne la promotion. Post-condition : la promotion est enregistrée dans la base des données.. III.5.Conclusion Dans ce chapitre, nous avons spécifié les besoins fonctionnels et non fonctionnels dusystème et nous avons identifié et décri les différents cas d’utilisation de la solution ce qui vanous permettre de limiter les exigences de l’application et de passer à la conception de lasolution. C’est ce qu’on va voir en détail dans le chapitre suivant.
  • Projet : … Année universitaire : … Chapitre IV.Conception IV.1.Introduction Cette phase est consacrée à la conception des différents modules du système. Nousavons opté pour la méthode UML pour une représentation selon trois vues : une vuefonctionnelle visant à appréhender les interactions entre les différents acteurs/utilisateurs et lesystème, une vue structurelle (statique) visant la structuration des données, et une vuedynamique à approche algorithmique orientée traitement. IV.2.Architecture du système Le système repose sur une architecture MVC. Le modèle MVC (Modèle-Vue-Contrôleur) cherche à séparer nettement les couches présentation,traitement et accès aux données. Une application web respectant ce modèle sera architecturée de la façonsuivante : • Le Modèle: Le modèle contient les objets métier de votre application, cest aussi la partie qui dialogue en direct avec votre base de données. Le bénéfice que cela apporte est très vite compréhensible, en effet, le contrôleur fera appel à des méthodes publiques de vos objets, et si votre base de données venait à changer, la modification ne concernerait principalement que cette partie modèle, laissant la vue et le contrôleur (presque) inchangés. Pour Symfony il s’agit du répertoire /lib/model • La vue : La vue contient principalement le html, et utilise en général un système de templates. Ces fichiers contiennent des variables php qui seront remplies par le contrôleur lors de la phase de "compilation" des données et de la vue. Dans le cas dutilisation de templates, cela permet même à un intégrateur css ou à un infographiste de réaliser les pages html du site sans se confronter à du code. • Le contrôleur : Le contrôleur est le "cerveau" de votre application, il va contenir toute la
  • Projet : … Année universitaire : … logique dexécution de celle-ci. Cest lui qui va soccuper de gérer les sessions, qui va écouter les requêtes du client et qui fera en sorte de fournir la bonne réponse en piochant dans le modèle et la vue pour afficher le bon résultat à lutilisateur. IV.3.Conception Présentation du modèle de conception adopté. Selon la normalisation de conception adoptée, présenter la modélisation par étape. Exemple, pour le modèle Merise : 1. Constitution d’un dictionnaire des données (dictionnaire brut) 2. Epuration du dictionnaire 3. Dictionnaire épuré 4. Agrégation des propriétés en objets 5. Mise en évidence des associations types porteuses de données 6. Mise en évidence des associations types non porteuses de données 7. Les cardinalités 8. Le modèle conceptuel de données (MCD) 9. Mise en évidence de 3ieme forme normale et des CIF 10. Le modèle conceptuel de traitement (MCT) 11. Le modèle logique de données (MLD) IV.4.Structure de la base de donnée Décrire l’architecture de la base de données et les relations entre ses tables. IV.5.Conclusion Tout au long de ce chapitre, nous avons détaillé la conception de notre application àtravers ses différents modules afin que le passage à l’étape de réalisation soit plus souple etplus aisé. Le chapitre suivant met en évidence le résultat de cette étape ainsi que celui dudéveloppement de l’application.
  • Projet : … Année universitaire : … Chapitre V.Réalisation V.1.Introduction Il est certain que les phases de spécification des besoins et conception sont des phasesà importance indiscutable dans le cycle de vie dun logiciel, la phase de réalisation nest pasmoins importante. Cest au cours de cette phase que nous touchons la vraie valeur de notretravail. Limplémentation est la phase la plus délicate. Le choix des outils de développementinflue énormément sur le coût en temps de programmation ainsi que sur la flexibilité duproduit à réaliser. Dans ce chapitre, nous allons aborder une description de lenvironnement du travail. Une deuxième partie sera consacrée à des imprimes écrans témoignant du résultat denotre projet. La troisième partie visualise le chronogramme de travail suivi. V.2.Environnement de travail V.2.1.Environnement matériel Le projet est réalisé à laide du matériel suivant : PC portable : • Dell inspiron N5010. • 4 GO mémoire vivante (RAM). • Disque dur Capacité 320 GO. • Processeur Intel®Core i3-330M 2.13 GHz • OS: windows 7 integral edition (Ultimate) 64 bits. V.2.2.Environnement logiciel Afin de réaliser notre application, nous avons opté à utiliser lenvironnement logicielsuivant : V.2.2.1Entreprise architect 7.5 : Enterprise Architect est un programme complet danalyse UML et loutil demodélisation qui peut être dune grande aide pour toute organisation lors de la création desprojets de logiciels et de systèmes avancés daffaires. Cet outil prend en charge Codeingénierie, gestion de projet, administration système, des technologies XML et lestransformations MDA. Cette application a été conçue avec de nombreuses fonctionnalitéspour répondre à tous types dutilisateurs professionnels.Lutilisation de ces flexible, rapide, et des fonctionnalités avancées, vous pouvez concevoir,
  • Projet : … Année universitaire : …mettre en œuvre, tester et maintenir des modèles UML, SysML, BPMN et dautres standardsde modélisation ouverte. Vous pouvez également développer et modifier la transformation demodèles , de créer de haute qualité des documents à partir dun modèle donné, de convertir seséléments et fragments de modèles dun domaine à un autre, et bien plus encore[http://enterprise-architect.software.informer.com/] V.2.2.2Workbench 5.2 : MySQL Workbench permet à un administrateur de base de données, un développeurou un architecte de données de concevoir, de modéliser, de générer et de gérer visuellementdes bases de données. Il comprend tous les éléments nécessaires à un modélisateur de donnéespour créer des modèles entité-relation complexes et procéder à une pro-ingénierie ou à unerétro-ingénierie. Il offre également des fonctionnalités clés qui permettent daccomplir lestâches délicates de gestion des modifications et de documentation, qui exigent habituellementbeaucoup de temps et defforts.[ http://www.mysql.fr/products/workbench/] V.2.2.3Netbeans 6.8 : LEDI NetBeans est un primé Environnement de développement intégré disponiblepour Windows, Mac, Linux et Solaris. Le projet NetBeans est constitué dun IDE open-source et une plateforme dapplications qui permettent aux développeurs de rapidement créerdes web, lentreprise, de bureau et des applications mobiles utilisant la plateforme Java, ainsique PHP, JavaScript et Ajax, Ruby et Ruby on Rails, Groovy , et C / C + +. Il est soutenu parune vibrante communauté de développeurs et offre un choix diversifié de tiers plugins V.2.2.4Wamp5 : WAMP (WAMP signifiant Windows Apache Mysql PHP) est une plate forme dedéveloppement Web sous Windows. Il vous permet de développer des sites Web dynamiquesà laide du serveur Apache, du langage de scripts PHP5 et dune base dedonnées MySQL version 5. Il possède également PHPMyAdmin et SQLite Manager pourgérer plus facilement la base de données. V.3.Choix techniques V.3.1.Choix du langage PHP :
  • Projet : … Année universitaire : … PHP est un langage de scripts multi plateformes, embarqué dans des documentsHTML. Plus simplement PHP nous offre un moyen de placer des instructions dans nosdocuments HTML en vue de créer des contenus dynamiques. PHP est un véritable langage de programmation. Syntaxiquement il tient du Perl et duC. Il sagit dun langage interprété (un langage de script) exécuté du côté serveur . Caractéristiques de PHP : • Très populaire et très utilisé • Très portable (fonctionne sous Windows/Unix…) • Syntaxe héritée du C, du Shell et du Perl • Extensible par de nombreuses bibliothèques • Bien documenté • Performant • Facile à héberger • Logiciel Open Source (donc plus facilement extensible) et disponible gratuitement • Conçu pour fonctionner efficacement avec le serveur Apache lui aussi en open source V.3.2.Choix du standard de développement Symfony est un cadre dapplications (ou Framework) OpenSource développé en PHP5.Il reprend les grands concepts du Modèle Vue Contrôleur et des design patterns. Développépar lentreprise française Sensio, Symfony est entièrement orienté objet et respecte un grandnombre de bonnes pratiques qui facilitent un développement Web de qualité. On y trouve,entre autres :  gestion de lencodage et des types MIME  url propres (routage)  système de cache évolué  mise en œuvre de CRUD  support de linternationalisation (i18n) par XLIFF  gestion des droits daccès  génération assistée de linterface dadministration  mise en œuvre aisée dAJAX au sein des applications  … Justifier les raisons qui ont poussées à adopter le standard de développement. V.3.3.Choix de la technologie de sécurité Décrire les choix retenu pour la technologie de sécurité et justifier les raisons.
  • Projet : … Année universitaire : … V.3.4.Autres choix technologiques Présenter tous les autres éventuels choix (chacun sur un paragraphe séparé). V.4.Gestion du projet Présenter et commenter les différentes étapes de la réalisation du projet. Citer comment les risques ont été gérés dans ce projet (Remarque : Un risque c’estprévenir un problème avant qu’il se matérialise). Illustrer le chronogramme de la réalisation par un graphique (MS Project,OpenWorkbench, …) V.5.Phase d’implémentation V.5.1.Contraintes Présenter les différentes contraintes en relation avec l’implémentation del’application. V.5.2.Pratiques adoptées Présenter : o Les principaux règles de codage, o Bonnes pratiques, o Gestion de configuration, o …etc, V.6.Phase de tests et validation Un test unitaire est une méthode permettant de tester une partie du code (appelée unité). Le testconsiste à vérifier que le retour de l’exécution de la portion de code correspond à ce que l’onattend. Il est exécuté indépendamment du programme en créant un environnement d’exécutionspécifique à la portion du code. Cela permet d’éviter de devoir recompiler tout un logiciel pourvérifier la correction d’un bug des fois assez difficile à déclencher « manuellement » ou pourtester des fonctionnalités profondes dans le logiciel. On écrit un test qui s’exécute sur la portion decode définie. Le test unitaire est souvent mis en place dans les projets basés sur les méthodologiesAgile ou l’Extreme Programming. JUnit lui est un framework de test unitaire, décliné surplusieurs language (NUnit, PHPUnit,…) Il est intégré nativement a Netbeans. actuellementversion 6.8 avec JUnit compatible 4.x.
  • Projet : … Année universitaire : …Les tests prennent une part importante lorsque les projets deviennent de plus en plus large. Il estimpensable de les écrire dans une fonction main(). Nous devrions mieux les organiser dans desclasses de tests, créant une classe de test pour chaque classe dans l’application. A cette fin, leframework JUnit permet de simuler lexécution de l’application.Pour créer un test:P Placez le curseur sur une classe. Dans longlet "Project".P Cliquez-droit ---> Tools ---> Junit Tests ---> Create Test ... et acceptez la fenêtre qui estmontrée avec les options par défaut.m Une classe sera crée dans la section "Test Packages". Elle étend un TestCase, cette classe duframework JUnit vous permet de créer des tests. Cette classe contient un constructeur, une fonction appelée setUp (utilisée comme initialisateurde test), tearDown (utilisé à la cloture de chaque test), et finallement, un nombre infini deméthodes nommées testXXX où XXX est le nom dun test Présenter un récapitulatifs sur les stratégies de tests adoptés (Catalogues et scénarios detests, plan et rapport de tests, méthode adoptée lors de la campagne,…etc.). Synthétiser les résultats de la campagne de tests (tirer des conclusion sur la qualité del’application) . V.7.Conclusion Résumer les faits les plus marquant concernant la réalisation du projet
  • Projet : … Année universitaire : … Chapitre VI.Interface de l’application VI.1.Introduction Présenter les principaux choix ergonomiques adoptés. Argumenter pourquoi le profil utilisateur <xxx> a été choisi pour le besoin demontrer l’Interface Homme Machine dans ce chapitre. VI.2.Interfaces de l’application Présenter et commenter quelques interfaces de l’application. Respecter un scénario d’utilisation de bout en bout avec un profil utilisateur bien précis. VI.3.Conclusion Mettre en valeur quelques facilités GUI (Graphic User Interface) pour cette application.
  • Projet : … Année universitaire : … Conclusion Générale Résumer les différentes étapes du projet. Présenter les profits tirés et les compétences acquises lors de la réalisation de ce projet. Ouvrir des perspectives futures liées à ce projet.
  • Projet : … Année universitaire : … GlossaireListe des abréviations (en respectant un ordre alphabétique décroissant).
  • Projet : … Année universitaire : … Bibliographie… Netographie…
  • Projet : … Année universitaire : … ANNEXE(S) Exemples : Présentations techniques détaillées des langages de programmation,SGBD, technologies, outils, … adoptés dans ce projet (chacun dans un annexe séparé). i
  • Projet : … Année universitaire : … Annexe A : …. ii
  • Projet : … Année universitaire : … Annexe B : … iii