Unidad I Matrices by Saul Olaf Loaiza ... 550 views\nPrésentation personnage by Trisha Lisant 202 views\nGuía Solución EDO Lineales Homogéneas by Saul Olaf Loaiza ... 1381 views\n, Social Advisor at Mutual of Students LMDE - France\n1. i |Dédicaces Je vous dois ce que je suis aujourd’hui grâce à votre amour, à votre patience et vos innombrables sacrifices. Que ce modeste travail, soit pour vous une petite compensation et reconnaissance envers tout ce que vous avez fait d’incroyable pour moi. Que dieu, le tout puissant, vous préserve et vous procure santé et longue vie afin que je puisse à mon tour vous combler. Aucune dédicace n’exprime assez profondément ce que je ressens envers vous. Je vous dirais merci, je vous aime. En témoignage de l’amitié sincère qui nous a liées et des bons moments passés ensemble. Je vous dédie ce travail en vous souhaitant un avenir radieux et plein de bonnes promesses.\n2. ii |Remerciements Avant de commencer notre rapport de projet de fin d’étude, nous aimerions exprimer notre vive gratitude et nos remerciements les plus distingués à tous ceux qui nous ont aidé à effectuer ce stage dans les meilleures conditions, qui nous ont encouragé par leurs conseils précieux et qui nous ont offert les diverses documentations efficaces et nécessaires pour notre formation. Particulièrement nous commençons par remercier les respectables membres du jury pour avoir bien voulu nous accorder de leur temps précieux pour commenter, discuter et juger notre travail. Nous tenons à remercier aussi Mlle Malek Najah pour l'attention qu'elle a apportée à notre projet tout au long de ses divers stades de réalisation et pour ses précieux conseils. Nous adressons tous nos respects à Mr Mohamed Wahb Ouerteni pour son bon encadrement. Nous tenons à remercier Mr Khaled Adala pour son aide et son soutien. En fin, nous ne pouvons achever ce rapport de projet de fin d’étude sans exprimer notre gratitude à tous les professeurs de l’Institut Supérieur d’Informatique, pour leur dévouement et leur assistance tout au long de nos études universitaires. Mohamed Hedi\n3. iii |Table des matières Introduction générale....................................................................................................................9 Chapitre 1 : Etude préalable......................................................................................................11 Introduction ...............................................................................................................................12 1. Présentation de l’organisme d’accueil................................................................................12 2. Présentation du projet.........................................................................................................13 A. L’aide à la prise de décision ...........................................................................................13 B. Objectif du projet............................................................................................................13 3. Etude de l’existant..............................................................................................................14 4. Problématique.....................................................................................................................16 5. Solution proposée...............................................................................................................16 Conclusion.................................................................................................................................18 Chapitre 2 : Spécification des besoins .......................................................................................19 Introduction ...............................................................................................................................20 1. La méthodologie de développement ..................................................................................20 A. Le langage de modélisation de données .........................................................................20 B. Le processus de développement .....................................................................................22 2. Etude des besoins ...............................................................................................................24 A. Etude des besoins fonctionnels.......................................................................................24 B. Etude des besoins non fonctionnels................................................................................25 3. Diagrammes des cas d’utilisation.......................................................................................25 A. Diagramme des cas d’utilisation global..........................................................................26 B. Raffinement du cas d’utilisation « S’authentifier »........................................................27 C. Raffinement du cas d’utilisation « Gérer les clients »....................................................28 D. Raffinement du cas d’utilisation « Gérer les prospections»...........................................30 E. Raffinement du cas d’utilisation «Consulter les prospections»......................................32 F. Raffinement du cas d’utilisation « Consulter les clients » .............................................34 G. Raffinement du cas d’utilisation « Gérer les agents »....................................................35 H. Raffinement du cas d’utilisation «Gérer les questionnaires »........................................38 I. Raffinement du cas d’utilisation « Gérer les produits ».................................................40 Conclusion.................................................................................................................................41\n4. iv Chapitre 3 : Conception..............................................................................................................42 Introduction ...............................................................................................................................43 1. Conception au niveau des données.....................................................................................43 A. Identification des classes ................................................................................................43 B. Règles de gestion............................................................................................................44 C. Diagramme des classes...................................................................................................45 D. Description des attributs .................................................................................................47 2. Schéma relationnel .............................................................................................................50 3. Conception au niveau de l’application...............................................................................51 A. Architecture globale de la solution.................................................................................51 B. Diagrammes de déploiement ..........................................................................................53 C. Diagrammes de séquences..............................................................................................54 4. Conception au niveau de Présentation ...............................................................................61 A. Modèle de navigation .....................................................................................................61 B. La structure de l’application...........................................................................................62 C. La charte graphique ........................................................................................................63 Conclusion.................................................................................................................................64 Chapitre 4 : Réalisation ..............................................................................................................65 Introduction ...............................................................................................................................66 1. L’environnement de travail ................................................................................................66 A. Environnement matériel .................................................................................................66 B. Environnement Logiciel .................................................................................................66 2. Choix techniques................................................................................................................70 A. Choix de langage de programmation..............................................................................70 B. Choix d’un outil de Mapping Objet-Relationnel............................................................71 C. L’architecture MVC .......................................................................................................73 E. Etude des Framework PHP.............................................................................................74 F. Présentation de Symfony 2.............................................................................................75 G. Les langages de design et le moteur de Template ..........................................................77 H. Récapitulatif des technologies utilisées :........................................................................79 3. Présentation et description des interfaces...........................................................................80 A. L’authentification ...........................................................................................................80 B. L’espace de l’administrateur ..........................................................................................81 C. L’espace de l’agent.........................................................................................................82 D. Le profil personnel de l’agent.........................................................................................83 E. L’interface de modification du profil de l’agent : ..........................................................84 F. Panneau de gestion des agents........................................................................................85 G. Panneau de gestion des questionnaires...........................................................................86 H. L’interface de modification d’un questionnaire .............................................................87\n5. v I. Interface de modification d’une question .......................................................................88 J. Panneau de gestion des prospections..............................................................................89 K. Les interfaces d’ajout d’une prospection.......................................................................90 Conclusion.................................................................................................................................92 Conclusion générale ....................................................................................................................93 Sitographie...................................................................................................................................95 Annexes ........................................................................................................................................96 Annexe 1 : Composants Symfony .............................................................................................97 Annexe 2 : Installation et cofiguration de Symfony................................................................101\n6. vi |Liste des figures Figure 1: Logo de l'agence HITS ................................................................................................................................12 Figure 2: Quelques références de HITS.......................................................................................................................12 Figure 3: La procédure de vente par téléphone actuelle............................................................................................15 Figure 4: Exemples d’applications pour les centres d’appel .......................................................................................15 Figure 5: La nouvelle procédure de vente par téléphone avec notre application......................................................17 Figure 6: Les diagrammes d’UML................................................................................................................................21 Figure 7: Les Caractéristiques essentielles du processus unifié..................................................................................22 Figure 8: Le cycle de vie d’un processus unifié ...........................................................................................................23 Figure 9: Diagramme des cas d’utilisation globale......................................................................................................26 Figure 10: Diagramme des cas d’utilisation « S’authentifier » ...................................................................................27 Figure 11: Diagramme des cas d’utilisation « Gérer les clients »................................................................................28 Figure 12: Diagramme des cas d’utilisation « Gérer les prospections» ......................................................................30 Figure 13: Diagramme des cas d’utilisation « Consulter les prospections»................................................................32 Figure 14: Diagramme des cas d’utilisation « Consulter les clients » .........................................................................34 Figure 15: Diagramme des cas d’utilisation « Gérer les agents » ...............................................................................35 Figure 16: Diagramme des cas d’utilisation « Gérer les questionnaires » ..................................................................38 Figure 17: Diagramme des cas d’utilisation « Gérer les produits » ............................................................................40 Figure 18: Diagramme des classes ..............................................................................................................................46 Figure 19: Structure d’une architecture trois tiers .....................................................................................................52 Figure 20: Le diagramme de déploiement de l’application ........................................................................................53 Figure 21: Diagramme de séquences « Authentification ».........................................................................................55 Figure 22: Diagramme de séquences « Création d’une prospection » .......................................................................57 Figure 23: Diagramme de séquences « Création d’un questionnaire »......................................................................59 Figure 24: Diagramme de séquences « Création d’un Agent »...................................................................................60 Figure 25: La structure en évolution ...........................................................................................................................61 Figure 26: Structure globale de l’application ..............................................................................................................62 Figure 27: Structure de l'espace Administrateur ........................................................................................................62 Figure 28: Structure de l’espace Agent.......................................................................................................................63 Figure 29: Structure générale des interfaces..............................................................................................................63 Figure 30: L’interface de notre projet dans GitHub ....................................................................................................68 Figure 31: L’espace de travail de Pencil Project..........................................................................................................69 Figure 32: Le principe de fonctionnement de Doctrine ..............................................................................................72 Figure 33: Le fonctionnement de l'architecture MVC.................................................................................................73 Figure 34: Vue récapitulative des technologies utilisées............................................................................................79 Figure 35: Interface d'authentification .......................................................................................................................80 Figure 36: L'espace Administrateur ............................................................................................................................81 Figure 37: L'espace de l'agent.....................................................................................................................................82 Figure 38: Profil personnel de l'agent .........................................................................................................................83 Figure 39: L'interface de modification du profil de l'agent.........................................................................................84 Figure 40: Panneau de gestion des agents..................................................................................................................85 Figure 41: Panneau de gestion des questionnaires ....................................................................................................86 Figure 42: Interface de modification d'un questionnaire ...........................................................................................87 Figure 43: Interface de modification d'une question..................................................................................................88\n7. vii Figure 44: Panneau de gestion des prospections .......................................................................................................89 Figure 45: L’interface de la 1 ère étape de la création d’une prospection ...................................................................90 Figure 46: L’interface de la 2 ème étape de la création d’une prospection.................................................................91 Figure 47: L’interface de la 3 ème étape de la création d’une prospection.................................................................91 Figure 48: L’interface de la dernière étape de la création d’une prospection............................................................92 Figure 49: Page d’acceuil Symfony 2.........................................................................................................................102\n8. viii |Liste des tableaux Tableau 1: Description formelle du cas d'utilisation « S'authentifier ».................................................................28 Tableau 2: Description formelle du cas d'utilisation « Gérer les clients » ............................................................29 Tableau 4: Description formelle du cas d'utilisation « Gérer les prospections » ..................................................31 Tableau 5: Description formelle du cas d'utilisation « Consulter les prospections »............................................33 Tableau 6: Description formelle du diagramme de cas d’utilisation « Consulter les clients »..............................35 Tableau 7: Description formelle du diagramme de cas d’utilisation « Gérer les agents »....................................37 Tableau 8: Description formelle du diagramme de cas d’utilisation « Gérer les questionnaires ».......................39 Tableau 9: Description Formelle du diagramme des cas d’utilisation « Gérer les produits »...............................41 Tableau 10: Description des attributs de la classe Produit ...................................................................................47 Tableau 11: Description des attributs de la classe Questionnaire ........................................................................47 Tableau 12: Description des attributs de la classe Question.................................................................................47 Tableau 13: Description des attributs de la classe Option ....................................................................................48 Tableau 14: Description des attributs de la classe Client......................................................................................48 Tableau 15: Description des attributs de la classe Réponse .................................................................................48 Tableau 16: Description des attributs de la classe Administrateur.......................................................................49 Tableau 17: Description des attributs de la classe Agent......................................................................................49 Tableau 18: Description des attributs de la classe Prospection............................................................................50 Tableau 19: Comparaison des langages coté serveur ...........................................................................................70 Tableau 20: Avantages et inconvénients de quelques Frameworks PHP..............................................................74 Tableau 21: La structure d’un projet avec Symfony 2...........................................................................................76\n9. Introduction générale Rapport de projet de fin des études Page 9 La prise de décision est l’acte le plus important qu’une entreprise puisse assumer. La décision prise par cette dernière a nécessairement une répercussion positive ou bien négative sur son avenir, comme elle a aussi un impact direct ou indirect sur son environnement. De nos jours, le nombre de décisions que nous devons prendre ne peut aller qu’en augmentant en égard à la complexité croissante et la rapidité des changements dus à la mondialisation socio-économique et culturelle et à son impact certain sur notre vie quotidienne. Au sein de l’entreprise, la prise de décision revêt une dimension importante puisqu’elle repose essentiellement sur les informations détenues par les dirigeants qui leur permettent de prendre des décisions en adéquation avec les objectifs escomptés. Chaque jour, le chef d’entreprise très occupé, doit analyser de nombreuses situations et prendre plusieurs décisions plus ou moins importantes. Dans ces circonstances, les outils d’aide à la décision jouent un rôle salvateur : ils offrent aux dirigeants l’opportunité de faire un état des lieux de la situation, d’appréhender avec exhaustivité les solutions potentielles et de mesurer les conséquences de la décision. Par ailleurs, l’informatique doit être aperçue comme un outil d’aide à la prise des décisions. Il est devenu essentiel de bénéficier d’outils « simples » permettant de vérifier et d’analyser rapidement les informations afin de pouvoir prendre la décision la plus adaptée à un instant donnée et ce, sans nécessairement avoir des connaissances poussées en informatique. Les outils d’aide à la décision visent à répondre à ces problématiques. Introduction générale « Un homme doit choisir. En cela réside sa force : le pouvoir de ses décisions » Paulo Coelho\n10. Introduction générale Rapport de projet de fin des études Page 10 C’est dans ce cadre d’idées que s’inscrit notre projet de fin d’études « Conception et Implémentation d’une Application d’aide à la Décision Commerciale». Nous commençons par le chapitre « Etude préalable », nous présentons le cadre générale du projet, par la suite nous décrivons l’étude de l’existant en relevant ses insuffisances et finalement nous proposons une solution . Dans le deuxième chapitre intitulé « Spécification des Besoins » nous énumérons les principales fonctionnalités offertes par l’application en présentant les besoins fonctionnels et non fonctionnels et pour mieux comprendre le déroulement des actions nous présentons quelques diagrammes de cas d’utilisation. Dans le troisième chapitre intitulé «Conception » nous détaillons l’architecture de notre système et nous présentons la conception de chaque partie de l’architecture adoptée. Au niveau du quatrième et dernier chapitre intitulé « Réalisation » nous présentons notre environnement de travail matériel et logiciel, nos choix techniques et les principales interfaces graphiques de notre projet. Finalement, nous donnons une conclusion et quelques perspectives pour ce travail.\n11. Chapitre 1 : Etude préalable Chapitre 1 Etude préalable o Introduction o Présentation de l’organisme d’accueil o Présentation du projet o Etude de l’existant o Problématique o Solution proposée o Conclusion\n12. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 12 Introduction Ce chapitre va nous permettre de mettre le projet dans son cadre général, en présentant tout d'abord l’organisme d’accueil et les objectifs du projet. Par la suite, nous abordons l’étude de l’existant du projet, suivie d’une critique pour pouvoir dégager les contraintes à respecter pendant la réalisation de notre projet et nous clôturons le chapitre par la proposition d’une solution résolvant les différents problèmes dégagés. 1. Présentation de l’organisme d’accueil HITS est une agence web implantée au pôle technologique d’EL GAZELLA depuis début 2010. Elle offre des services dans le domaine d’Internet, le multimédia et la communication visuelle. Agence de conseil, elle est également disposée à conseiller le client avant, pendant et après la phase de création de son projet. La figure 1 représente le logo de l’agence HITS : La figure 2 présente quelques références de l’agence HITS : Figure 1: Logo de l'agence HITS Figure 2: Quelques références de HITS\n13. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 13  Best Conseils : un Bureau d’Etudes qui se veut une institution au service de l’ingénierie et du développement. Il a été créé pour répondre à la demande croissante en matière de développement des infrastructures tant en Tunisie qu’à l’étranger. Il intervient principalement dans les domaines suivant : Infrastructures de transport (terrestre, aérien et maritime), Aménagements urbains et construction, Eau, environnement, Etudes économiques…  Electrification Centrale : Une société spécialisée dans le domaine de vente du matériel électrique.  Trio International Trading : Trio International Trading est une société spécialisée dans la fabrication et la commercialisation dans le secteur de la pétrochimie. Ses productions sont axées sur les intrants chimiques de base tels que le toluène, le white spirit, xylène solvant, le monomère de styrène, l'alcool isopropylique et de l'huile de base. 2. Présentation du projet Dans cette partie nous allons donner une idée sur le concept de l’aide à la prise de décision et nous allons présenter l’objectif de notre projet. A. L’aide à la prise de décision L’aide à la décision est l’ensemble des techniques permettant, pour une personne donnée, d’opter pour la meilleure prise de décision possible. L’aide à la décision est principalement utilisée dans des domaines importants tels que la finance et la banque, l’informatique ou même la politique. Les méthodes d’aide à la décision permettent non seulement de fournir l’information, mais aussi de choisir parmi plusieurs solutions, en fonction de critères établis. Les outils d'aide à la décision aident le décideur à formuler un choix de façon plus transparente et plus robuste. B. Objectif du projet Une entreprise ne peut exister et pérenniser ses activités sans avoir à communiquer avec ses cibles potentielles et son environnement. Une fois que le contact est établi, il est aussi utile et nécessaire d’inciter les clients potentiels à transformer leur intention en un véritable achat, puis de les fidéliser au maximum pour éviter de se faire dépasser par la concurrence.\n14. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 14 Dans ce cadre, Nous avons eu la charge de mettre en place une application d’aide à la décision commerciale destinée au centres d’appels et aux sociétés commerciales adoptant la vente par téléphone. Notre application permet de gérer les clients et les prospections réalisées par les agents commerciaux. Suite à chaque prospection, l’application fourni un rapport descriptif qui aide l’agent à juger l’importance de cette dernière. De plus elle permet au superviseur de gérer ces agents et de suivre leur rendement. Notre application peut être d’une grande utilité pour permettre l’entreprise de réaliser pleinement ses objectifs en termes de vente et de fidélisation. En effet, un tel outil peut faciliter grandement la tâche dans la catégorisation de tous les clients cibles et de personnaliser en conséquence toutes les actions à mettre en œuvre pour les fidéliser aux produits et aux services de l’entreprise en question. 3. Etude de l’existant Dans cette partie, nous allons décrire la procédure de travail adopté actuellement dans la majorité des centres d’appel. Selon l’étude de l’existant qu’on a réalisé : Le directeur ou le superviseur a la tâche de gérer une équipe de 10 à 20 personnes dont il doit assurer l'efficacité. Pour ceci le superviseur doit être présent à 100% sur le terrain pour résoudre les éventuels problèmes, faire l’analyse des statistiques et organiser les tâches puisqu’il est responsable du planning quotidien. Le directeur peut également suivre une prospection téléphonique au même temps avec un agent lorsqu’il s’agit d’un client potentiel ou un nouvel agent non expérimenté. Il est obligatoire d’entendre les prospections téléphoniques réalisés par les agents, parfois jusqu’à 7 écoutes par prospection, pour analyser les besoins et les envies des clients. L’agent commercial commence sa journée par la réception d’une longue liste de clients à contacter, il y a des clients dans cette liste qui vont être appelé pour la 1ère fois, d’autres pour la 2ème ou même pour la 3ème fois. La figure 3 résume la procédure de travail d’un agent commercial :\n15. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 15 1. L’agent reçoit la liste des clients à contacter. 2. L’agent commence la conversation avec le client et écrit sur un bloc note ou un document texte ses remarques importantes. En parallèle un enregistrement automatique de la conversation se déroule. 3. Après la prospection, le superviseur écoute les conversations pour faire passer les commandes d’achat et créer une nouvelle liste de clients contenant seulement les clients potentiels à rappeler. Il existe des applications sur le marché destinées aux centres d’appels et qui permettent à l’entreprise de réaliser cette procédure, mais ces logiciels ne disposent pas d’outils d’aide à la décision. La figure 4 représente quelques exemples de ces applications : Figure 3: La procédure de vente par téléphone actuelle Figure 4: Exemples d’applications pour les centres d’appel\n16. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 16  AVOXI : C’est un fournisseur de communications en nuage visant à répondre aux besoins d'appels internationaux de centres d'appels, les hôtels, les tour-opérateurs et les entreprises mondiales qui cherchent à projeter une présence locale. Il fournit plusieurs services : solutions de VoIP, enregistrement d'appel, terminaison d'appel, Couverture PBX…  ZoiTel : ZoiCall logiciel centre d'appels une base open-source avec des développements spécifiques et personnalisés par ZoiTel.  Aheeva : Spécialisée dans la création d'offre de produits et de services pour centre de contacts. La solution AheevaCCS offre des fonctionnalités pour les opérations d’émission et de réception d’appels, le management et le scripting. 4. Problématique La présente procédure de travail présente les inconvénients suivants :  L’enregistrement des prospections nécessite un espace de stockage numérique important.  La présence de superviseur est obligatoire.  L’écoute des prospections enregistrées nécessite un temps et un effort important.  Le superviseur risque de perdre son temps à entendre des prospections de clients non intéressés.  Les remarques notées par l’agent sur papier ou sur un document texte pendant la conversation avec le client risquent d’être négligées dans l’enquête du superviseur. 5. Solution proposée Nous proposons de mettre en place une application web permettant de remédier aux défaillances citées précédemment et faciliter certaines tâches dans la procédure de travail actuelle. La figure 5 résume la procédure de travail qui sera adaptée avec la nouvelle application :\n17. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 17 1. A l’aide de l’application, le superviseur crée un questionnaire qui permet d’avoir les informations nécessaires du client, il doit également donner une note pour chaque question selon son importance. Par la suite il affecte ce questionnaire avec la liste des clients aux agents. De cette sorte, il n'est plus nécessaire qu’il soit présent à 100% auprès des agents, car il leur aura donné toutes les questions clés qui les aideront à réussir leurs prospections. 2. L’agent, qui reçoit le questionnaire automatiquement, commence les conversations avec les clients en suivant la démarche proposée par l’application qui offre aussi la possibilité de noter ses remarques à propos de chaque question dans l’application. De cette manière on ne risque de perdre aucun détail de la conversation. Après avoir entrer la réponse du client à une question et valider, l’application affiche la question suivante correspondante à la réponse entrée. A la fin de la conversation, l’agent peut donner une note évaluant la volonté du client pour acheter le produit ou le service présenté. Un éventuel enregistrement de la conversation peut se dérouler en parallèle. Figure 5: La nouvelle procédure de vente par téléphone avec notre application\n18. Chapitre 1 : Etude préalable Rapport de projet de fin des études Page 18 3. D’un seul clic, Le superviseur peut générer un rapport qui résume toute la conversation au lieu de passer des heures à entendre les conversations enregistrées. Ce qui permet un gain de temps considérable. Les rapports sont plus efficaces car ils ne contiennent que les informations les plus importantes, donc le superviseur peut repérer rapidement ses cibles pour créer la nouvelle liste des clients à appeler. Pour assurer l’efficacité des agents, l’application permet au superviseur de générer un rapport décrivant leur rendement pendant le mois courant, ainsi il peut annoncer qui est « le super agent » du mois ce qui motive les agents à travailler et crée une jolie ambiance dans l’équipe. Conclusion Dans ce chapitre, nous avons présenté le cadre général du travail tout en décrivant l’organisme d’accueil, suivi d’une analyse de l’existant dans laquelle nous avons dégagé les défaillances du système actuel et enfin, nous avons abordé notre solution. Cette étude nous permet de commencer plus clairement la phase de spécification des besoins.\n19. Chapitre 2 : Spécification des besoins Chapitre 2 Spécification des besoins o Introduction o La méthodologie de développement o Etude des besoins o Diagrammes des cas d’utilisation o Conclusion\n20. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 20 Introduction Après l’étude de l’existant et la proposition d’une solution théorique, cette phase consiste à cadrer le projet et à définir ses besoins. Pour cela, nous allons commencer par présenter la méthodologie de développement, les besoins fonctionnels, les besoins non fonctionnels pour enfin terminer avec la présentation des cas d’utilisation de notre application. 1. La méthodologie de développement Dans cette phase nous allons présenter le langage de modélisation de données et le processus de développement adopté pour réaliser notre projet. A. Le langage de modélisation de données La modélisation nous permet de mieux comprendre le système en développement, aide à le visualiser tel qu'il est ou tel qu'il devrait être et spécifie la structure et le comportement de ce système. Pour la modélisation de notre application, nous avons choisi l’UML (Unified Modeling Langage). UML, que l'on peut traduire par « langage de modélisation unifié », est une notation permettant de modéliser un problème de façon standard. Ce langage est né de la fusion de plusieurs méthodes existant auparavant, et est devenu désormais la référence en termes de modélisation objet. Il offre également une manière élégante de représenter le système selon différentes vues complémentaires grâce aux diagrammes. La figure 6 représente les diagrammes du langage UML :\n21. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 21  Les points forts d’UML :  UML est un langage formel et normalisé :  Gain de précision  Gage de stabilité  Encourage l'utilisation d'outils  UML est un support de communication performant :  Il cadre l'analyse.  Il facilite la compréhension de représentations abstraites complexes.  Son caractère polyvalent et sa souplesse en font un langage universel. Figure 6: Les diagrammes d’UML\n22. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 22 B. Le processus de développement Un processus de développement définit QUI fait QUOI, QUAND et COMMENT pour atteindre un certain objectif : Construire des modèles d’un ou de plusieurs systèmes, Organiser un projet, Gérer le cycle de vie du projet de A à Z, Gérer les risques, Obtenir de manière répétitive des produits de qualité constante. Dans une démarche traditionnelle, le processus de développement était caractérisé par :  Un processus de type séquentiel : développement organisé en phases qui regroupent des étapes, elles-mêmes décomposées en tâche.  Les niveaux de découpage coïncident : la fin d’une phase correspond à la conclusion de ses étapes, qui elles-mêmes se terminent avec l’accomplissement des tâches qui les composent. Dans une approche objet tout change :  Le processus est de type itératif ;  Les découpages ne coïncident pas : les activités (taches, phases, étapes, etc…) se déroulent dans plusieurs dimensions. Le PU (Processus Unifié) est un processus de développement logiciel : il regroupe les activités à mener pour transformer les besoins d’un utilisateur en système logiciel. La figure 7 représente les Caractéristiques essentielles du processus unifié : Figure 7: Les Caractéristiques essentielles du processus unifié\n23. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 23 Le processus unifié répète un certain nombre de fois une série de cycles. Tout cycle se conclut par la livraison d’une version du produit aux clients et s’articule en 4 phases : Pré- étude, élaboration, construction et transition, chacune d’entre elles se subdivisant à son tour en itérations. Chaque cycle se traduit par une nouvelle version du système. Ce produit se compose d’un corps de code source réparti sur plusieurs composants pouvant être compilés et exécutés et s’accompagne de manuels et de produits associés. La figure 8 représente Le cycle de vie d’un processus unifié :  Caractéristiques essentielles du processus unifié :  Le processus unifié est guidé par les « patrons » de conception (Design Patterns)  Le processus unifié basé sur le langage UML (ensemble d'outils et de diagramme),  Le processus unifié est piloté par les cas d’utilisation,  Centré sur l’architecture,  Itératif et incrémental Nous avons adopté la méthodologie PU parce qu’elle est beaucoup plus complète que les autres méthodologies, ses itérations sont courtes et varies entre 3 et 6 semaines et permet de limiter les coûts, en termes de risques, aux strictes dépenses liées à une itération. Cette méthodologie se focalise sur la qualité du produit vue que les tests sont invoqués d’une façon itératif. Par conséquent, nous allons suivre ses étapes et enchainer dans ce qui suit avec une étude des besoins fonctionnels et non fonctionnels afin de prévoir une bonne conception de la solution. Figure 8: Le cycle de vie d’un processus unifié\n24. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 24 2. Etude des besoins L’objectif de la phase de spécification des besoins consiste à définir avec détails l’ensemble des fonctionnalités offertes par le système. Les besoins dégagés ont été répartis en deux groupes fonctionnels et non fonctionnels. A. Etude des besoins fonctionnels  Présentation des acteurs : Un acteur représente une personne, un matériel ou un logiciel qui interagit directement avec le système en question. Un acteur peut consulter et/ou modifier directement l’état du système en émettant ou recevant des messages susceptible d’être porteurs de données. Les acteurs qui participent à notre système sont : o L’administrateur : c’est le principal responsable du système. o L’agent commercial.  Les Besoins fonctionnels par Acteur : - L’administrateur  S’authentifier.  Gérer son espace personnel.  Gérer les questionnaires.  Gérer les agents.  Gérer les produits.  Consulter les prospections.  Consulter la liste des clients. - L’agent commercial  S’authentifier.  Gérer son espace personnel.  Gérer les prospections.  Gérer les clients.\n25. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 25 B. Etude des besoins non fonctionnels Le système doit répondre à certains besoins qui ne sont pas indispensable pour son fonctionnement mais qui sont importants pour la qualité de ses services. Les besoins non fonctionnels sont importants car ils agissent de façon indirecte sur le résultat et sur le rendement de l’utilisateur, ce qui fait qu’ils ne doivent pas être négligés, pour cela il faut répondre aux exigences suivantes :  La rapidité du traitement : il est impérativement nécessaire que la durée d’exécution des traitements s’approche le plus possible du temps réel.  La performance : c'est-à-dire donnant des résultats précis et exacts.  L’ergonomie de l’application : L’application doit présenter des interfaces simples, ergonomiques afin que l’administrateur puisse naviguer entre elles sans aucune difficulté.  L’évolutivité : toute application est vivante, a une certaine durée de vie, elle doit pouvoir greffer de nouvelles fonctionnalités pour pouvoir répondre aux nouveaux besoins fonctionnels.  Fiabilité : l’application doit fonctionner de façon cohérente sans erreurs.  Détection des erreurs : l’application doit les signaler par des messages d’erreurs.  Efficacité : l’application doit permettre l’accomplissement de la tâche avec le minimum de manipulations. 3. Diagrammes des cas d’utilisation Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une vision globale du comportement fonctionnel d'un système logiciel. Ils sont utiles pour des présentations auprès de la direction ou des acteurs d'un projet, mais pour le développement, les cas d'utilisation sont plus appropriés. Un cas d'utilisation représente une unité discrète d'interactions entre un utilisateur (humain ou machine) et un système. Il est une unité significative de travail. Dans un diagramme de cas d'utilisation, les utilisateurs sont appelés acteurs ils interagissent avec les cas d'utilisation (use cases).L’objectif fondamental de cette étape est d’identifier les principaux cas d’utilisation. Nous nous intéressons donc, dans cette partie, à la réalisation des diagrammes des cas d’utilisations.\n26. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 26 A. Diagramme des cas d’utilisation global Figure 9: Diagramme des cas d’utilisation globale L'administrateur L'agent commercial Gérer les clients Gérer l'espace personnel Gérer les prospections Consulter les prospections Consulter les clients Gérer les agents Gérer les questionnaires S'authentifier <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> <<include>> Gérer les produits <<include>>\n27. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 27 B. Raffinement du cas d’utilisation « S’authentifier »  Description formelle : Acteur (s) L’utilisateur : L’administrateur et L’agent commercial Objectif Accéder à l’application Pré condition Pour L’agent commercial, il doit être déjà ajouté par l’administrateur et il possède un compte dans l’application. Scénario principal 1. L’utilisateur introduit son login et son mot de passe dans le formulaire d’authentification et valide. 2. Le système vérifie l’existence et la concordance des coordonnées dans la base des données. 3. Le système répond à l’utilisateur par une notification (succès ou échec de connexion). S'authentifier L'administrateur L'agent commercial Introduire le login Introduire le mot de passe <<include>> <<include>> Figure 10: Diagramme des cas d’utilisation « S’authentifier »\n28. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 28 L'agent commercial Gérer les clients Créer un nouveau client Modifier un client Trier la liste des clients S'authentifier <<include>> <<extend>> <<extend>> <<extend>> Figure 11: Diagramme des cas d’utilisation « Gérer les clients » Extension (s)  Introduire le login.  Introduire le mot de passe. Exception (s)  Si login invalide : retour à l’étape 1.  Si Mot de passe invalide : retour à l’étape 1. Tableau 1: Description formelle du cas d'utilisation « S'authentifier » C. Raffinement du cas d’utilisation « Gérer les clients »  Description formelle : Acteur (s) L’agent commercial Objectif Gérer la liste des clients.\n29. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 29 Pré condition L’agent commercial doit s’authentifier et accéder au panneau de gestion des clients pour qu’il puisse gérer la liste de ses clients. Scénario principal 1. L’agent accède au panneau de gestion des clients. 2. L’agent peut choisir l’action qu’il veut effectuer via les boutons de l’interface du panneau. 3. Le système conduit l’agent à l’interface de l’action choisie. Extension (s)  Créer un nouveau client : - L’agent commercial appuie sur le bouton d’Ajout, - Le système le conduit à l’interface d’insertion, - L’agent tape les informations du client dans le formulaire et valide l’insertion. - Le système insère le client dans la base de données.  Modifier un client : - L’agent se pointe sur le client qu’il veut modifier et appuie sur le bouton de modification équivalent à ce client, - Le système le conduit à l’interface de modification, - L’agent effectue les modifications et valide. - Le système enregistre les modifications.  Trier la liste des clients : - L’agent choisit le critère de tri qu’il veut et valide, - Le système actualise la page en affichant les clients avec le nouveau tri. Exception (s)  Si les informations tapées lors de l’ajout ou de la modification sont invalides (mail invalide par exemple), le système n’effectue pas l’action et signale cette faute par un message d’erreur. Tableau 2: Description formelle du cas d'utilisation « Gérer les clients »\n30. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 30 D. Raffinement du cas d’utilisation « Gérer les prospections»  Description formelle : Acteur (s) L’agent commercial Objectif Gérer les prospections Pré condition L’agent commercial doit s’authentifier et accéder au panneau de gestion des prospections pour qu’il puisse les gérer. Scénario principal 1. L’agent accède au panneau de gestion des prospections. 2. L’agent peut choisir l’action qu’il veut effectuer via les boutons de l’interface du panneau. 3. Le système conduit l’agent à l’interface de l’action choisie. L'agent commercial Gérer les prospections S'authentifier Trier les prospections Créer une nouvelle prospection Générer le rapport d'une prospection <<include>> <<extend>> <<extend>> <<extend>> Figure 12: Diagramme des cas d’utilisation « Gérer les prospections»\n31. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 31 Extension (s)  Créer une nouvelle prospection : - L’agent commercial appuie sur le bouton de démarrer une nouvelle prospection, - Le système le conduit à la démarche de prospection proposée par le système ; cette démarche contient les questions que l’agent doit poser au client, - L’agent suit la démarche en remplissant ce questionnaire par les réponses du client, à chaque fois le système se charge de le conduire à la question suivante selon la réponse entrée, à la fin l’agent donne une note et une remarque générale à propos cette prospection, il sélectionne son état final (confirmée, à revoir ou non confirmée) puis il valide. - Le système sauvegarde et calcule la moyenne générale des réponses du client. Cette moyenne avec les remarques de l’agent aideront le superviseur (l’administrateur) à prendre une décision envers ce client (client potentiel ou non potentiel) et à planifier le prochain contact avec lui.  Générer le rapport d’une prospection : - L’agent se pointe sur la prospection en question et appuie sur le bouton de génération du rapport équivalent à cette prospection, - Le système lui génère le fichier PDF contenant les informations concernant cette prospection.  Trier la liste des prospections : - L’agent choisit le critère de tri qu’il veut et valide, - Le système actualise la page en affichant les prospections avec le nouveau tri. Exception (s)  Si les informations tapées lors de l’ajout ou de la modification sont invalides, le système n’effectue pas l’action et signale cette faute par un message d’erreur. Tableau 3: Description formelle du cas d'utilisation « Gérer les prospections »\n32. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 32 E. Raffinement du cas d’utilisation «Consulter les prospections»  Description formelle : Acteur (s) L’administrateur Objectif Consulter la liste des prospections Pré condition L’administrateur doit s’authentifier et accéder à la rubrique des prospections pour qu’il puisse les consulter. Scénario principal 1. L’administrateur accède à la rubrique des prospections. 2. L’administrateur peut choisir l’action qu’il veut effectuer via les boutons offerts par cette rubrique. 3. Le système effectue les traitements nécessaires. Consulter les prospections L'administrateur S'authentifier Trier la liste des prospections Générer le rapport d'une prospection <<include>> <<extend>> <<extend>> Figure 13: Diagramme des cas d’utilisation « Consulter les prospections»\n33. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 33 Extension (s)  Générer le rapport d’une prospection : - L’administrateur se pointe sur la prospection en question et appuie sur le bouton de génération du rapport équivalent à cette prospection, - Le système lui génère le fichier PDF contenant les informations et les recommandations de l’agent concernant cette prospection.  Trier la liste des prospections : - L’administrateur choisit le critère de tri qu’il veut et valide, - Le système actualise la page en affichant les prospections avec le nouveau tri. Exception (s)  En cas de problèmes, le système n’effectue pas l’action en cours et signale le problème par un message d’erreur. Tableau 4: Description formelle du cas d'utilisation « Consulter les prospections »\n34. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 34 F. Raffinement du cas d’utilisation « Consulter les clients »  Description formelle : Acteur (s) L’administrateur Objectif Consulter la liste des clients Pré condition L’administrateur doit s’authentifier et accéder à la rubrique des clients pour qu’il puisse les consulter. Scénario principal 1. L’administrateur accède à la rubrique des clients. 2. L’administrateur peut choisir l’action qu’il veut effectuer via les boutons offerts par cette rubrique. 3. Le système effectue les traitements nécessaires. Extension (s)  Générer le rapport mensuel des clients : -L’administrateur clique sur le bouton de génération du rapport mensuel. - Le système lui génère le fichier PDF contenant des statistiques à propos les clients pendant le mois courant. Consulter les clients L'administrateur S'authentifier Trier la liste des clients Générer le rapport mensuel des clients <<include>> <<extend>> <<extend>> Figure 14: Diagramme des cas d’utilisation « Consulter les clients »\n35. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 35  Trier la liste des clients : - L’administrateur choisit le critère de tri qu’il veut et valide, - Le système actualise la page en affichant les clients avec le nouveau tri. Exception (s)  En cas de problèmes, le système n’effectue pas l’action en cours et signale le problème par un message d’erreur. Tableau 5: Description formelle du diagramme de cas d’utilisation « Consulter les clients » G.Raffinement du cas d’utilisation « Gérer les agents » L'administrateur Gérer les agents s'authentifier Créer un nouvel agent Supprimer un agent Modifier un agent Générer le rapport mensuel des agents Affecter un questionnaire à un agent <<include>> <<extend>> <<extend>> <<extend>> <<extend>> <<extend>> Trier la liste des agents <<extend>> Figure 15: Diagramme des cas d’utilisation « Gérer les agents »\n36. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 36  Description formelle : Acteur (s) L’administrateur Objectif Gérer les agents commerciaux de l’entreprise et suivre leur rendement. Pré condition L’administrateur doit s’authentifier et accéder au panneau des agents pour qu’il puisse les gérer. Scénario principal 1. L’administrateur accède au panneau des clients. 2. L’administrateur peut choisir l’action qu’il veut effectuer via les boutons de l’interface du panneau. 3. Le système conduit l’agent à l’interface de l’action choisie. Extension (s)  Créer un nouvel agent : -L’administrateur appuie sur le bouton d’Ajout, - Le système le conduit à l’interface d’insertion, -L’administrateur tape les informations de l’agent dans le formulaire et valide l’insertion. - Le système insère l’agent dans la base de données.  Modifier un agent : - L’administrateur se pointe sur l’agent qu’il veut modifier et appuie sur le bouton de modification équivalent à cet agent, - Le système le conduit à l’interface de modification, - L’administrateur effectue les modifications seulement sur les coordonnées d’authentification et valide. - Le système enregistre les modifications.  Générer le rapport mensuel des agents : -L’administrateur clique sur le bouton de génération du rapport mensuel. - Le système lui génère le fichier PDF contenant des statistiques à propos le rendement des agents pendant le mois courant.\n37. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 37  Supprimer un agent : - L’administrateur se pointe sur l’agent qu’il veut supprimer et appuie sur le bouton de suppression équivalent à cet agent, - Le système supprime l’agent.  Trier la liste des agents : - L’administrateur choisit le critère de tri qu’il veut et valide, - Le système actualise la page en affichant les agents avec le nouveau tri.  Affecter un questionnaire à un agent : - L’administrateur se pointe sur l’agent à qu’il veut affecter un questionnaire et sélectionne un à partir de la liste de sélection équivalente à cet agent, - Le système prend en considération cette action pour afficher ce questionnaire à l’agent en question. Exception (s)  En cas de problèmes, le système n’effectue pas l’action en cours et signale le problème par un message d’erreur. Tableau 6: Description formelle du diagramme de cas d’utilisation « Gérer les agents »\n38. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 38 H. Raffinement du cas d’utilisation «Gérer les questionnaires »  Description formelle : Acteur (s) L’administrateur Objectif Gérer les questionnaires de l’application. Pré condition L’administrateur doit s’authentifier et accéder au panneau des questionnaires pour qu’il puisse les gérer. Scénario principal 1. L’administrateur accède au panneau des questionnaires. 2. L’administrateur peut choisir l’action qu’il veut effectuer via les boutons de l’interface du panneau. 3. Le système conduit l’administrateur à l’interface de l’action choisie. L'administrateur Gérer les questionnaires S'authentifier Modifier un questionnaire Créer un questionnaire Supprimer un questionnaire <<include>> <<extend>> <<extend>> <<extend>> Figure 16: Diagramme des cas d’utilisation « Gérer les questionnaires »\n39. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 39 Extension (s)  Créer un questionnaire : -L’administrateur appuie sur le bouton d’Ajout, - Le système le conduit à l’interface d’insertion, -L’administrateur crée son questionnaire qui est sous forme de questions et réponses et donne une note pour chaque question qui reflet son importance. Chaque réponse ramène à une question suivante. Cette liaison s’effectue lors de la création du questionnaire aussi (en créant les questions). -Après la validation de l’administrateur, Le système insère le questionnaire dans la base de données.  Modifier un questionnaire : - L’administrateur se pointe sur le questionnaire qu’il veut modifier et appuie sur le bouton de modification équivalent à ce dernier, - Le système le conduit à l’interface de modification, - L’administrateur effectue les modifications et valide. - Le système enregistre les modifications.  Supprimer un questionnaire : - L’administrateur se pointe sur le questionnaire qu’il veut supprimer et appuie sur le bouton de suppression équivalent à ce dernier, - Le système supprime le questionnaire. Exception (s)  En cas de problèmes, le système n’effectue pas l’action en cours et signale le problème par un message d’erreur. Tableau 7: Description formelle du diagramme de cas d’utilisation « Gérer les questionnaires »\n40. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 40 I. Raffinement du cas d’utilisation « Gérer les produits »  Description formelle : Acteur (s) L’administrateur Objectif Gérer la liste des produits. Pré condition L’administrateur doit s’authentifier et accéder au panneau de gestion des produits pour qu’il puisse gérer la liste de ses produits. Scénario principal 1. L’administrateur accède au panneau de gestion des produits. 2. L’administrateur peut choisir l’action qu’il veut effectuer via les boutons de l’interface du panneau. 3. Le système conduit l’administrateur à l’interface de l’action choisie. L'administrateur Gérer les produits S'authentifier Modifier un produit Créer un produit Supprimer un produit <<include>> <<extend>> <<extend>> <<extend>> Figure 17: Diagramme des cas d’utilisation « Gérer les produits »\n41. Chapitre 2 : Spécification des besoins Rapport de projet de fin des études Page 41 Extension (s)  Créer un nouveau produit : -L’administrateur appuie sur le bouton d’Ajout, - Le système le conduit à l’interface d’insertion, -L’administrateur tape les informations du produit dans le formulaire et valide l’insertion. - Le système insère le produit dans la base de données.  Modifier un produit : - L’administrateur se pointe sur le produit qu’il veut modifier et appuie sur le bouton de modification équivalent à ce produit, - Le système le conduit à l’interface de modification, - L’administrateur effectue les modifications et valide. - Le système enregistre les modifications.  Supprimer un produit : - L’administrateur se pointe sur le produit qu’il veut supprimer et appuie sur le bouton de suppression équivalent à ce dernier, - Le système supprime le produit. Exception (s)  Si les informations tapées lors de l’ajout ou de la modification sont invalides (un produit existant par exemple), le système n’effectue pas l’action et signale cette faute par un message d’erreur. Tableau 8: Description Formelle du diagramme des cas d’utilisation « Gérer les produits » Conclusion Dans ce chapitre, nous avons spécifié la méthodologie de développement, les besoins fonctionnels ainsi que les besoins non fonctionnels et les diagrammes des cas d’utilisation, cette étape présente une étude préliminaire pour pouvoir travailler une conception détaillée du projet.\n42. Chapitre 3 : Conception Chapitre 3 Conception o Introduction o Conception au niveau des données o Schéma relationnel o Conception au niveau de l’application o Conception au niveau de la présentation o Conclusion\n43. Chapitre 3 : Conception Rapport de projet de fin des études Page 43 Introduction Avant de commencer la réalisation de notre application et pour arriver au développement d’un système fiable, il est indispensable de suivre une démarche qui définit et modélise le fonctionnement du système d’une manière simple compréhensible et efficace en englobant les différents besoins cités dans la spécification. Au cours de cette phase, nous allons représenter la conception de notre application sur 4 niveaux : au niveau des données c’est-à-dire tous ce qui concerne les classes utilisées, au niveau de l’application c’est-à-dire l’architecture générale et le fonctionnement de l’application, au niveau de la base de données c’est-à-dire le schéma relationnel et au niveau de la présentation c’est-à-dire la charte graphique et la conception des différentes interfaces de l’application. 1. Conception au niveau des données La conception du niveau données permet de mieux spécifier la structure du système tout en décrivant ses règles de gestion afin d’améliorer la compréhension et la lisibilité du diagramme de classes. Cette partie commence par l’identification des classes, puis la présentation des règles de gestion, et enfin le diagramme des classes et la description des attributs. A. Identification des classes Une classe représente la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui le composent. Elle est constituée d'attributs dont les valeurs représentent l'état de l’objet et des méthodes qui sont les opérations applicables aux objets. Les classes qui forment notre application sont les suivantes :  Utilisateur : elle contient les informations concernant les utilisateurs de l’application (Nom, Prénom, Login, Mot de passe, Email…).  Administrateur : elle hérite de la classe Utilisateur et elle représente l’administrateur de l’application.  Agent : elle hérite de la classe Utilisateur et elle représente les Agents.  Client : elle encapsule toutes les informations nécessaires à propos du client.\n44. Chapitre 3 : Conception Rapport de projet de fin des études Page 44  Questionnaire : c’est la classe qui représente les questionnaires créé par l’Administrateur.  Question : ce sont les questions qui forment les questionnaires.  Option : elle représente les choix possibles (les réponses possibles) pour chaque question.  Réponse : elle sauvegarde une réponse d’un client à une question pendant une prospection bien déterminée.  Prospection : elle sauvegarde les informations concernant une prospection réalisée par un Agent à un Client en utilisant un Questionnaire bien déterminé.  Produit : elle contient des informations concernant les produits traités par l’application. B. Règles de gestion Il est possible de définir les règles de gestion (règles de fonctionnement ou règles de calcul) et les règles de relation entre les classes deux à deux pour pouvoir déterminer ultérieurement, les multiplicités des relations qui lient ces classes. Nous présentons dans ce qui suit les principales règles de gestions relatives à notre application :  Une Prospection est réalisée par un seul Agent, un Agent peut faire une ou plusieurs Prospections.  Une Prospection correspond à un seul Client, un Client peut subir une ou plusieurs Prospections.  Un Agent exerce, à la fois, un seul Questionnaire, Un Questionnaire peut être exercé par plusieurs Agents.  Une Prospection contient une ou plusieurs Réponses, une Réponse appartient à une seule Prospection.  Une Réponse correspond à une seule Option, une Option peut être utilisée dans une ou plusieurs Réponses.  Un Questionnaire se compose de plusieurs Questions, une Question appartient à un seul Questionnaire.\n45. Chapitre 3 : Conception Rapport de projet de fin des études Page 45  Une Question possède plusieurs Options, une Option appartient à une seule Question.  Un Produit peut avoir un seul Questionnaire, un Questionnaire ne traite qu’un seul Produit. C. Diagramme des classes Le diagramme de classes décrit et modélise les différentes entités du système. Il montre la structure interne. Il permet de fournir une représentation abstraite des objets du système qui vont interagir pour réaliser les cas d’utilisation. Il s’agit d’une vue statique car on ne tient pas compte du facteur temporel dans le comportement du système. Les principaux éléments de cette vue statique sont les classes et leurs relations : association, généralisation et plusieurs types de dépendances, telles que la réalisation et l’utilisation. Le diagramme de classes représente les différentes classes du système, il détaille le contenu de chaque classe et les relations qui peuvent exister entre elles. La préparation du diagramme de classes est une étape préliminaire pour le commencement du développement, En fait, notre diagramme de classe modélise les classes précédentes ainsi que les relations entre elles.\n46. Chapitre 3 : Conception Rapport de projet de fin des études Page 46 Figure 18: Diagramme des classes Questionnaire +Idquestionnaire: Integer +DateCréation: Date +Créer_Questionnaire(): void +Modifier_Questionnaire(): void +Supprimer_Questionnaire(): void Option +IdOption: Integer +LibelleOption: String +Note: Integer +Ajouter_Option(): void +Supprimer_Option(): void Question +Idquestion: Integer +LibelleQuestion: String +Coefficient: Integer +Créer_Question(): void +Supprimer_Question(): void +Modifier_Question(): void Réponse +IdRéponse: Integer +Remarque: String +Créer_répose(): void Prospection +IdProspection: Integer +DateProspection: Date +Moyenne: Float +RemarqueGénérale: String +NoteAgent: Float +Etat: String +Créer_Prospection(): void +GénérerRapportMensuel(): void Agent +DateCréation: Date +Matricule: String +Ajouter_Agent(): void +Modifer_Agent(): void +Générer_Rapport_Agent(): void Client +IdClient: Integer +Nom: String +Prénom: String +CinPassport: String +Tel: Integer +Adresse: String +Mail: String +DateNess: Date +EtatCiv: String +Profession: String +Société: String +DomaineActivité: String +AdresseSoc: String +TelSoc: Integer +MailSoc: String +Créer_Client(): void +Modifier_Client(): void appartient à ^ 1 1..* correspond à ^ 1..* 1 appartient à ^ 1..* 1 subit ^ 1 1..* possède ^ 1 1..* Administrateur +Modifier_Info_Admin(): void Utilisateur +Id_user: Integer +Nom: String +Prénom: String -Login: String +MotDePasse: String +Email: String +DateNaiss: Date +Adresse: String +Tel: Integer +Authentification(): void +get_MP(): String +set_MP(): void +get_login(): String +set_login(): void Produit +IdProduit: Integer +Ref: String +Prix: Integer +Marque: String +Couleur: String +Caractéristiques: String +Ajouter_produit(): void +Modifier_produit(): void +Supprimer_produit(): void à propos ^ 1 1 est suivie par ^ 1 1..* répond à ^ +2..* 1 Exercé par ^ 1..* 1\n47. Chapitre 3 : Conception Rapport de projet de fin des études Page 47 D. Description des attributs Tableau 9: Description des attributs de la classe Produit Tableau 10: Description des attributs de la classe Questionnaire Tableau 11: Description des attributs de la classe Question Les attributs de la classe Produit L’attribut La description IdProduit L’identifiant du produit Ref La référence du produit Prix Le prix du produit Marque La marque du produit Couleur La couleur dominante du produit Caractéristiques Les caractéristiques principales du produit Les attributs de la classe Questionnaire L’attribut La description IdQuestionnaire L’identifiant du questionnaire Date de création La date de sa création Les attributs de la classe Question L’attribut La description IdQuestion L’identifiant de la Question LibelleQuestion Le texte de la question Coefficient Le coefficient accordé à cette question\n48. Chapitre 3 : Conception Rapport de projet de fin des études Page 48 Les attributs de la classe Option L’attribut La description IdOption L’identifiant de l’option LibelleOption Le texte de l’option Tableau 12: Description des attributs de la classe Option Les attributs de la classe Client L’attribut La description IdClient L’identifiant du client Nom Le nom du client Prénom Le prénom du client CINPasseport Le numéro de la carte d’identité nationale ou le numéro du passeport du client Tel Le numéro du téléphone du client Adresse L’adresse du client Mail L’adresse mail du client DateNess La date de naissance du client EtatCiv L’état civil du client Profession La profession du client Société La société dans laquelle il travail le client DomaineActivité Le domaine d’activité de la société du client AdresseSoc L’adresse de la société TelSoc Le numéro du téléphone de la société MailSoc L’Email de la société Tableau 13: Description des attributs de la classe Client Les attributs de la classe Réponse L’attribut La description IdRéponse L’identifiant de la réponse Remarque La remarque de l’Agent à propos cette réponse Tableau 14: Description des attributs de la classe Réponse\n49. Chapitre 3 : Conception Rapport de projet de fin des études Page 49 Les attributs de la classe Administrateur L’attribut La description IdUser L’identifiant de l’utilisateur Nom Le nom de l’utilisateur Prénom Le prénom de l’utilisateur Login Le login de l’utilisateur MotDePasse Le mot de passe de l’utilisateur Email L’email de l’utilisateur DateNaiss La date de naissance de l’utilisateur Adresse L’adresse de l’utilisateur Tel Le numéro de téléphone de l’utilisateur Tableau 15: Description des attributs de la classe Administrateur Les attributs de la classe Agent L’attribut La description IdUser L’identifiant de l’utilisateur Nom Le nom de l’utilisateur Prénom Le prénom de l’utilisateur Login Le login de l’utilisateur MotDePasse Le mot de passe de l’utilisateur Email L’email de l’utilisateur DateNaiss La date de naissance de l’utilisateur Adresse L’adresse de l’utilisateur Tel Le numéro de téléphone de l’utilisateur DateCréation La date de création du compte de cet Agent Matricule La matricule de l’Agent Tableau 16: Description des attributs de la classe Agent\n50. Chapitre 3 : Conception Rapport de projet de fin des études Page 50 Les attributs de la classe Prospection L’attribut La description IdProspection L’identifiant de la prospection DateProspection La date de création de la prospection Moyenne La moyenne de la prospection calculée par l’application RemarqueGénérale La remarque générale de l’Agent à propos la prospection NoteAgent La note donnée par l’Agent Etat L’état de la prospection : Confirmée : le client a confirmé l’achat du produit, a revoir : un autre contact avec le client peut donner naissance à un achat, non confirmé : le client ne veut pas acheter le produit. Tableau 17: Description des attributs de la classe Prospection 2. Schéma relationnel Après avoir établi notre diagramme de classes, nous déduisons le modèle relationnel de la base de données suivant :  Produit (IdProduit, Ref, Prix, Marque, Couleur, Caractéristiques) ;  Questionnaire (IdQuestionnaire, DateCréation, #Produit) ;  Question (IdQuestion, LibelleQuestion, Coefficient, #Questionnaire) ;  Option (IdOption, LibelleOption, Note, #Question, #Question_suivante) ;  Réponse (IdRéponse, Remarque, #Option, #Prospection) ;  Client (IdClient, Nom, Prénom, CINPasseport, Tel, Adresse, Mail, DateNaiss, EtatCiv, Profession, Société, DomaineActivité, AdresseSoc, TelSoc, MailSoc) ;  Administrateur (Id_User, Nom, Prénom, Login, MotDePasse, Email, DateNaiss, Adresse, Tel) ;  Agent (Id_User, Nom, Prénom, Login, MotDePasse, Email, DateNaiss, Adresse, Tel, DateCréation, Matricule, #Questionnaire) ;  Prospection (IdProspection, DateProspection, Moyenne, RemarqueGénérale, Récomendations, NoteAgent, Etat, #Agent, #Client) ;\n51. Chapitre 3 : Conception Rapport de projet de fin des études Page 51  Contraintes d’intégrité référentielles : - Questionnaire (Produit) ⊂Produit (IdProduit) - Question (Questionnaire) ⊂Questionnaire (IdQuestionnaire) - Option (Question) ⊂Question (IdQuestion) - Option (Question_suivante) ⊂Question (IdQuestion) - Réponse (Option) ⊂Option (IdOption) - Réponse (Prospection) ⊂Prospection (IdProspection) - Agent (Questionnaire) ⊂Questionnaire (IdQuestionnaire) - Prospection (Agent) ⊂Agent (IdAgent) - Prospection (Client) ⊂Client (IdClient) 3. Conception au niveau de l’application Dans cette partie, nous allons présenter l’architecture globale de la solution, le diagramme de déploiement et les diagrammes de séquences. Ce qui nous permettra de visualiser l’infrastructure physique de notre future application et son aspect temporel. A. Architecture globale de la solution Généralement, la création des sites et applications web est effectuée selon l’architecture trois tiers, cette architecture est un modèle logique d’architecture applicative qui vise à séparer très nettement trois couches logicielles au sein d’une même application ou système, à modéliser et présenter cette application comme un empilement de trois couches :  La couche présentation associée au client où il n'assume aucune fonction du traitement.  La couche fonctionnelle est une couche intermédiaire entre la présentation et celle des données qui est chargée de fournir les ressources.  La couche de données où ces données sont stockées et appelées dès qu’il est nécessaire d’accéder aux informations.\n52. Chapitre 3 : Conception Rapport de projet de fin des études Page 52 Les avantages de cette architecture sont multiples :  La manipulation des données est indépendante du support physique du stockage.  La maintenance des traitements est facilitée.  La vision des traitements depuis la couche présentation est amplement simplifiée.  Le travail en équipe est optimisé. La figure 19 présente l’architecture 3tiers : o Utilisateur : c’est l’ordinateur, demandeur de ressources, équipée d’une interface (IHM) Utilisateur (généralement un navigateur web) chargée de la présentation, o Le serveur d’application : appelé également middleware, chargé de fournir la ressource mais faisant appel à un autre serveur, o La base de données : fournissant au serveur d'application les données dont il a besoin. Figure 19: Structure d’une architecture trois tiers\n53. Chapitre 3 : Conception Rapport de projet de fin des études Page 53 <<JDBC>> <<HTTP>> Serveur de données <<JDBC>><<JDBC>> Base de données MySQL Requete SQL Serveur d'application <<JDBC>><<JDBC>> <<HTTP>><<HTTP>> Ma application Requete de transmission Client <<HTTP>><<HTTP>> Navigateur Web Utilisateur B. Diagrammes de déploiement Le diagramme de déploiement est une vue statique qui sert à représenter l’utilisation de l’infrastructure physique par le système et la manière dont les composants du système sont répartis ainsi que leurs relations entre eux. Figure 20: Le diagramme de déploiement de l’application\n54. Chapitre 3 : Conception Rapport de projet de fin des études Page 54 La figure 20 représente le diagramme de déploiement de notre application. Elle est déployée sur trois tiers :  Client : C'est le navigateur, son rôle est d'afficher les données transmises par le serveur.  Serveur d’application : Contient notre application web respectant l'architecture logicielle MVC, c'est le noyau de notre système.  Serveur données : La partie persistance de l'application, elle contient le système de gestion de base de données (mysql). C. Diagrammes de séquences Le diagramme de séquences permet de visualiser l’aspect temporel des interactions Acteur/Système et de connaître le sens de ces interactions (acteur vers système ou contraire). Dans un souci de simplification, on représente l'acteur principal à gauche du diagramme, et les acteurs secondaires éventuels à droite du système. Le but étant de décrire comment se déroulent les actions entre les acteurs ou objets. La dimension verticale du diagramme représente le temps, permettant de visualiser l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages. Parmi les scénarios importants dans notre application, nous choisissons les scénarios relatifs aux actions suivantes, afin de les présenter sous forme de diagrammes de séquences:  L’authentification,  La création d’une prospection,  La création d’un questionnaire,  La création d’un Agent.\n55. Chapitre 3 : Conception Rapport de projet de fin des études Page 55 C.1. Diagramme de séquences « Authentification » : Figure 21: Diagramme de séquences « Authentification » Authentification Redirection à l'espace Agent Redirection à l'espace Administrateur Message de bienvenue Agent Il s'agit d'un Agent Message de bienvenue Administrateur Il s'agit d'un administrateur Connection en cours Identification ( Administrateur / Agent) Message d'erreur: Les informations entrées sont inexistantes Informations inexistantes Réponse Recherche des informations dans la BDD Envoie des informations pour la vérification Erreur: Vérifier les informations Valider Vérifier la validité des informations Introduire mot de passe Introduire Login Utilisateur Interface d' authentification Classe Utilisateur Controleur classe Utilisateur [Validité = Faux]loop Réponse = Faux Réponse = Vrai alt Validité = Faux Validité = Vrai alt Administrateur = Vrai Administrateur = Faux alt Redirection à l'espace Agent Redirection à l'espace Administrateur Message de bienvenue Agent Il s'agit d'un Agent Message de bienvenue Administrateur Il s'agit d'un administrateur Connection en cours Identification ( Administrateur / Agent) Message d'erreur: Les informations entrées sont inexistantes Informations inexistantes Réponse Recherche des informations dans la BDD Envoie des informations pour la vérification Erreur: Vérifier les informations Valider Vérifier la validité des informations Introduire mot de passe Introduire Login\n56. Chapitre 3 : Conception Rapport de projet de fin des études Page 56 La figure 21 décrit le déroulement de l’authentification dans notre application. Pour s’authentifier, l’utilisateur (Administrateur ou Agent) doit accéder au formulaire d’authentification, puis il saisit son login et son mot de passe. Après la validation des coordonnées, le système identifie s’il s’agit d’un administrateur ou un agent puis il le redirige vers son espace personnel.\n57. Chapitre 3 : Conception Rapport de projet de fin des études Page 57 C.2. Diagramme de séquences « Création d’une prospection » Figure 22: Diagramme de séquences « Création d’une prospection » Création d'une prospection Sélectionner l'état de la prospection Génération des recommandations selon la Moyenne générale Retourner la moyenne générale et les recommandations pour l'affichage Succès d'ajout et affichage des informations fianles Succès Ajout de la prospection dans la BD Calcul de la moyenne générale de la prospection Envoie des informations à partir du formulaireValider Introduire la remarque générale Introduire la note de l'agent Affichage du formulaire final du questionnaire Réponse sauvegardée Réponse ajoutée à la BD introduire la remarque Choisir une option Vérifir la fin du questionnaire Demander la Nème question Fournir les informations du questionnaire Succès Sauvegarde de la réponse dans la BD Envoie de la réponse Valider Affichage des options Fournir les options Réponse: les options de la Nème question Récupérer les options de la Nème question Affichage de la Nème question Fournir la Nème Question Réponse par la Nème question Récupérer la Nème Question du questionnaire Affichage des informations Demander le questionnaire Ajouter une nouvelle prospection Réponse par les informations à propos le questionnaire Récupérer les informations à propos le questionnaire de la BD Agent Interface du panneau des prospections Controleur classe Questionnaire Controleur classe Réponse Controleur classe Prospection Controleur classe Question Base de données Controleur classe option ref Authentification() [Fin questionnaire = Faux]loop Sélectionner l'état de la prospection Génération des recommandations selon la Moyenne générale Retourner la moyenne générale et les recommandations pour l'affichage Succès d'ajout et affichage des informations fianles Succès Ajout de la prospection dans la BD Calcul de la moyenne générale de la prospection Envoie des informations à partir du formulaireValider Introduire la remarque générale Introduire la note de l'agent Affichage du formulaire final du questionnaire Réponse sauvegardée Réponse ajoutée à la BD introduire la remarque Choisir une option Vérifir la fin du questionnaire Demander la Nème question Fournir les informations du questionnaire Succès Sauvegarde de la réponse dans la BD Envoie de la réponse Valider Affichage des options Fournir les options Réponse: les options de la Nème question Récupérer les options de la Nème question Affichage de la Nème question Fournir la Nème Question Réponse par la Nème question Récupérer la Nème Question du questionnaire Affichage des informations Demander le questionnaire Ajouter une nouvelle prospection Réponse par les informations à propos le questionnaire Récupérer les informations à propos le questionnaire de la BD\n58. Chapitre 3 : Conception Rapport de projet de fin des études Page 58 La figure 22 décrit le déroulement de la création d’une prospection dans notre application. Afin de créer une prospection, l’Agent doit accéder au panneau des prospections et clique sur le bouton d’ajout, puis il répond aux questions une par une jusqu’à la fin du questionnaire. A chaque fois, l’application se charge d’afficher la question suivante selon la réponse entrée. A la fin du questionnaire, l’Agent donne une note et une remarque générale à propos cette prospection, et sélectionne l’état finale de la prospection (Confirmée, è revoir ou non confirmée) et valide, puis le système calcul et affiche la moyenne finale de la prospection et la sauvegarde dans la base de données.\n59. Chapitre 3 : Conception Rapport de projet de fin des études Page 59 C.3. Diagramme de séquences « Création d’un questionnaire » La figure 23 décrit le déroulement de la création d’un questionnaire dans notre application. Afin de créer un questionnaire, l’Administrateur doit accéder au panneau des questionnaires et clique sur le bouton d’ajout, puis il commence à créer les questions une après une. L’hors de la création des questions, l’administrateur relie chaque question par celles qui la succède, de façon que chaque option d’une question mène à une autre question. Création d'un questionnaire Nouveau questionnaire ajouté Succès Ajout du nouveau questionnaire dans la BD Envoie des informations pour les sauvegarder les options ont étaient ajoutées Succès Ajout des options correspondante à la question dans la BD Envoie des informations pour les sauvegarder La nouvelle question a été ajoutée Succès Envoie des informations pour les sauvegarder Ajout d'une nouvelle question dans la BD Sccès de création de la question Valider Affichage de la fenetre d'ajout d'une question Ajouter une question au questionnaire Réponse par les produits Récupérer les produits de la base de données Succès d'Ajout du questionnaire Valider pour l'ajout du questionnaire Saisir le coefficient de la question et choisir la question qui la succède Saisir les réponses possible et leurs notes Saisir la question Sélectionner le produit concerné Affichage de l'interface d'ajout Fournir la liste des produits Demande de la liste des produits Ajouter une nouveau questionnaire Administrateur Interface du panneau des questionnaire Controleur classe Questionnaire Controleur classe Question Controleur de la classe Produit Controleur de la classe Option Base de données ref Authentification() Nouveau questionnaire ajouté Succès Ajout du nouveau questionnaire dans la BD Envoie des informations pour les sauvegarder les options ont étaient ajoutées Succès Ajout des options correspondante à la question dans la BD Envoie des informations pour les sauvegarder La nouvelle question a été ajoutée Succès Envoie des informations pour les sauvegarder Ajout d'une nouvelle question dans la BD Sccès de création de la question Valider Affichage de la fenetre d'ajout d'une question Ajouter une question au questionnaire Réponse par les produits Récupérer les produits de la base de données Succès d'Ajout du questionnaire Valider pour l'ajout du questionnaire Saisir le coefficient de la question et choisir la question qui la succède Saisir les réponses possible et leurs notes Saisir la question Sélectionner le produit concerné Affichage de l'interface d'ajout Fournir la liste des produits Demande de la liste des produits Ajouter une nouveau questionnaire Figure 23: Diagramme de séquences « Création d’un questionnaire »\n60. Chapitre 3 : Conception Rapport de projet de fin des études Page 60 Création d'un Agent Succès d'ajout Notification de succès Requete d'ajout Envoie des informations pour la sauvegarde Création en cours Erreur: vérifier la validité des informations Vérifier la validité des informations Valider Saisie des informations de l'agent Affichage de l'interface d'Ajout Ajout d'un nouvel Agent Administrateur Interface du panneau des Agents Controleur de la classe Agent Classe Agent ref Authentification() [Validité = Vrai ]loop Validité = Faux Validité = Vrai alt Succès d'ajout Notification de succès Requete d'ajout Envoie des informations pour la sauvegarde Création en cours Erreur: vérifier la validité des informations Vérifier la validité des informations Valider Saisie des informations de l'agent Affichage de l'interface d'Ajout Ajout d'un nouvel Agent Après avoir ajouter toutes les questions, l’Administrateur valide pour que le système ajoute le nouveau questionnaire à la base de données. C.4. Diagramme de séquences « Création d’un Agent » Figure 24: Diagramme de séquences « Création d’un Agent »\n61. Chapitre 3 : Conception Rapport de projet de fin des études Page 61 La figure 24 décrit le déroulement de la création d’un Agent dans notre application. Pour créer un nouvel Agent, l’Administrateur doit accéder au panneau des Agents et clique sur le bouton d’ajout, puis il commence à remplir le formulaire d’ajout par les informations de cet agent. A la fin, l’Administrateur valide pour que le système vérifie la validité des informations et ajoute le nouvel Agent à la base de données si ces dernières sont valides. 4. Conception au niveau de Présentation La conception du niveau présentation permet de spécifier le modèle de navigation de notre application ainsi que sa structure et la charte graphique utilisée. A. Modèle de navigation Nous avons choisi, pour notre application web, la structure en évolution qui l’indique la Figure 25 : Cette structure permet de garder un équilibre entre les différents blocs d'informations et de maintenir une hiérarchisation équilibrée qui aidera l'accès rapide à l'information et une compréhension intuitive de la façon dont les différentes pages sont organisées. Figure 25: La structure en évolution\n62. Chapitre 3 : Conception Rapport de projet de fin des études Page 62 B. La structure de l’application Notre application est composée de 2 parties : un espace pour l’Administrateur et un espace pour l’Agent comme le montre la figure 26 : Dans chaque espace on trouve les rubriques qui sont lui associées :  Espace Administrateur : On trouve sous l’espace Administrateur 6 rubriques : Son profil personnel, le panneau de gestion des agents, le panneau de gestion des questionnaires, le panneau de consultation des prospections, le panneau de consultation des clients et le panneau de gestion des produits. Figure 26: Structure globale de l’application Figure 27: Structure de l'espace Administrateur\n63. Chapitre 3 : Conception Rapport de projet de fin des études Page 63  Espace Agent : On trouve sous l’espace Agent 3 rubriques : Son profil personnel, le panneau de gestion des prospections et le panneau de gestion des clients. C. La charte graphique Le but de la charte graphique est de conserver une cohérence graphique dans les réalisations graphiques d’un même projet pour cela, nous avons choisi la structure suivante pour toutes les interfaces de notre application : Figure 28: Structure de l’espace Agent Figure 29: Structure générale des interfaces\n64. Chapitre 3 : Conception Rapport de projet de fin des études Page 64 La figure 29 montre la structure générale des interfaces de notre application et la disposition de ces différentes parties : Le « header » en haut de la page il contient le nom de l’application, son logo, le message de bienvenue, l’heure, la date et le bouton de déconnexion. En dessous de lui se trouve la barre de chemin qui aide l’utilisateur à référencer sont emplacement dans l’application. La zone principale qui est la plus grande, elle affiche l’interface relative au panneau sélectionné. Le menue principal à gauche. Sous la zone principale se trouve une barre qui contient des fonctionnalités qui varient selon le panneau sélectionné (pagination, tri, ajout…). Enfin, le « footer » en bas et contient le copyright de l’application. Conclusion Dans ce chapitre, nous avons présentés une conception détaillée de notre projet afin d'avoir le passage souple et facile à l'étape suivante qui est la réalisation où nous allons concentrer sur l'implémentation.\n65. Chapitre 4 : Réalisation Chapitre 4 Réalisation o Introduction o L’environnement de travail o Choix techniques o Présentation et description des interfaces o Conclusion\n66. Chapitre 4 : Réalisation Rapport de projet de fin des études Page 66 Introduction Dans ce chapitre nous allons décrire l’implémentation de notre application : la description technique de l’environnement de travail (environnement matériel et environnement logiciel), la justification de nos choix techniques, la présentation de l’architecture MVC ainsi que le Framework Symfony 2 et quelques interfaces graphiques de notre application. 1. L’environnement de travail Dans cette partie nous allons présenter l’environnement de travail (matériel et logiciel) dans lequel nous avons développé notre application. A. Environnement matériel Pour la réalisation de l’application nous avons utilisé un ordinateur qui nous a permis de traiter et d’installer plusieurs logiciels. Dans ce qui suit, les principales caractéristiques de cet ordinateur:  Marque et Model : Asus Eee PC 1215P  Processeur : Intel® Atom™ N550 (Dual Core; 1.5GHz)  Disque Dur : 2.5" SATA 500GB  RAM: DDR 2 4GB B. Environnement Logiciel Dans cette partie nous allons présenter les logiciels utilisés pour la réalisation de notre application. B.1. Ubuntu 12.4 : Le Système d’exploitation Ubuntu est une alternative à Windows, qui a pour avantages : Facilité d'utilisation, liberté, gratuité, modularité et Sécurité. Après une petite recherche sur le web, on a constaté qu’Ubuntu est un système d’exploitation qui regroupe beaucoup d’outils très pratique pour un développeur web (PHP en l'occurrence).\n67. Chapitre 4 : Réalisation Rapport de projet de fin des études Page 67 B.2. StarUML : L’Outil de conception UML StarUML est une plate-forme de modélisation avec le langage UML open source qui gère la plupart des diagrammes spécifiés dans la norme UML 2.0 qui est caractérisée par une forte flexibilité et une excellente extensibilité de ses fonctionnalités. B.3. Eclipse Kepler : L’Environnement de développement Intégrés Eclipse est ce qu'on appelle un IDE ou "Environnement de développement intégré". C'est un logiciel qui permet d'écrire un programme beaucoup plus facilement qu'avec le simple éditeur de texte. Outre la coloration du code, il apportera des outils très pratiques pour compiler les programmes, les déboguer, etc.... B.4. GitHub : Système de gestion de développement collaboratif GitHub est un service Web d’hébergement et de gestion de développement de logiciels, utilisant le programme Git. Il permet de créer des projets et partager le code par GitHub. Il fournit toutes les fonctionnalités de type réseaux sociaux : flux, suivi de personnes ou de projets, graphes de réseau pour les dépôts, etc… il permet également de suivre le projet et apporter des changements dans la version du code. GitHub utilise le système de contrôle de révision Git. Ce dernier est un système de contrôle de révision mis au point pour le développement du noyau Linux. La figure 30 présente l’interface de notre projet dans GitHub :\n68. Chapitre 4 : Réalisation Rapport de projet de fin des études Page 68 L’interface de GitHub contient, au dessous du menu de navigation, une barre qui contient le nombre de « commit » réalisé sur le projet, le nombre de branches, le nombre de releases et le nombre de contributeurs dans le projet. Puis on trouve l’espace des dossiers et des fichiers composant le projet avec la date de la dernière modification effectué à chacun d’eux. A droite on trouve le panneau de gestion du projet qui permet d’effectuer les opérations de suppression, modification, restauration… On a utilisé l’outil GitHub pour contribuer au travail de la communauté internationale de Symfony et pour bénéficier des bundles déjà créer dans ce grand espace de stockage de travaux collaboratifs dans le monde. Le travail en group été très facile et pratique en utilisant cet outil. Figure 30: L’interface de notre projet dans GitHub\n69. Chapitre 4 : Réalisation Rapport de projet de fin des études Page 69 B.5. Pencil Project : Logiciel de conception des interfaces graphiques Pencil Project est un outil de modélisation de diagramme et de prototypage d'interface graphique utilisateur (GUI) à la prise en main rapide. L'application offre différentes formes et gadgets personnalisables dont la plupart sont des contrôles Windows. Pencil Project comprend un éditeur WYSIWYG ainsi que des fonctions nécessaires au positionnement et à la manipulation des éléments. Le module complémentaire permet d'exporter le travail au format .EPZ ou .PNG. La figure 31 suivante représente l’espace de travail de notre application dans Pencil Project : Dans l’espace de travail de Pencil Project, on trouve à droite la bibliothèque des contrôles (Windows, Android, iOs…) : des boutons, des barres de recherches, des champs de texte, des listes de sélection, des boutons radio, des cases à cocher etc. Au milieu, se trouve l’espace de travail ou on crée l’interface résultat. Au dessus de l’espace de travail se trouve la barre de navigation entre les onglets contenant les différentes interfaces qui composent l’application. Cet outil nous a aidés à construire une conception graphique claire pour notre application, ce qui nous a facilité la tache du développement après. Figure 31: L’espace de travail de Pencil Project


Délinquance: Cazeneuve installe un service statistique à l'Intérieur - La Croix\nDélinquance: Cazeneuve installe un service statistique à l'Intérieur\nAFP , le 01/09/2014 à 14h35\nLe ministre de l'Intérieur Bernard Cazeneuve à l'Elysée, le 9 juillet 2014 / AFP/Archives\nLe ministre de l'Intérieur, Bernard Cazeneuve, a officiellement installé lundi un nouveau service statistique de la délinquance dans son ministère dans un souci de "fiabilité" sur ces chiffres qui opposent souvent gouvernement et opposition.\nLe SSM, ajoute M. Cazeneuve, doit "intégrer les statistiques de la délinquance enregistrée" par la police et la gendarmerie "dans le champ labellisé de la statistique publique", ce qui n'était pas le cas jusqu'ici. Le SSM sera composé de statisticiens et dirigé par un inspecteur général de l'Institut national de la statistique et des études économiques (Insee).\nIl a pour mission,, selon le ministre, de "garantir la sincérité, la fiabilité et la rigueur de la production des données statistiques" de l'Intérieur et "un accès transparent à tous" comme "peuvent l'être par exemple les statistiques économiques".\nM. Cazeneuve précise avoir proposé aux présidents de la commission des lois de l'Assemblée nationale et du Sénat "de venir chaque semestre" devant les parlementaires - accompagnés des responsables du SSM, de la police et de la gendarmerie - afin de leur présenter les données issues de ce service.\nLe gouvernement socialiste a été à plusieurs reprises attaqué sur son bilan par la droite à l'occasion de la publication des chiffres officiels de la délinquance. Sitôt installé, il avait promis de "moderniser l'outil statistique" en 2014, ce qui passait notamment, avait-il promis, par la création de ce service à Beauvau.\nLe ministre de l'Intérieur Bernard Cazeneuve à l'Elysée, le 9 juillet 2014\nAFP, le 31/10/2014 à 13h35