SlideShare uma empresa Scribd logo
1 de 37
PAGE DE GARDE
ANNEE : …              THEME : Réseautique/SI   PFE N° : …
Titre : …
Auteurs: Nom1 Prénom1/ Nom2 Prénom2
Etablissement Universitaire: ESTI
Encadrant : Nom Prénom
Organisme PFE: Société …
Encadrant : Nom Prénom


RÉSUMÉ : …

….




MOTS CLÉS : mot1 / mot2/..etc.


ABSRACT : …

….




KEY-WORDS : word1 / word2/..etc.
Dédicaces



Les dédicaces …
Remerciement

Les remerciements …
Projet : …                                                                         Année universitaire : …




Table des matières

 Introduction..................................................................................................4
Chapitre 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 ....................................................................................................7
Chapitre II. Etat de l’art...............................................................................8
   II.1. Introduction..................................................................................................8
   II.2. MVC :..........................................................................................................8
   II.3. Conclusion...................................................................................................9
Chapitre 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 ...............................................................................................18
Chapitre 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................................................................................................20
Chapitre 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................................................................24

Chapitre : …                                                                       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 ................................................................................................25
Chapitre 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 : …...............................................................................................iii




Chapitre : …                                                                  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 l'action 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 d'automobiles 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 d'utilitaire, il existe des services de location
             de véhicule en aller simple. C'est-à-dire que l'on 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 le

Chapitre : …                                                         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 le
sujet 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 solutions
web. J.A.S.S.P est en train de développer une place de marché pour la gestion des
offres/demandes en ressources logistiques (Bourse de fret). Ce développement entre dans le
cadre 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 de
développer et mettre en place une partie « persistance » d’une application web de location de
vé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 les
autres clientèles.
        - Une gestion totale des processus de création, annulation, recherche, modification et
enregistrement.
        - Garde les informations à propos les véhicules et les clientèles de la société et toutes
les 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 interfaces
ergonomiques.
        - Créer une base de données bien détaillée contenant les données relatives à la gestion
de service garantissant un environnement multi utilisateurs qui bénéficie des options des
SGBD 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, dans
le cadre de la « conception orientée objet ».
         UML est un langage formel, normalisé et est devenu la référence en termes de
modé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 la
compréhension des solutions objets :
         c Sa notation graphique permet d'exprimer visuellement une solution objet, ce qui
facilite la comparaison et l'évaluation des solutions.
         f L'aspect formel de sa notation, limite les ambiguïtés et les incompréhensions.
         L Son indépendance par rapport aux langages de programmation, aux domaines
d'application 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.Introduction
Le choix du framework Symfony se justifie par :
*Le modèle de Symfony est plus unifié avec un socle qui permet de cadrer le projet
selon 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 plus
compré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 qui
encapsulent 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 toutes
les informations que les développeurs ont besoin sur la page que vous travaillez.


       II.2.MVC :
       L’architecture MVC définit un cadre d'organisation de code en trois couches
les données (c.-à-d. le modèle), l'interface 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 l'application. Il définit aussi l'interaction
avec la base de données et le traitement de ces données.
         - La vue : Elle représente l'interface utilisateur, ce avec quoi il interagit. Elle n'effectue
aucun traitement, elle se contente simplement d'afficher les données que lui fournit le modèle.
Il peut tout à fait y avoir plusieurs vues qui présentent les données d'un même modèle.
         - Le contrôleur : Il gère l'interface entre le modèle et le client. Il va interpréter la
requête de ce dernier pour lui envoyer la vue correspondante. Il effectue la synchronisation
entre 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 lorsque
l'utilisateur navigue sur le site.

    2.3 ORM
   Doctrine est un ORM (Object Relational Mapper), c’est à dire qu’il va s’interfacer
avec notre base de données afin de nous permettre d’y accéder comme s’il s’agissait
d’un objet. Ainsi il sera possible d’accéder aux données d’une table comme s’il
s’agissait de propriétés d’une classe, mais en plus cette classe va nous proposer des
mé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 principaux
notions 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 professionnels
pour 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 ou
plusieurs camions, et créer une alerte de recherche

      III.2.Objectif
      Notre projet est demandé sous besoin d’une plateforme public de location
camion pour les professionnels en France .

      III.3.Etude de l’existant
               • Rentanddrop : (www.rentanddrop.com) : Rentn'Drop 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 l'intégralité d'un 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 de
gestion compte, annonce ou proposition.
        Si un utilisateur a oublié son mot de passe, le système doit lui fournir la possibilité de
le demander en saisissant dans la fenêtre de récupération du mot de passe son login et son mail
pour 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 modifier
ou 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 et
l’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 peut
cré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 et
doit tenir compte de certaines contraintes et exigences.
                        Ergonomie
        L’interface de l’application doit être simple et pratique afin que l’utilisateur puisse
l’exploiter sans se référer à des connaissances particulières. En d’autres termes, les
informations 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 temps
varie 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 et
minimiser 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 du
champ, ex : *.
                         Sécurité :
         Le système doit être sécurisé, l’accès aux données ne se fait qu’après une connexion de
l’utilisateur.
         La phase de paiement, les opérations de modification et d’annulation doivent être
sécurisées.
                         Modularité :
         L’application doit être multi tiers pour garantir la souplesse et l’évolutivité de la
solution 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 le
publier comme annonce aussi que la modifier et faire des promotions périodiques et non
pé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 pas
un 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 des
tâches limites à faire.
Projet : …                                                         Année universitaire : …


       Visiteur :
uc cas d''utilisation 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 d''utilisation 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                                                      s'authentifier
                                                                                                            «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 d'utilisation 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 le
site.
        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’erreur
sera affiché
       Exception
       E1. Le visiteur abandonne l’inscription.
       Post-condition : le visiteur est devenu un utilisateur dans le site




                    S'authentifier :
Projet : …                                                            Année universitaire : …


        Acteurs principaux : utilisateur, Admin.
        Objectif : ce cas d’utilisation est affiché à un utilisateur ou administrateur désire faire
certaines 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 à la
tache 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 respecte
pas 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éfini
dans 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éfini
dans 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 choisit
une 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 location
introduit 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 refus
envoyé.

                      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 la
promotion 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 respecte
pas 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 du
système et nous avons identifié et décri les différents cas d’utilisation de la solution ce qui va
nous permettre de limiter les exigences de l’application et de passer à la conception de la
solution. 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. Nous
avons opté pour la méthode UML pour une représentation selon trois vues : une vue
fonctionnelle visant à appréhender les interactions entre les différents acteurs/utilisateurs et le
système, une vue structurelle (statique) visant la structuration des données, et une vue
dynamique à 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çon
suivante :




            • Le                                                Modèle:
                Le modèle contient les objets métier de votre application, c'est 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 d'utilisation 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 d'exécution de celle-ci. C'est lui qui va s'occuper 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 à
               l'utilisateur.

    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 et
plus aisé.
       Le chapitre suivant met en évidence le résultat de cette étape ainsi que celui du
dé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 d'un logiciel, la phase de réalisation n'est pas
moins importante. C'est au cours de cette phase que nous touchons la vraie valeur de notre
travail.
         L'implémentation est la phase la plus délicate. Le choix des outils de développement
influe énormément sur le coût en temps de programmation ainsi que sur la flexibilité du
produit à réaliser.
         Dans ce chapitre, nous allons aborder une description de l'environnement du travail.
         Une deuxième partie sera consacrée à des imprimes écrans témoignant du résultat de
notre 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é à l'aide 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 l'environnement logiciel
suivant :

                       V.2.2.1Entreprise architect 7.5 :
       Enterprise Architect est    un   programme        complet d'analyse      UML et   l'outil   de
modélisation qui peut être d'une grande aide pour toute organisation lors de la création des
projets de logiciels et de systèmes avancés d'affaires. Cet outil prend en charge Code
ingénierie, gestion de projet, administration système, des technologies XML et les
transformations MDA. Cette application a été conçue avec de nombreuses fonctionnalités
pour        répondre        à        tous        types         d'utilisateurs       professionnels.


L'utilisation 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 d'autres standards
de modélisation ouverte. Vous pouvez également développer et modifier la transformation de
modèles , de créer de haute qualité des documents à partir d'un modèle donné, de convertir ses
éléments et fragments de modèles d'un 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éveloppeur
ou un architecte de données de concevoir, de modéliser, de générer et de gérer visuellement
des bases de données. Il comprend tous les éléments nécessaires à un modélisateur de données
pour créer des modèles entité-relation complexes et procéder à une pro-ingénierie ou à une
rétro-ingénierie. Il offre également des fonctionnalités clés qui permettent d'accomplir les
tâches délicates de gestion des modifications et de documentation, qui exigent habituellement
beaucoup de temps et d'efforts.[ http://www.mysql.fr/products/workbench/]

                         V.2.2.3Netbeans 6.8 :
        L'EDI NetBeans est un primé Environnement de développement intégré disponible
pour Windows, Mac, Linux et Solaris. Le projet NetBeans est constitué d'un IDE open-
source et une plateforme d'applications qui permettent aux développeurs de rapidement créer
des web, l'entreprise, de bureau et des applications mobiles utilisant la plateforme Java, ainsi
que PHP, JavaScript et Ajax, Ruby et Ruby on Rails, Groovy , et C / C + +. Il est soutenu par
une 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 de
développement Web sous Windows. Il vous permet de développer des sites Web dynamiques
à    l'aide      du   serveur Apache,   du   langage   de   scripts PHP5 et     d'une base   de
données MySQL version 5. Il possède également PHPMyAdmin et SQLite Manager pour
gé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 documents
HTML.
         Plus simplement PHP nous offre un moyen de placer des instructions dans nos
documents HTML en vue de créer des contenus dynamiques.
         PHP est un véritable langage de programmation. Syntaxiquement il tient du Perl et du
C. Il s'agit d'un 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 d'applications (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 l'entreprise française Sensio, Symfony est entièrement orienté objet et respecte un grand
nombre de bonnes pratiques qui facilitent un développement Web de qualité. On y trouve,
entre autres :
               gestion de l'encodage et des types MIME
               url propres (routage)
               système de cache évolué
               mise en œuvre de CRUD
               support de l'internationalisation (i18n) par XLIFF
               gestion des droits d'accès
               génération assistée de l'interface d'administration
               mise en œuvre aisée d'AJAX 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’est
pré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 de
l’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 test
consiste à vérifier que le retour de l’exécution de la portion de code correspond à ce que l’on
attend. Il est exécuté indépendamment du programme en créant un environnement d’exécution
spécifique à la portion du code. Cela permet d’éviter de devoir recompiler tout un logiciel pour
vérifier la correction d’un bug des fois assez difficile à déclencher « manuellement » ou pour
tester des fonctionnalités profondes dans le logiciel. On écrit un test qui s’exécute sur la portion de
code définie. Le test unitaire est souvent mis en place dans les projets basés sur les méthodologies
Agile ou l’Extreme Programming. JUnit lui est un framework de test unitaire, décliné sur
plusieurs language (NUnit, PHPUnit,…) Il est intégré nativement a Netbeans. actuellement
version 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 est
impensable de les écrire dans une fonction main(). Nous devrions mieux les organiser dans des
classes de tests, créant une classe de test pour chaque classe dans l’application. A cette fin, le
framework JUnit permet de simuler l'exécution de l’application.
Pour créer un test:
P Placez le curseur sur une classe. Dans l'onglet "Project".


P Cliquez-droit ---> Tools ---> Junit Tests ---> Create Test ... et acceptez la fenêtre qui est
montrée avec les options par défaut.

m Une classe sera crée dans la section "Test Packages". Elle étend un TestCase, cette classe du
framework JUnit vous permet de créer des tests.

   Cette classe contient un constructeur, une fonction appelée setUp (utilisée comme initialisateur
de test), tearDown (utilisé à la cloture de chaque test), et finallement, un nombre infini de
méthodes nommées testXXX où XXX est le nom d'un test

      Présenter un récapitulatifs sur les stratégies de tests adoptés (Catalogues et scénarios de
tests, 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é de
l’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 de
montrer 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 : …




                                             Glossaire

Liste 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

Mais conteúdo relacionado

Destaque

Projet de rapport sur la crise financière PE
Projet de rapport sur la crise financière PEProjet de rapport sur la crise financière PE
Projet de rapport sur la crise financière PEJean-Michel Boudon
 
Twitter
TwitterTwitter
Twitternhetic
 
Casewise EA Foundation (FR) - Episode 1/4
Casewise EA Foundation (FR) - Episode 1/4Casewise EA Foundation (FR) - Episode 1/4
Casewise EA Foundation (FR) - Episode 1/4Jean-Patrick Ascenci
 
Présentation LimeStreams
Présentation LimeStreamsPrésentation LimeStreams
Présentation LimeStreamsLimeStreams
 
Passé composé
Passé composéPassé composé
Passé composéRomanychch
 
Présentation iSenegal
Présentation iSenegalPrésentation iSenegal
Présentation iSenegalMister Mo
 
1 ecoulement a s. libre
1 ecoulement a s. libre1 ecoulement a s. libre
1 ecoulement a s. libreAssem Diab
 
Intervention Johanna journée ANT 2012
Intervention Johanna  journée ANT 2012Intervention Johanna  journée ANT 2012
Intervention Johanna journée ANT 2012Johanna Wiss
 
2012 cyril-wolfangel-responsive design-typo3
2012 cyril-wolfangel-responsive design-typo32012 cyril-wolfangel-responsive design-typo3
2012 cyril-wolfangel-responsive design-typo3Talan
 
Assemblage par vues de composants
Assemblage par vues de composantsAssemblage par vues de composants
Assemblage par vues de composantskarousn
 
Diaporoma Blog
Diaporoma BlogDiaporoma Blog
Diaporoma Blogdidi426
 
Corte Grande N° 60 - Dicembre 2011
Corte Grande N° 60 - Dicembre 2011Corte Grande N° 60 - Dicembre 2011
Corte Grande N° 60 - Dicembre 2011Corte Grande
 
Prenez le lead strategique sur votre secteur d&rsquo;activité
Prenez le lead strategique sur votre secteur d&rsquo;activitéPrenez le lead strategique sur votre secteur d&rsquo;activité
Prenez le lead strategique sur votre secteur d&rsquo;activitéLe Lab digital
 

Destaque (20)

Projet de rapport sur la crise financière PE
Projet de rapport sur la crise financière PEProjet de rapport sur la crise financière PE
Projet de rapport sur la crise financière PE
 
Twitter
TwitterTwitter
Twitter
 
Piquinique
PiquiniquePiquinique
Piquinique
 
Casewise EA Foundation (FR) - Episode 1/4
Casewise EA Foundation (FR) - Episode 1/4Casewise EA Foundation (FR) - Episode 1/4
Casewise EA Foundation (FR) - Episode 1/4
 
Présentation LimeStreams
Présentation LimeStreamsPrésentation LimeStreams
Présentation LimeStreams
 
Passé composé
Passé composéPassé composé
Passé composé
 
Présentation iSenegal
Présentation iSenegalPrésentation iSenegal
Présentation iSenegal
 
1 ecoulement a s. libre
1 ecoulement a s. libre1 ecoulement a s. libre
1 ecoulement a s. libre
 
Smart cities
Smart citiesSmart cities
Smart cities
 
Intervention Johanna journée ANT 2012
Intervention Johanna  journée ANT 2012Intervention Johanna  journée ANT 2012
Intervention Johanna journée ANT 2012
 
2012 cyril-wolfangel-responsive design-typo3
2012 cyril-wolfangel-responsive design-typo32012 cyril-wolfangel-responsive design-typo3
2012 cyril-wolfangel-responsive design-typo3
 
Journal mdg n_8_bd
Journal mdg n_8_bdJournal mdg n_8_bd
Journal mdg n_8_bd
 
Assemblage par vues de composants
Assemblage par vues de composantsAssemblage par vues de composants
Assemblage par vues de composants
 
Collection club
Collection clubCollection club
Collection club
 
Tutorialaudio
TutorialaudioTutorialaudio
Tutorialaudio
 
Diaporoma Blog
Diaporoma BlogDiaporoma Blog
Diaporoma Blog
 
Amfe en images 2011-2012
Amfe en images 2011-2012 Amfe en images 2011-2012
Amfe en images 2011-2012
 
Repaso mates 2º
Repaso mates 2ºRepaso mates 2º
Repaso mates 2º
 
Corte Grande N° 60 - Dicembre 2011
Corte Grande N° 60 - Dicembre 2011Corte Grande N° 60 - Dicembre 2011
Corte Grande N° 60 - Dicembre 2011
 
Prenez le lead strategique sur votre secteur d&rsquo;activité
Prenez le lead strategique sur votre secteur d&rsquo;activitéPrenez le lead strategique sur votre secteur d&rsquo;activité
Prenez le lead strategique sur votre secteur d&rsquo;activité
 

Semelhante a Template _rapport_pfe - new_copi

Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Mohamed Boubaya
 
1601896849 rapport fluttercopie
1601896849 rapport fluttercopie1601896849 rapport fluttercopie
1601896849 rapport fluttercopieRamiJOUDI2
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
 
PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...Rami Raddaoui
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"étudesMohamed Boubaya
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Modl2 rap pfe_esti
Modl2 rap pfe_estiModl2 rap pfe_esti
Modl2 rap pfe_estikarousn
 
Rapport de stage (promoteur immobilier )
Rapport de stage (promoteur immobilier )Rapport de stage (promoteur immobilier )
Rapport de stage (promoteur immobilier )Aicha OUALLA
 
Business plan d'une société de service a domicile tunisienne
Business plan d'une société de service a domicile tunisienneBusiness plan d'une société de service a domicile tunisienne
Business plan d'une société de service a domicile tunisienneAymen Foudhaili
 
salwfrarapp137.pdf
salwfrarapp137.pdfsalwfrarapp137.pdf
salwfrarapp137.pdfSASarah3
 
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...Khadidja BOUKREDIMI
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développementDonia Hammami
 
Les intranets et leur écosystème, portrait des usages et meilleures pratiques
Les intranets et leur écosystème, portrait des usages et meilleures pratiquesLes intranets et leur écosystème, portrait des usages et meilleures pratiques
Les intranets et leur écosystème, portrait des usages et meilleures pratiquesCEFRIO
 
Rapport Réalité Virtuelle
Rapport Réalité VirtuelleRapport Réalité Virtuelle
Rapport Réalité VirtuelleZyad Hamani
 
Livre Blanc : Assistance à distance en Réalité Mixte
Livre Blanc : Assistance à distance en Réalité MixteLivre Blanc : Assistance à distance en Réalité Mixte
Livre Blanc : Assistance à distance en Réalité MixteImmersion
 
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...younes elmorabit
 

Semelhante a Template _rapport_pfe - new_copi (20)

Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
1601896849 rapport fluttercopie
1601896849 rapport fluttercopie1601896849 rapport fluttercopie
1601896849 rapport fluttercopie
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Modl2 rap pfe_esti
Modl2 rap pfe_estiModl2 rap pfe_esti
Modl2 rap pfe_esti
 
Rapport de stage (promoteur immobilier )
Rapport de stage (promoteur immobilier )Rapport de stage (promoteur immobilier )
Rapport de stage (promoteur immobilier )
 
Business plan d'une société de service a domicile tunisienne
Business plan d'une société de service a domicile tunisienneBusiness plan d'une société de service a domicile tunisienne
Business plan d'une société de service a domicile tunisienne
 
salwfrarapp137.pdf
salwfrarapp137.pdfsalwfrarapp137.pdf
salwfrarapp137.pdf
 
Rapport stage
Rapport stageRapport stage
Rapport stage
 
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
AUTOMATISATION DU DEPLOIEMENT ET DE LA GESTION DES RESEAUX VIRTUELS DANS LE C...
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Les intranets et leur écosystème, portrait des usages et meilleures pratiques
Les intranets et leur écosystème, portrait des usages et meilleures pratiquesLes intranets et leur écosystème, portrait des usages et meilleures pratiques
Les intranets et leur écosystème, portrait des usages et meilleures pratiques
 
Rapport Réalité Virtuelle
Rapport Réalité VirtuelleRapport Réalité Virtuelle
Rapport Réalité Virtuelle
 
Livre Blanc : Assistance à distance en Réalité Mixte
Livre Blanc : Assistance à distance en Réalité MixteLivre Blanc : Assistance à distance en Réalité Mixte
Livre Blanc : Assistance à distance en Réalité Mixte
 
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
 

Mais de karousn

2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donnees2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donneeskarousn
 
Assemblage par vues de composants
Assemblage par vues de composantsAssemblage par vues de composants
Assemblage par vues de composantskarousn
 
2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donnees2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donneeskarousn
 
Template _rapport_pfe - new
Template  _rapport_pfe - newTemplate  _rapport_pfe - new
Template _rapport_pfe - newkarousn
 
Javascript
JavascriptJavascript
Javascriptkarousn
 

Mais de karousn (6)

2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donnees2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donnees
 
Assemblage par vues de composants
Assemblage par vues de composantsAssemblage par vues de composants
Assemblage par vues de composants
 
2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donnees2009 m1 ensta_projet_bases_de_donnees
2009 m1 ensta_projet_bases_de_donnees
 
Template _rapport_pfe - new
Template  _rapport_pfe - newTemplate  _rapport_pfe - new
Template _rapport_pfe - new
 
Php
PhpPhp
Php
 
Javascript
JavascriptJavascript
Javascript
 

Template _rapport_pfe - new_copi

  • 2. ANNEE : … THEME : Réseautique/SI PFE N° : … Titre : … Auteurs: Nom1 Prénom1/ Nom2 Prénom2 Etablissement Universitaire: ESTI Encadrant : Nom Prénom Organisme PFE: Société … Encadrant : Nom Prénom RÉSUMÉ : … …. MOTS CLÉS : mot1 / mot2/..etc. ABSRACT : … …. KEY-WORDS : word1 / word2/..etc.
  • 5. Projet : … Année universitaire : … Table des matières Introduction..................................................................................................4 Chapitre 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 ....................................................................................................7 Chapitre II. Etat de l’art...............................................................................8 II.1. Introduction..................................................................................................8 II.2. MVC :..........................................................................................................8 II.3. Conclusion...................................................................................................9 Chapitre 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 ...............................................................................................18 Chapitre 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................................................................................................20 Chapitre 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................................................................24 Chapitre : … Page : 1 /37
  • 6. 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 ................................................................................................25 Chapitre 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 : …...............................................................................................iii Chapitre : … Page : 2 /37
  • 7. Projet : … Année universitaire : … Table des figures .... Chapitre : … Page : 3 /37
  • 8. 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 l'action 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 d'automobiles 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 d'utilitaire, il existe des services de location de véhicule en aller simple. C'est-à-dire que l'on 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 le Chapitre : … Page : 4 /37
  • 9. 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
  • 10. 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 le sujet 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 solutions web. J.A.S.S.P est en train de développer une place de marché pour la gestion des offres/demandes en ressources logistiques (Bourse de fret). Ce développement entre dans le cadre 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 de développer et mettre en place une partie « persistance » d’une application web de location de vé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 les autres clientèles. - Une gestion totale des processus de création, annulation, recherche, modification et enregistrement. - Garde les informations à propos les véhicules et les clientèles de la société et toutes les 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 interfaces ergonomiques. - Créer une base de données bien détaillée contenant les données relatives à la gestion de service garantissant un environnement multi utilisateurs qui bénéficie des options des SGBD 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é »)
  • 11. 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, dans le cadre de la « conception orientée objet ». UML est un langage formel, normalisé et est devenu la référence en termes de modé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 la compréhension des solutions objets : c Sa notation graphique permet d'exprimer visuellement une solution objet, ce qui facilite la comparaison et l'évaluation des solutions. f L'aspect formel de sa notation, limite les ambiguïtés et les incompréhensions. L Son indépendance par rapport aux langages de programmation, aux domaines d'application 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é.
  • 12. Projet : … Année universitaire : … Chapitre II.Etat de l’art II.1.Introduction Le choix du framework Symfony se justifie par : *Le modèle de Symfony est plus unifié avec un socle qui permet de cadrer le projet selon 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 plus compré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 qui encapsulent 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 toutes les informations que les développeurs ont besoin sur la page que vous travaillez. II.2.MVC : L’architecture MVC définit un cadre d'organisation de code en trois couches les données (c.-à-d. le modèle), l'interface homme-machine (la vue) et la logique de contrôle (le contrôleur). Le fonctionnement du MVC
  • 13. 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 l'application. Il définit aussi l'interaction avec la base de données et le traitement de ces données. - La vue : Elle représente l'interface utilisateur, ce avec quoi il interagit. Elle n'effectue aucun traitement, elle se contente simplement d'afficher les données que lui fournit le modèle. Il peut tout à fait y avoir plusieurs vues qui présentent les données d'un même modèle. - Le contrôleur : Il gère l'interface entre le modèle et le client. Il va interpréter la requête de ce dernier pour lui envoyer la vue correspondante. Il effectue la synchronisation entre 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 lorsque l'utilisateur navigue sur le site. 2.3 ORM Doctrine est un ORM (Object Relational Mapper), c’est à dire qu’il va s’interfacer avec notre base de données afin de nous permettre d’y accéder comme s’il s’agissait d’un objet. Ainsi il sera possible d’accéder aux données d’une table comme s’il s’agissait de propriétés d’une classe, mais en plus cette classe va nous proposer des mé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 principaux notions de bases et nous allons détailler notre projet dans le chapitre suivant.
  • 14. 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 professionnels pour 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 ou plusieurs camions, et créer une alerte de recherche III.2.Objectif Notre projet est demandé sous besoin d’une plateforme public de location camion pour les professionnels en France . III.3.Etude de l’existant • Rentanddrop : (www.rentanddrop.com) : Rentn'Drop 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 l'intégralité d'un 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
  • 15. 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 de gestion compte, annonce ou proposition. Si un utilisateur a oublié son mot de passe, le système doit lui fournir la possibilité de le demander en saisissant dans la fenêtre de récupération du mot de passe son login et son mail pour 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 modifier ou 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 et l’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 peut cré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 et doit tenir compte de certaines contraintes et exigences.  Ergonomie L’interface de l’application doit être simple et pratique afin que l’utilisateur puisse l’exploiter sans se référer à des connaissances particulières. En d’autres termes, les informations doivent être lisibles et faciles d’accès par n’importe quel utilisateur. Elles doivent être claires et bien réparties sur la page.
  • 16. Projet : … Année universitaire : …  Besoins de performance Ces besoins sont liés essentiellement aux temps de chargement des pages. Ce temps varie 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 et minimiser 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 du champ, ex : *.  Sécurité : Le système doit être sécurisé, l’accès aux données ne se fait qu’après une connexion de l’utilisateur. La phase de paiement, les opérations de modification et d’annulation doivent être sécurisées.  Modularité : L’application doit être multi tiers pour garantir la souplesse et l’évolutivité de la solution 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 le publier comme annonce aussi que la modifier et faire des promotions périodiques et non pé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 pas un 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 des tâches limites à faire.
  • 17. Projet : … Année universitaire : … Visiteur : uc cas d''utilisation 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 :
  • 18. Projet : … Année universitaire : … uc cas d''utilisation 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 s'authentifier «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 :
  • 19. Projet : … Année universitaire : … uc cas d'utilisation 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 le site. 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’erreur sera affiché Exception E1. Le visiteur abandonne l’inscription. Post-condition : le visiteur est devenu un utilisateur dans le site  S'authentifier :
  • 20. Projet : … Année universitaire : … Acteurs principaux : utilisateur, Admin. Objectif : ce cas d’utilisation est affiché à un utilisateur ou administrateur désire faire certaines 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 à la tache 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 respecte pas 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
  • 21. Projet : … Année universitaire : … A4. Au niveau de l’étape 7 si l’un de s champs ne respecte pas le type prédéfini dans 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éfini dans 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 choisit une 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 location introduit 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
  • 22. 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 refus envoyé.  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 la promotion 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 respecte pas 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 du système et nous avons identifié et décri les différents cas d’utilisation de la solution ce qui va nous permettre de limiter les exigences de l’application et de passer à la conception de la solution. C’est ce qu’on va voir en détail dans le chapitre suivant.
  • 23. Projet : … Année universitaire : … Chapitre IV.Conception IV.1.Introduction Cette phase est consacrée à la conception des différents modules du système. Nous avons opté pour la méthode UML pour une représentation selon trois vues : une vue fonctionnelle visant à appréhender les interactions entre les différents acteurs/utilisateurs et le système, une vue structurelle (statique) visant la structuration des données, et une vue dynamique à 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çon suivante : • Le Modèle: Le modèle contient les objets métier de votre application, c'est 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 d'utilisation 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
  • 24. Projet : … Année universitaire : … logique d'exécution de celle-ci. C'est lui qui va s'occuper 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 à l'utilisateur. 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 et plus aisé. Le chapitre suivant met en évidence le résultat de cette étape ainsi que celui du développement de l’application.
  • 25. 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 d'un logiciel, la phase de réalisation n'est pas moins importante. C'est au cours de cette phase que nous touchons la vraie valeur de notre travail. L'implémentation est la phase la plus délicate. Le choix des outils de développement influe énormément sur le coût en temps de programmation ainsi que sur la flexibilité du produit à réaliser. Dans ce chapitre, nous allons aborder une description de l'environnement du travail. Une deuxième partie sera consacrée à des imprimes écrans témoignant du résultat de notre 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é à l'aide 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 l'environnement logiciel suivant : V.2.2.1Entreprise architect 7.5 : Enterprise Architect est un programme complet d'analyse UML et l'outil de modélisation qui peut être d'une grande aide pour toute organisation lors de la création des projets de logiciels et de systèmes avancés d'affaires. Cet outil prend en charge Code ingénierie, gestion de projet, administration système, des technologies XML et les transformations MDA. Cette application a été conçue avec de nombreuses fonctionnalités pour répondre à tous types d'utilisateurs professionnels. L'utilisation de ces flexible, rapide, et des fonctionnalités avancées, vous pouvez concevoir,
  • 26. Projet : … Année universitaire : … mettre en œuvre, tester et maintenir des modèles UML, SysML, BPMN et d'autres standards de modélisation ouverte. Vous pouvez également développer et modifier la transformation de modèles , de créer de haute qualité des documents à partir d'un modèle donné, de convertir ses éléments et fragments de modèles d'un 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éveloppeur ou un architecte de données de concevoir, de modéliser, de générer et de gérer visuellement des bases de données. Il comprend tous les éléments nécessaires à un modélisateur de données pour créer des modèles entité-relation complexes et procéder à une pro-ingénierie ou à une rétro-ingénierie. Il offre également des fonctionnalités clés qui permettent d'accomplir les tâches délicates de gestion des modifications et de documentation, qui exigent habituellement beaucoup de temps et d'efforts.[ http://www.mysql.fr/products/workbench/] V.2.2.3Netbeans 6.8 : L'EDI NetBeans est un primé Environnement de développement intégré disponible pour Windows, Mac, Linux et Solaris. Le projet NetBeans est constitué d'un IDE open- source et une plateforme d'applications qui permettent aux développeurs de rapidement créer des web, l'entreprise, de bureau et des applications mobiles utilisant la plateforme Java, ainsi que PHP, JavaScript et Ajax, Ruby et Ruby on Rails, Groovy , et C / C + +. Il est soutenu par une 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 de développement Web sous Windows. Il vous permet de développer des sites Web dynamiques à l'aide du serveur Apache, du langage de scripts PHP5 et d'une base de données MySQL version 5. Il possède également PHPMyAdmin et SQLite Manager pour gérer plus facilement la base de données. V.3.Choix techniques V.3.1.Choix du langage PHP :
  • 27. Projet : … Année universitaire : … PHP est un langage de scripts multi plateformes, embarqué dans des documents HTML. Plus simplement PHP nous offre un moyen de placer des instructions dans nos documents HTML en vue de créer des contenus dynamiques. PHP est un véritable langage de programmation. Syntaxiquement il tient du Perl et du C. Il s'agit d'un 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 d'applications (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 l'entreprise française Sensio, Symfony est entièrement orienté objet et respecte un grand nombre de bonnes pratiques qui facilitent un développement Web de qualité. On y trouve, entre autres :  gestion de l'encodage et des types MIME  url propres (routage)  système de cache évolué  mise en œuvre de CRUD  support de l'internationalisation (i18n) par XLIFF  gestion des droits d'accès  génération assistée de l'interface d'administration  mise en œuvre aisée d'AJAX 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.
  • 28. 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’est pré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 de l’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 test consiste à vérifier que le retour de l’exécution de la portion de code correspond à ce que l’on attend. Il est exécuté indépendamment du programme en créant un environnement d’exécution spécifique à la portion du code. Cela permet d’éviter de devoir recompiler tout un logiciel pour vérifier la correction d’un bug des fois assez difficile à déclencher « manuellement » ou pour tester des fonctionnalités profondes dans le logiciel. On écrit un test qui s’exécute sur la portion de code définie. Le test unitaire est souvent mis en place dans les projets basés sur les méthodologies Agile ou l’Extreme Programming. JUnit lui est un framework de test unitaire, décliné sur plusieurs language (NUnit, PHPUnit,…) Il est intégré nativement a Netbeans. actuellement version 6.8 avec JUnit compatible 4.x.
  • 29. Projet : … Année universitaire : … Les tests prennent une part importante lorsque les projets deviennent de plus en plus large. Il est impensable de les écrire dans une fonction main(). Nous devrions mieux les organiser dans des classes de tests, créant une classe de test pour chaque classe dans l’application. A cette fin, le framework JUnit permet de simuler l'exécution de l’application. Pour créer un test: P Placez le curseur sur une classe. Dans l'onglet "Project". P Cliquez-droit ---> Tools ---> Junit Tests ---> Create Test ... et acceptez la fenêtre qui est montrée avec les options par défaut. m Une classe sera crée dans la section "Test Packages". Elle étend un TestCase, cette classe du framework JUnit vous permet de créer des tests. Cette classe contient un constructeur, une fonction appelée setUp (utilisée comme initialisateur de test), tearDown (utilisé à la cloture de chaque test), et finallement, un nombre infini de méthodes nommées testXXX où XXX est le nom d'un test Présenter un récapitulatifs sur les stratégies de tests adoptés (Catalogues et scénarios de tests, 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é de l’application) . V.7.Conclusion Résumer les faits les plus marquant concernant la réalisation du projet
  • 30. 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 de montrer 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.
  • 31. 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.
  • 32. Projet : … Année universitaire : … Glossaire Liste des abréviations (en respectant un ordre alphabétique décroissant).
  • 33. Projet : … Année universitaire : … Bibliographie … Netographie …
  • 34.
  • 35. 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
  • 36. Projet : … Année universitaire : … Annexe A : …. ii
  • 37. Projet : … Année universitaire : … Annexe B : … iii