Résumé
Ce document englobe mon projet de fin d’étude réalisé dans le but d’obtenir le diplôme national d’ingénieur en informatique de l’école supérieure privée d’ingénierie et de technologies
(ESPRIT), suite à un stage qui a duré six mois effectués au sein de l’entreprise « DREAM TEK Consulting ». Un stage qui avait principalement pour objectif d’élargir et d’appliquer mes acquis et mes connaissances et de me préparer pour la vie professionnelle.
Ma mission était de concevoir et de réaliser une application web pour le Dashboarding et l’automatisation de la gestion des ressources RH et des produits de l’entreprise.
Ce rapport vous donne une idée bien détaillée sur le projet dans son cadre techniqueet fonctionnel.
********************************************************************
Abstract
The present document contains the details of the work done as the end-of-study project to get the national degree of IT engineering from the private higher school of engineering
and technology (ESPRIT), after a six-month internship in the firm « DREAM TEK Consulting ». An internship that aimed to expand and apply my skills and knowledge.
My mission was to design and implement a web application for dashboarding and automating the management of HR resources and the company products.
This document offers a very detailed idea about the project in both technical and functional scopes.
Résumé
Ce document englobe mon projet de fin d’étude réalisé dans le but d’obtenir le diplôme national d’ingénieur en informatique de l’école supérieure privée d’ingénierie et de technologies
(ESPRIT), suite à un stage qui a duré six mois effectués au sein de l’entreprise « DREAM TEK Consulting ». Un stage qui avait principalement pour objectif d’élargir et d’appliquer mes acquis et mes connaissances et de me préparer pour la vie professionnelle.
Ma mission était de concevoir et de réaliser une application web pour le Dashboarding et l’automatisation de la gestion des ressources RH et des produits de l’entreprise.
Ce rapport vous donne une idée bien détaillée sur le projet dans son cadre techniqueet fonctionnel.
********************************************************************
Abstract
The present document contains the details of the work done as the end-of-study project to get the national degree of IT engineering from the private higher school of engineering
and technology (ESPRIT), after a six-month internship in the firm « DREAM TEK Consulting ». An internship that aimed to expand and apply my skills and knowledge.
My mission was to design and implement a web application for dashboarding and automating the management of HR resources and the company products.
This document offers a very detailed idea about the project in both technical and functional scopes.
Rapport du Projet fin d'études: " Application pour la gestion des conférences Internationles "
PS: Si vous avez besoin de l'aide ou d'une assistance de ma part, veuillez m'envoyer un Email: ayoub.haddouch@gmail.com
Bien Cordialement,
Présenté en vue de l’obtention du
Diplôme : Mastère Professionnel en Ingénierie des Logiciels et des Connaissance
Conception et Développement d’une Application web Pour le Service De Remorquage
Conception et developpement d'une application mobile Android e-locationALALSYSE
La quatrième année d'études en Informatique (Maitrise Informatique) à l'UFR des Sciences Appliquées et Technologie de l'Université Gaston Berger de Saint Louis du Sénégal se termine par un mémoire. Il sera l'occasion pour l'étudiant de montrer qu'il a acquis une connaissance non seulement théorique mais aussi pratique de ces conventions. Ainsi dans ce travail de fin de la maitrise en informatique, on a voulu associer trois grandes activités qui sont, à la base, très éloignées l'une de l'autre mais qui, avec l'amélioration croissante des nouvelles technologies, sont vouées à être fusionnées. Il s'agit de la programmation mobile Android, le NOSQL et les services web.
Notre défi est donc de réaliser un projet innovant, utile et lié à l’actualité. Nous devons développer une application mobile Android e-location. D'où l'objet de la rédaction du présent rapport
réalisation une application web de gestion des informations météorologiquesMedk Salhi
Projet de fin étude pour l'obtention de licence en informatique sujet : conception et la réalisation une application web qui gère
et affiche ces informations météorologiques.
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
La conception et la réalisation d’une plateforme de
gestion commerciale , réalisé par Daoudi Ayoub, Jirou Mohsin et Bourass Karim au sein de l'entreprise Grafimage, ceci rentre dans le cadre de projet de Fin d'année en 4 ème année Génie informatique à l'ENSA d'Agadir.
Conception et développement d'une application Android pour TUNISAIRSkander Driss
Le sujet présenté dans ce rapport consiste à concevoir et à développer une application mobile.
Réalisé par Driss Skander & Touzri Malek.
Pour plus d'informations veuillez me contacter sur : skanderdriss@gmail.com
- Le présent travail s'inscrit dans le cadre du projet de fin d'études en vue de l'obtention du diplôme de licence appliquée en systèmes informatiques et logiciels de l'Institut
Supérieur d'Informatique et Mathématiques de Monastir (ISIMM).
- Mon projet s'intitule "Conception d’une plateforme Web générique pour l’apprentissage ludique des connaissances basiques en classes primaires".
- J'ai validé ma soutenance le 02/07/2021 avec la mention "Excellent".
Développement et conception d'une application de générateur des QR Code Dynam...shili khadija
Développement et conception d'une application de générateur des QR Code Dynamique:
-Génération des QR Codes Dynamique et personnalisé et Statique
-Gestion des QR Codes (Modification du Contenu et design, suppression téléchargement et archivage).
-langages et framework: php7, cakephp3.x, angular js1.x,bootstrap
rapport final Conception d’un système d’aide à la décision aux compagne ma...HICHAMLATRECHE1
La thématique principale de ce travail se fait dans le cadre du
mémoire de stage de fin d’étude afin d’obtenir notre diplôme de licence
professionnelle en informatique décisionnelle qui concerne la
conception d’un système d’aide à la prise des décisions aux campagnes
marketing et commerciales dans les entreprises.
Afin de bien comprendre les concepts, nous avons effectués un
état des lieux qui nous a permis de comprendre le système décisionnel
de de déceler ces limites. Pour pallier à ces limites, nous avons fixé
comme objectif : la réalisation d'un système qui aidera à obtenir les
résultats finaux voulus, et par la suite nous avons implémenté un cahier
de charge qui passe par une analyse du système existant, une conception
de la zone d’entreposage, par une implémentation et un déploiement de
l’entrepôt des données.
Pour éviter l’effet tunnel, nous nous sommes appuyés sur l’une des
méthodes de gestion des projets les plus utilisés du moment qui est la
méthode agile tout en découpant les sprints selon le principe SMART.
Tout ceci va se faire en suivant les règles éditées par les deux pères
fondateurs de l’entrepôt de données : William H. Inmon l’inventeur du
concept et Ralph Kimball. Une fois l’entrepôt de données construites,
nous avons fait une analyse de données en utilisant Python pour tirer les
indicateurs de performance KPI des compagnes marketing et
commerciales à partir des données précédentes ; afin de présenter ces
KPIs dans la partie d’usage des outils de Reporting comme PowerBI.
Rapport du Projet fin d'études: " Application pour la gestion des conférences Internationles "
PS: Si vous avez besoin de l'aide ou d'une assistance de ma part, veuillez m'envoyer un Email: ayoub.haddouch@gmail.com
Bien Cordialement,
Présenté en vue de l’obtention du
Diplôme : Mastère Professionnel en Ingénierie des Logiciels et des Connaissance
Conception et Développement d’une Application web Pour le Service De Remorquage
Conception et developpement d'une application mobile Android e-locationALALSYSE
La quatrième année d'études en Informatique (Maitrise Informatique) à l'UFR des Sciences Appliquées et Technologie de l'Université Gaston Berger de Saint Louis du Sénégal se termine par un mémoire. Il sera l'occasion pour l'étudiant de montrer qu'il a acquis une connaissance non seulement théorique mais aussi pratique de ces conventions. Ainsi dans ce travail de fin de la maitrise en informatique, on a voulu associer trois grandes activités qui sont, à la base, très éloignées l'une de l'autre mais qui, avec l'amélioration croissante des nouvelles technologies, sont vouées à être fusionnées. Il s'agit de la programmation mobile Android, le NOSQL et les services web.
Notre défi est donc de réaliser un projet innovant, utile et lié à l’actualité. Nous devons développer une application mobile Android e-location. D'où l'objet de la rédaction du présent rapport
réalisation une application web de gestion des informations météorologiquesMedk Salhi
Projet de fin étude pour l'obtention de licence en informatique sujet : conception et la réalisation une application web qui gère
et affiche ces informations météorologiques.
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
La conception et la réalisation d’une plateforme de
gestion commerciale , réalisé par Daoudi Ayoub, Jirou Mohsin et Bourass Karim au sein de l'entreprise Grafimage, ceci rentre dans le cadre de projet de Fin d'année en 4 ème année Génie informatique à l'ENSA d'Agadir.
Conception et développement d'une application Android pour TUNISAIRSkander Driss
Le sujet présenté dans ce rapport consiste à concevoir et à développer une application mobile.
Réalisé par Driss Skander & Touzri Malek.
Pour plus d'informations veuillez me contacter sur : skanderdriss@gmail.com
- Le présent travail s'inscrit dans le cadre du projet de fin d'études en vue de l'obtention du diplôme de licence appliquée en systèmes informatiques et logiciels de l'Institut
Supérieur d'Informatique et Mathématiques de Monastir (ISIMM).
- Mon projet s'intitule "Conception d’une plateforme Web générique pour l’apprentissage ludique des connaissances basiques en classes primaires".
- J'ai validé ma soutenance le 02/07/2021 avec la mention "Excellent".
Développement et conception d'une application de générateur des QR Code Dynam...shili khadija
Développement et conception d'une application de générateur des QR Code Dynamique:
-Génération des QR Codes Dynamique et personnalisé et Statique
-Gestion des QR Codes (Modification du Contenu et design, suppression téléchargement et archivage).
-langages et framework: php7, cakephp3.x, angular js1.x,bootstrap
rapport final Conception d’un système d’aide à la décision aux compagne ma...HICHAMLATRECHE1
La thématique principale de ce travail se fait dans le cadre du
mémoire de stage de fin d’étude afin d’obtenir notre diplôme de licence
professionnelle en informatique décisionnelle qui concerne la
conception d’un système d’aide à la prise des décisions aux campagnes
marketing et commerciales dans les entreprises.
Afin de bien comprendre les concepts, nous avons effectués un
état des lieux qui nous a permis de comprendre le système décisionnel
de de déceler ces limites. Pour pallier à ces limites, nous avons fixé
comme objectif : la réalisation d'un système qui aidera à obtenir les
résultats finaux voulus, et par la suite nous avons implémenté un cahier
de charge qui passe par une analyse du système existant, une conception
de la zone d’entreposage, par une implémentation et un déploiement de
l’entrepôt des données.
Pour éviter l’effet tunnel, nous nous sommes appuyés sur l’une des
méthodes de gestion des projets les plus utilisés du moment qui est la
méthode agile tout en découpant les sprints selon le principe SMART.
Tout ceci va se faire en suivant les règles éditées par les deux pères
fondateurs de l’entrepôt de données : William H. Inmon l’inventeur du
concept et Ralph Kimball. Une fois l’entrepôt de données construites,
nous avons fait une analyse de données en utilisant Python pour tirer les
indicateurs de performance KPI des compagnes marketing et
commerciales à partir des données précédentes ; afin de présenter ces
KPIs dans la partie d’usage des outils de Reporting comme PowerBI.
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...karimatorkhani
Le présent projet consiste à implémenter, superviser et surveiller un réseau local au sein du Ministère de l’Enseignement Supérieur et de la Recherche Scientifique qui fait le sujet de mon diplôme de mastère.
Cette occasion m’a permis de comprendre l'administration système et réseau, aussi à élargir mes connaissances sur les concepts de la supervision d'un système d'information et d’acquérir des compétences dans ce domaine en en gérant les pannes surgies suite aux notifications instantané envoyé à l’administrateur par mail.
Mots clés :GNS3, NAGIOS, Centos, NRPE, NSClient++,SNMP,NDOutils,Centreon,APACHE
Le présent projet consiste à implémenter, superviser et surveiller un réseau local au sein du Ministère de l’Enseignement Supérieur et de la Recherche Scientifique qui fait le sujet de mon diplôme de mastère.
Cette occasion m’a permis de comprendre l'administration système et réseau, aussi à élargir mes connaissances sur les concepts de la supervision d'un système d'information et d’acquérir des compétences dans ce domaine en en gérant les pannes surgies suite aux notifications instantané envoyé à l’administrateur par mail.
Mots clés :GNS3, NAGIOS, Centos, NRPE, NSClient++,SNMP,NDOutils,Centreon,APACHE
Automatisation du deploiement d'une solution de supervision
Puppet : Solution d'automatisation
Icinga web : Solution de supervision
Windows Server : Annuaire et DNS
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
1. Dédicaces
Parce qu’elle était mon école, mon enseignante, ma conseillère,
mon soutien continuel …
Je dédie ce travail à ma plus chère du monde, à la femme dont je
suis fier d’être son fils
A ma mère Madame Krichen Fatma
Qu’elle trouve dans cette œuvre le fruit de ses sacrifices et le
témoignage de mon grand amour et de ma gratitude la plus sincère.
A toute ma famille qui n’a jamais cessé de m’encourager et de
procurer l’aide nécessaire pour réaliser ce projet.
Amine Magdich
2. Remerciement
D’abord, nous devons grâce à Dieu qui nous a comblées de
ses bienfaits et nous a données la force pour accomplir ce
travail.
J’adresse l’expression de ma très grande reconnaissance à
mon professeur encadrant
Monsieur Ahmed Kharrat
Pour la confiance qu’il m’a investie en acceptant
d’encadrer mes travaux, pour ses conseils judicieux et
pour l’attention qu’il a apporté à ma mémoire à divers
stades de son élaboration.
J’aurais également le plaisir de présenter mes chaleureux
remerciements au membre du jury ;
Monsieur Lotfi Chaari
Monsieur Tarek Zlitni
D’avoir bien voulu assister à la soutenance de mémoire et
d’accepter de juger mon travail. En outre, je remercie
Monsieur Amine Mzid
Directeur technique de la société « SiFast »
De m’avoir accepté en tant que stagiaire au sein de son
entreprise avec toute générosité. Mes sincères
remerciements s’adressent à mon encadreur,
Monsieur Khaled Masmoudi
Chef de projet Symphony.
Je leur exprime toute ma gratitude pour leurs entières
collaborations, leur disponibilité et leurs aides vitales
à ce projet. Je voudrais également remercier tous les
autres employés de « SiFast » pour la bonne humeur
générale qui régnait au sein de l’entreprise.
Par la même occasion, j’adresse mes remerciements à tous
mes enseignants pour leurs efforts qui ont guidé mes pas
et enrichi mes travaux tout au long de mes études
universitaires.
Enfin, mes remerciements vont à ma famille et à mes amis.
3. Avant-Propos
L’automatisation des systèmes d’information demeure au centre de l’activité
informatique. Soumises à des contraintes d’un marché de plus en plus ouvert et de
concurrence nationale et internationale rude, les entreprises des différents secteurs d’activité
industrielle et commerciale ont tendance à réviser les solutions informatiques qui facilitent
leurs systèmes pour plus d’efficacité et donner à chacun de ses clients l’impression d’unicité.
Cette étude entre dans le cadre de la préparation d’un projet de fin d’études pour l’obtention
du diplôme national d’ingénieur en Informatique: TECH. WEB & MULTIMEDIA au sein de
l’institut supérieur d’informatique et du multimédia de Sfax « ISIMS ».
Ce projet a un apport considérable à notre formation. Il nous a fourni l’occasion pour mettre
en œuvre nos connaissances dans le domaine de l’informatique et d’établir des contacts
avec le monde professionnel.
Ce sujet se rapporte à la conception et au développement d’un Framework pour Kinect v2
pour la société SiFast.
Amin
4.
5. SOMMAIRE
Introduction générale .......................................................................................................................................1
Chapitre 1: ETUDE PREALABLE..............................................................................................................4
I. RECUEIL...................................................................................................................................................5
I.1. Présentation de l’organisation.....................................................................................................5
I.2. Mission ..............................................................................................................................................5
I.3. Organisation.....................................................................................................................................6
I.4. Vision.................................................................................................................................................7
II. Présentation de l’application.................................................................................................................7
II.1. CONCEPTS DE BASE ................................................................................................................8
II.2. Objectifs à atteindre.................................................................................................................... 10
II.3. Analyse de l’existant .................................................................................................................. 12
II.3.1. Etude de l’existant ............................................................................................................. 12
II.3.2. Critiques de l’existant....................................................................................................... 14
II.3.3. Appréciation ........................................................................................................................ 15
II.3.3.1. Champs de l’étude......................................................................................................... 15
III. Langage et méthodologie de conception ................................................................................... 19
III.1. Pourquoi Scrum............................................................................................................................ 20
IV. Conclusion.......................................................................................................................................... 22
Chapitre 2: Planification et architecture .................................................................................................. 23
I. Capture des besoins.............................................................................................................................. 24
I.1. Identification des acteurs........................................................................................................... 24
I.2. Les besoins fonctionnels............................................................................................................ 25
I.3. Les besoins non fonctionnels ................................................................................................... 26
II. Planning du traitement des cas d’utilisation.................................................................................. 27
II.1. Priorités........................................................................................................................................... 27
II.2. Risques............................................................................................................................................ 27
III. Pilotage du projet avec Scrum...................................................................................................... 28
III.1. Les outils Scrum .......................................................................................................................... 28
III.2. Équipe et rôles.............................................................................................................................. 28
6. III.3. Le backlog du produit ................................................................................................................ 29
III.4. Diagramme des cas d’utilisation global................................................................................ 33
III.5. Architecture................................................................................................................................... 34
III.6. Planification des sprints............................................................................................................. 36
V. Conclusion .............................................................................................................................................. 37
Chapitre 3: Release 1 : La réalisation d’une application de simulation ......................................... 38
I. Le premier sprint................................................................................................................................... 39
I.1. Spécification fonctionnelle ....................................................................................................... 40
I.1.1 Description du champ de l’étude ............................................................................................ 40
a) Description textuelle du cas d’utilisation « Uploader une image »............................... 41
b) Description textuelle du cas d’utilisation « Prendre une image » ................................. 42
c) Description textuelle du cas d’utilisation « Définir la vue »........................................... 43
d) Description textuelle du cas d’utilisation « Choisir les accessoires ».......................... 43
e) Description textuelle du cas d’utilisation « Ajuster la taille »........................................ 44
f) Description textuelle du cas d’utilisation « Changer Type de cadre »......................... 45
g) Description textuelle du cas d’utilisation « Personnaliser les éléments «Couleurs »
45
h) Description textuelle du cas d’utilisation « Choisir la forme »...................................... 45
i) Description textuelle du cas d’utilisation « Valider Commande »................................ 46
I.2. Diagrammes de séquences........................................................................................................ 47
I.3. Diagramme de classe.................................................................................................................. 56
I.3.1. Représentation des associations..................................................................................... 61
I.3.2. Représentation des classes............................................................................................... 63
I.3.3. Représentation des méthodes.......................................................................................... 67
I.3.4. Présentation du diagramme de classe........................................................................... 68
I.4. Transformation en modèle relationnel................................................................................... 70
I.5. Test .................................................................................................................................................. 78
I.5.1. Les tests unitaires............................................................................................................... 78
Chapitre 4: Release 2 : Réalisation d’un Framework Kinect ............................................................ 80
I. Le premier sprint................................................................................................................................... 81
I.1. Spécifications fonctionnelles.................................................................................................... 81
I.1.1. Diagramme des cas d’utilisation.................................................................................... 81
I.1.2. Description textuelle des cas d’utilisation .................................................................. 83
7. a) Description textuelle du cas d’utilisation « Déplacer le curseur» ............................83
b) Description textuelle du cas d’utilisation « engager» ..............................................83
I.2. Conception ...............................................................................................................84
I.2.1. Diagramme de séquence système ..................................................................... 84
I.2.2. Diagramme de séquence système ..................................................................... 85
1.2.3. Diagramme de classe ........................................................................................ 88
I.2.3.1. Représentation des méthodes ..........................................................................90
I.3. Test ........................................................................................................................... 95
I.3.1. Test unitaire ...................................................................................................... 95
II. Le deuxième sprint ...........................................................................................................95
II.1. Spécifications fonctionnelles ....................................................................................96
II.1.1. Diagramme des cas d’utilisation ......................................................................96
II.1.2. Description textuelle des cas d’utilisation ........................................................ 98
a) Description textuelle du cas d’utilisation « Redimensionner la porte» ...................98
b) Description textuelle du cas d’utilisation « Sélectionner et cliquer sur les éléments
interactifs» .............................................................................................................................................. 98
c) Description textuelle du cas d’utilisation « Tourner les objets».................................... 99
II.1.3. Diagramme de séquence détaillé.................................................................................100
III. Conclusion........................................................................................................................................104
Chapitre 5: La phase closure.....................................................................................................................105
I. Environnement de développement.................................................................................................106
I.1. Environnement matériel...........................................................................................................106
I.2. Environnement de test..............................................................................................................108
I.3. Environnement de production................................................................................................109
I.4. Environnement logiciel............................................................................................................110
I.5. Outils de développement de l’application..........................................................................113
I.6. Outils de conception .................................................................................................................117
I.7. Outils de traitement et de présentation................................................................................117
II. Mesure d’optimisation de niveau technique................................................................................118
III. Documentation................................................................................................................................125
IV. Les interfaces de l’application....................................................................................................125
V. Apports et Evaluation ........................................................................................................................136
V.1. Apports au niveau des connaissances technique :............................................................136
8. V.2. Apports au niveau de la conception et du développement :..........................................137
V.3. Apports au niveau social :.......................................................................................................137
V.4. Bilan quantitatif :.......................................................................................................................137
V.6. Evaluation....................................................................................................................................138
VI. Bilan quantitatif..........................................................................................................................138
VII. Conclusion........................................................................................................................................139
Conclusion et perspectives ........................................................................................................................140
Annexe A........................................................................................................................................................141
I. Présentation...........................................................................................................................................141
II. Les 4 valeurs du Manifeste Agile...................................................................................................142
III. Les 12 principes du Manifeste Agile........................................................................................142
Annexe B........................................................................................................................................................143
I. Dictionnaire apuré des données..................................................................................................143
Annexe C........................................................................................................................................................152
I. Règle 1 : transformation des entités/classes................................................................................152
II. Règle 2 : transformation des associations :..................................................................................152
II.1. Association un à plusieurs :....................................................................................................152
II.2. Les associations plusieurs à plusieurs :...............................................................................153
II.3. Association un à un : ................................................................................................................153
II.4. Transformation de l’héritage : ...............................................................................................154
II.5. Transformation de la composition : .....................................................................................154
Bibliographie.................................................................................................................................................155
9. Table des figures
Figure 1: Mode d’emploi du Kinect ...................................................................................... 2
Figure 2: Logo de SIFAST .................................................................................................... 5
Figure 3: Les secteurs d'activité du SiFast ............................................................................. 6
Figure 4: Organigramme de la société SiFast ........................................................................ 7
Figure 5: Schéma démonstratif des différents éléments d'une porte .................................... 9
Figure 6: Schéma général de nombre d’internautes dans le monde..................................... 13
Figure 7: Schéma simplifié de la méthode d’interaction actuel ........................................... 15
Figure 8: Schéma de la solution choisi ................................................................................ 18
Figure 9: Le processus Scrum .............................................................................................. 21
Figure 10: Diagramme de contexte statique ...................................................................... 25
Figure 11: Équipe Scrum ................................................................................................... 29
Figure 12: Diagramme des cas d’utilisation global ........................................................... 33
Figure 13: architecture Client/serveur ............................................................................... 34
Figure 14: Représentation de l’architecture 1 tiers ............................................................ 35
Figure 15: Représentation de l’architecture N tiers ........................................................... 36
Figure 16: Plan du release .................................................................................................. 37
Figure 17: Diagramme de cas d’utilisation Front Office ................................................... 40
Figure 18: Diagramme de séquence détaillé du cas d’utilisation « création de la
simulation » 48
Figure 19: Diagramme de séquence détaillé du cas d’utilisation « modification des
matériaux » 49
Figure 20: Diagramme de séquence détaillé du cas d’utilisation « modification des
formes » 50
Figure 21: Diagramme de séquence détaillé du cas d’utilisation « modification des
panneaux » 51
Figure 22: Diagramme de séquence détaillé du cas d’utilisation « modification des
couleurs » 52
Figure 23: Diagramme de séquence détaillé du cas d’utilisation « modification des
vitrages » 53
Figure 24: Diagramme de séquence détaillé du cas d’utilisation « changement d’image »
54
Figure 25: Diagramme de séquence détaillé du cas d’utilisation « changement des
accessoires » 55
Figure 26: Représentation des classes ............................................................................... 69
10. Figure 27: Représentation du Modelé relationnel .............................................................. 77
Figure 28: Exemple de capture d’écran de l’outil de test « Jenkins » ............................... 79
Figure 29: Diagramme des cas d'utilisation du premier sprint (release 2) ......................... 82
Figure 30: Diagramme de séquence système du cas d'utilisation "engager un utilisateur "
85
Figure 31: Diagramme de séquence détaillé du cas d'utilisation "engager avec l’utilisateur
" 86
Figure 32: Diagramme de séquence détaillé du cas d'utilisation "Déplacer le Curseur" ... 87
Figure 33: Diagramme de classe du premier sprint (release 2) ......................................... 94
Figure 34: Diagramme des cas d'utilisation du second sprint (release 2) .......................... 97
Figure 35: Diagramme de séquence détaillé du cas d'utilisation "Tourner les objets" .... 101
Figure 36: Diagramme de séquence détaillé du cas d'utilisation " Redimensionner la
porte" 102
Figure 37: Diagramme de séquence détaillé du cas d'utilisation " Sélectionner et cliquer
sur les éléments interactifs" .................................................................................................... 103
Figure 38: La composition du Kinect V2 ........................................................................ 107
Figure 39: Fonctionnement de Git ................................................................................... 110
Figure 40: Kinect v2 Configuration Verifier ................................................................... 111
Figure 41: Kinect Studio .................................................................................................. 111
Figure 42: Visual Gesture Builder ................................................................................... 112
Figure 43: Représentation du modèle MVC et les relations entre les trois parties ......... 118
Figure 44: Architecture Client/Serveur REST ................................................................. 121
Figure 45: Architecture Client/Serveur WebSocket ........................................................ 121
Figure 46: Architecture Client/Serveur Web Socket ....................................................... 123
Figure 47: Page d’accueil du notre site de simulation .................................................... 126
Figure 48: Message qui improuve l’état du Kinect ......................................................... 126
Figure 49: Le menu de simulation ................................................................................... 126
Figure 50: Les fonctionnalités de la maison .................................................................... 127
Figure 51: Les fonctionnalités de la catégorie« Forme » ................................................. 127
Figure 52: Les fonctionnalités de la catégorie « Matériaux » .......................................... 128
Figure 53: Les fonctionnalités de la catégorie « Panneaux »........................................... 129
Figure 54: Les fonctionnalités de la catégorie « Couleurs » ........................................ 129
Figure 55: Les fonctionnalités de la catégorie « Vitrages »............................................. 130
Figure 56: Les fonctionnalités de la catégorie « Accessoires » ....................................... 130
11. Figure 57: Les fonctionnalités de la catégorie « Inclinaisons » ...................................... 131
Figure 58: Vue d’intérieur ............................................................................................... 131
Figure 59: Conseil client en ligne .................................................................................... 132
Figure 60: Enregistrement de la simulation ..................................................................... 132
Figure 61: utilisateur est non engagé « Capture IR) ....................................................... 133
Figure 62: Engagement de l’utilisateur ........................................................................... 134
Figure 63: Redimensionnement perspective de l’utilisateur ............................................ 134
Figure 64: La sélection d’un objet ................................................................................... 135
Figure 65: Avancer la main pour cliquer ....................................................................... 135
Figure 66: Redimensionnement verticale ........................................................................ 135
Figure 67: Redimensionnement horizentale .................................................................... 136
Figure 68: Redimensionnement responsive ..................................................................... 136
Figure 69: Redimensionnement verticale ........................................................................ 136
Figure 70: Processus actuel de développement ............................................................... 141
Figure 71: Processus Agile .............................................................................................. 141
Figure 72: Règle 1 du passage du modèle conceptuel vers le modèle logique ................ 152
Figure 73: Règle 2 du passage du modèle conceptuel vers le modèle logique ................ 153
Figure 74: Règle 3 du passage du modèle conceptuel vers le modèle logique (premier cas)
153
Figure 75: Règle 3 du passage du modèle conceptuel vers le modèle logique (deuxième
cas) 154
Figure 76: Règle 3 du passage du modèle conceptuel vers le modèle logique (troisième
cas) 154
Figure 77: Règle 3 du passage du modèle conceptuel vers le modèle logique (quatrième
cas) 154
12. Liste des tableaux
Tableau 1: Schéma démonstratif des différents éléments d'une porte ...................................... 9
Tableau 2: Tableau comparative entre les deux modes d’utilisations NUI et GUI .................. 11
Tableau 3: Table de critère entre les deux premières solutions ............................................... 17
Tableau 4: Table de critère entre les cinq solutions ................................................................. 17
Tableau 5: Tableau comparatif entre les différents Framework disponible ............................. 18
Tableau 6: Backlog produit ...................................................................................................... 31
Tableau 7: Backlog du premier sprint (release 1) .................................................................... 39
Tableau 8: Description textuelle du cas d'utilisation « Uploader une image » ........................ 41
Tableau 9: Description textuelle du cas d'utilisation « Prendre une image » ........................... 42
Tableau 10: Description textuelle du cas d'utilisation « définir la vue » ................................. 43
Tableau 11: Description textuelle du cas d'utilisation « Choisir les accessoires » .................. 43
Tableau 12: Description textuelle du cas d'utilisation « ajuster la taille » ............................... 44
Tableau 13: Description textuelle du cas d'utilisation « Changer Type de cadre » ................. 45
Tableau 14: Description textuelle du cas d'utilisation « Personnaliser les éléments «Couleurs
» ................................................................................................................................................ 45
Tableau 15: Description textuelle du cas d'utilisation « Choisir la forme » ............................ 46
Tableau 16: Description textuelle du cas d'utilisation « Valider Commande » ....................... 46
Tableau 17: Table liste des objets naturels ............................................................................... 56
Tableau 18: Table multiplicité des associations ....................................................................... 61
Tableau 19: Table de la représentation des associations .......................................................... 61
Tableau 22: Liste des tables du modèle relationnel ................................................................. 70
Tableau 23: Backlog du premier sprint (release 2) .................................................................. 81
Tableau 24: Description textuelle du cas d'utilisation « Déplacer le curseur » ........................ 83
Tableau 25: Description textuelle du cas d'utilisation « engager » .......................................... 83
Tableau 26: Table liste des objets naturels ............................................................................... 88
Tableau 27: Table de la représentation des associations .......................................................... 90
Tableau 30: Backlog du second sprint (release 2) .................................................................... 95
Tableau 31: Description textuelle du cas d'utilisation « Redimensionner la porte» ............... 98
Tableau 32: Description textuelle du cas d'utilisation « Sélectionner et cliquer sur les éléments
interactifs» ................................................................................................................................ 99
Tableau 33: Description textuelle du cas d'utilisation « Tourner les objets » ......................... 99
Tableau 36: Table de comparaison entre le Web Socket et le REST [13] ............................. 122
13. Tableau 37: Table de la représentation du bilan quantitatif.............................................................138
Tableau 38: Table dictionnaire apuré des données pour le Release 1 Sprint 1..........................143
Tableau 39: Table dictionnaire apuré des données pour le Release 2 Sprint 1..........................148
14. Introduction générale
Introduction générale
Depuis quelques années, les consoles de jeux vidéo sortent des chambres des
adolescents pour venir s’installer dans les laboratoires de recherche, les centres
commerciaux ….
Dans le cadre de projet de fin d’étude à l’institut Supérieur d’Informatique et de
Multimédia de Sfax, nous allons effectuer un projet portant sur la conception de nouvelles
techniques d’interaction avec les mondes 3D (dispositifs de réalité virtuelle) en plus ce projet
vise à concevoir et à tester de nouvelles techniques d’interaction 3D avec les mondes virtuels
« hybrides1
» au sein d’une société de service comme SiFast2
.
Ces nouveaux outils qui permettent de jouer « sans fil » offrent aux joueurs une grande
liberté de mouvement. La dernière en date, la Kinect3
, commence à apparaître entre les murs
des maisons. C’est la première caméra en trois dimensions destinée au grand public. Grâce à
ses caméras couleur et infra-rouge, elle permet de restituer une image en trois dimensions du
corps humain, en l’intégrant dans un environnement virtuel. Le joueur commande la console
uniquement avec son propre corps. L’utilisation de cette « console sans manette » est tout
naturellement en train de dépasser le cercle des joueurs pour faire progressivement son entrée
dans d’autres domaines. Elle présente l’avantage, par rapport aux autres consoles, avec ses
caméras offrant une vision en profondeur et la reconnaissance du squelette par modélisation,
d’analyser le mouvement : angles, espace utilisé, vitesse de mouvement, vitesse angulaire.
Alors qu’à l’heure actuelle, les systèmes d’analyse du mouvement sont réservés aux
1
Composite
2
Une Entreprise de Services du Numérique
3 Il s’agit d’une caméra utilisant des techniques d’interaction développées par la société PrieSense, longtemps nommée par le nom de code
du projet, « Project Natal »
1
15. Introduction générale
laboratoires ou aux centres de rééducation, la Kinect pourrait permettre l’analyse de
mouvement à coût réduit.
Figure 1: Mode d’emploi du Kinect
D’une manière générale, les jeux vidéo ont aujourd’hui largement dépassé le simple
divertissement pour devenir un réel outil de développement et d’apprentissage. Les jeux sérieux
(« serious games »), ont commencé à se développer il y a une dizaine d’années, puisque se tenait
en 2004 le premier Sommet des jeux sérieux aux Etats-Unis auquel s’est succédé, en 2007, le
deuxième Sommet à Lyon. Nous les trouvons désormais des applications dans de nombreux
champs : défense, marketing, économie, gestion, éducation (jeux-géographiques),
humanitaire (Food Force, Darfurisdying)...
ce phénomène est intitulé la gamification (ou ludification) c’est le transfert des mécanismes
du jeu dans d’autres domaines, en particulier des sites web, des situations d'apprentissage, des
situations de travail ou des réseaux sociaux.
Dans ce contexte nous tenterons de créer une application Kinect qui permet la simulation des
objets virtuelle dans le monde réelle à travers des nouvelles techniques d’interaction IHM
4
(reconnaissance vocale, par geste …) cette application aura comme objectif d’offrir à ses
utilisateurs l’expérience de manipuler naturellement notre site web.
Nous aborderons donc dans notre mémoire les chapitres suivants :
4
Interaction Homme Machine
2
16. Introduction générale
Le premier chapitre sera consacré à l’étude préalable en évoquant le contexte de
l’application, l’analyse des besoins, le planning prévisionnel et en définissant les objectifs à
atteindre ainsi que les orientations en définissant le cycle de vie de notre projet qui est «
SCRUM ».
Le deuxième chapitre « planning et architecture » qui consiste en la première
phase dans le cycle Scrum. Dans ce chapitre nous dévoilons les principales exigences de
notre application et nous le clôturons par un planning de travail.
Le troisième chapitre « La réalisation d’une application de simulation » et le quatrième
chapitre «Réalisation d’un Framework Kinect» constituent le corps de notre rapport. Ces
deux chapitres seront consacrés pour le développement des deux releases de notre système en
respectant les principes fondamentaux de Scrum.
Le dernier chapitre « la phase de closure » détaille tous les outils utilisés pour la
conception et le développement de notre application ainsi que quelques captures écran de
la version finale de notre système.
Nous finirons par une conclusion générale qui récapitule tout le travail réalisé et
ouvre les perspectives futures de notre système.
3
17. CHAPITRE I : ETUDE PREALABLE
Chapitre 1:
ETUDE PREALABLE
Dans ce chapitre, nous nous intéressons à
définir le contexte de l’étude afin de
déterminer les besoins fonctionnels. Après
avoir analysé notre application de simulation,
nous avons pu déterminer les différentes
solutions proposées des services offerts par
cette application et étudier l’existant qui
regroupe les fonctionnalités de base que doit
offrir ce système.
Ainsi, dans le cadre de ce travail, nous
sommes chargés de réaliser une application de
simulation par un dispositif Kinect en
conservant les méthodologies traditionnelles
qui nous permet d’augmenter le nombre
d’internautes et offrir plusieurs types
d’interactivité à nos clients.
4
18. CHAPITRE I : ETUDE PREALABLE
I. RECUEIL
L’étape d’analyse de l’existant et la spécification des besoins est indispensable dans la
création d’une application informatique. Nous sommes censés d’étudier les travaux existants
et montrer leurs défaillances. Ensuite, nous fixons les objectifs à atteindre dans notre
application.
I.1. Présentation de l’organisation
: est une entreprise de services Numérique (ESN) créée en 2010 [1] par des
professionnels du service et de l’informatique, c’est un des leaders du nearshore Francophone,
délivre des services IT qui permettent à ses clients d’améliorer leur efficacité et leur
rentabilité. Grace à sa maîtrise des nouvelles technologies, son expérience de l’externalisation
et son approche collaborative, SiFast aide ses clients à développer des solutions innovantes
pour répondre à leurs enjeux axée sur les développements informatiques et l’infogérance
fondée sur les principes de la compétence, le respect et l’innovation focalisée sur la
satisfaction de nos clients.
Inspirés des différents standards du marché comme CMMi 5
et ISO 9001 6
et de
l’expérience du nearshore, SiFast définit son système qualité tout en conservant sa souplesse
et son agilité.
Figure 2: Logo de SIFAST
I.2. Mission
SiFast offre à ses clients, en véritable partenaire, un service de qualité et des solutions
innovantes, tout en respectant leurs contraintes et leurs spécificités. Elle leur permet
5
Livre CMMI par l'exemple écrit par François Dufay sorti en 2010
6
Livre Dix clés pour réussir sa certification ISO 9001 écrit par Claude Pinet sorti en 2009
5
19. CHAPITRE I : ETUDE PREALABLE
d’optimiser leur sourcing en leur garantissant un rapport qualité / prix très compétitif et
une flexibilité maximale.
I.3. Organisation
Afin de réaliser sa mission parfaitement, SiFast a bâti sa politique de ressources
humaines autour de l'excellence, convaincue que la force de la société réside dans la qualité
et l’expertise des collaborateurs. Elle est ouverte, à l’écoute de ses salariés, soucieuse de leur
bien-être. Les membres de SiFast partagent leurs connaissances, leurs compétences et leurs
expériences.
Les équipes de SiFast sont organisées par technologie (LAMP7
/PHP8
/CMS9
, Mobile10
,
.NET11
, Java EE12
, BI13
) comme c’est présenté dans la figure 3. Les responsables d’équipes
ont acquis la maîtrise de la gestion de projets nearshores complexes et peuvent se prévaloir
d’une réelle expertise dans les modèles de delivery Front/Back leur permettant d’être forte
de proposition.
Figure 3: Les secteurs d'activité du SiFast
7 L’acronyme « LAMP » fait référence aux quatre composantes d'un tel serveur Web
8 Utilisé pour produire des pages Web dynamiques via un serveur HTTP
9 Une famille de logiciels destinés à la conception et à la mise à jour dynamique de sites Web
10 Développement des applications pour des terminaux mobile
11 Un ensemble de produits et de technologies informatiques de l'entreprise Microsoft
12 Une spécification pour la technique Java d'Oracle
13 L’informatique décisionnelleest l'informatique à l'usage des décideurs et des dirigeants d'entreprises
6
20. CHAPITRE I : ETUDE PREALABLE
I.4. Vision
SiFast, en tant que spécialiste reconnu des solutions innovantes, met au service de
ses clients ses expertises très pointues pour que leurs sites et leurs applications soient
uniques, captivants et différenciant.
Cette entreprise a tendance à améliorer encore ses solutions tout en adoptant des
nouvelles stratégies d’assurance qualité (QA) pour assurer la satisfaction totale de ses clients.
Figure 4: Organigramme de la société SiFast
II. Présentation de l’application
L'objectif principal de notre travail est de concevoir et de développer une boutique en
ligne pour présenter, simuler, commercialiser et livrer nos produits à nos clients, que nous
estimons devenir de plus en plus nombreux grâce à cette application de simulation.
L’application, que nous allons proposer et développer dans le cadre de notre projet de
fin d’études, permet d’offrir des nouvelles techniques d’interaction avec les mondes 3D par la
7
21. CHAPITRE I : ETUDE PREALABLE
superposition d'un modèle virtuel à la perception que nous avons naturellement de la réalité
et ceci en temps réel. Nous proposons d'analyser, de concevoir et d'implémenter une
application Kinect pour un ensemble de magasins.
II.1. CONCEPTS DE BASE
Composition de la porte :
Une porte d’entrée, c’est une des premières choses que l’on perçoit de l’habitat,
elle reflète l’ambiance, la personnalité de votre foyer.
Vue de l’intérieur, la porte est un véritable meuble de l’entrée, partie intégrante de
son esthétisme, de sa décoration.
Mais la question qui se pose :
Comment sera votre maison ou votre appartement avec
une nouvelle porte?
Une porte est une menuiserie constituée de deux cadres en profilés aluminium, PVC,
Bois, Acier…
Un cadre dormant fixé au mur et un cadre ouvrant et son vitrage s'articule autour
de celui-ci comme l’indique la figure ci-dessous (Figure 5).
8
22. CHAPITRE I : ETUDE PREALABLE
Figure 5: Schéma démonstratif des différents éléments d'une porte
Le premier tableau nous présente un schéma démonstratif des différents éléments d'une
telle porte tel que le châssis, le panneau, le vitrage, le ferrage, les paumelles et le seuil.
Tableau 1: Schéma démonstratif des différents éléments d'une porte
Composé d'un dormant et d'un ouvrant, il est l'armature de la porte.
Le châssis
Il supporte les autres éléments le composant : panneau, vitrage, ferrage
(quincaillerie), joints et seuil.
Il habille la porte et apporte une touche esthétique à celle-ci en fonction
Le
des moulures et des ®nitions choisies.
panneau
Il a également un rôle important dans la résistance à l'effraction et
l'isolation.
9
23. CHAPITRE I : ETUDE PREALABLE
Source de lumière, il offre de multiples possibilités esthétiques. Il joue
Le vitrage
un rôle non négligeable en matière d'isolation et de résistance à
l'effraction.
Il comporte tous les éléments qui assurent les mouvements de l'ouvrant
Le ferrage
et le verrouillage/déverrouillage de la porte. Il a une très forte incidence
sur la résistance à l'effraction.
Support de l'ouvrant, elles sont des pièces importantes. Chez Monsieur
Les
Store, nous avons fait le choix de paumelles lourdes qui assurent une
paumelles
sécurité optimale. Elles empêchent tout débondage et évitent tout
affaissement de la porte dans le temps et à l'usage. Elles permettent un
réglage en hauteur, largeur et profondeur, assurant ainsi une pose
parfaite de l'ouvrant.
de conception basique, en métal, il est souvent le point faible des portes
Le seuil
d'entrée d'ancienne génération. Monsieur Store vous préconise ceux
fabriqués dans un matériau isolant ou en aluminium (à rupture de pont
thermique) qui garantissent une excellente isolation. Il existe des seuils
à battement, ou ultraplats, facilitant l'accès des personnes à mobilité
réduite.
II.2. Objectifs à atteindre
Notre application a pour mission de concevoir et visualiser les portes de notre future
habitation par la projection de ces éléments sur la façade d'une maison et de faciliter la
manipulation des applications de simulation et utiliser des nouvelles techniques d’interaction
NUI14
.
Les objectifs à atteindre sont :
✓ Aider la clientèle à choisir leur propre porte.
✓ Aider les menuisiers vendeurs de présenter leurs gammes des produits.
14 Natural user interface
10
24. CHAPITRE I : ETUDE PREALABLE
✓ Aider les fabricants d’exposer leurs vastes produits.
✓ Capitaliser un savoir-faire dans les outils de simulation de portes.
✓ La simulation des objets virtuels dans le monde réelle.
✓ Permettre à l'utilisateur d'interagir directement c'est-à-dire sans outil
intermédiaire, avec la machine.
✓ Le corps humain devient le seul et unique "contrôleur15
".
✓ Transformer des objets de notre environnement en outil pour interagir avec
la machine.
✓ Les utilisateurs apprirent des mouvements et des actions qui leur permirent de
mieux et plus simplement explorer les possibilités d'interaction avec la machine.
✓ Une application simple à utiliser que l'on n'a même plus besoin de maîtriser.
✓ Répondre à toutes les exigences des usagers d'une manière optimale grâce à
ses fonctionnalités.
✓ Prévoir une application assez dynamique et simple pour assurer la cohérence du
processus de maintenance.
Le tableau ci-dessous (Tableau N°2) illustre une étude comparative entre les
deux modes d’utilisations NUI et GUI.
Tableau 2: Tableau comparative entre les deux modes d’utilisations NUI et GUI
Critères NUI GUI
facilite l'utilisateur peut connaitre les
fonctions facilement à travers les
mouvements naturels
les nouveaux utilisateurs peuvent avoir
un moment difficile d'apprendre
à utiliser la souris et toutes les
fonctions de l'interface graphique.
vitesse dépend de l'utilisateur l'utilisateur doit fonctionner en
utilisant la souris et le clavier
15 Un contrôleur est une entité qui a pour but de contrôler (dans le sens de surveiller ou de diriger/manipuler)
11
25. CHAPITRE I : ETUDE PREALABLE
souche aucune souche les touches de raccourci sont utilises
exemple tactile immersive 3d gnome Shell
II.3. Analyse de l’existant
Cette étude se base essentiellement sur des recherches et les études lors de notre
stage chez SiFast.
Dans un marché concurrentiel où les médias sociaux ont donné au client un rôle de
premier ordre, il est plus important que jamais de savoir ce que les clients pensent de services
offerts par une entreprise. Faire participer les clients de l’intérieur et s’assurer que tout le
monde partage la même vision, sont des composantes vitales à la survie et à la réussite de ses
activités.
La satisfaction de la clientèle est aujourd’hui monnaie courante pour la quasi-totalité
des entreprises et ce indépendamment de leur taille. Elle améliore la flexibilité, la
productivité et stimule la croissance du chiffre d’affaires.
A partir de ces exigences, la société SiFast a décidé d’offrir à sa clientèle (les
menuisiers, les distributeurs, les Clients …), une solution de la simulation en ligne, qui
leur permet de créer et de simuler à tout moment les besoins de leurs clients. Cette solution
qui représente une interface de représentation de notre future porte en temps réel.
Notre solution sera conçue pour être simple d’utilisation dans un souci d’efficacité
et de gain de temps, tout en apportant des données précises.
II.3.1. Etude de l’existant
L’étude de l’existant constitue une étape fondamentale dans notre projet. Elle consiste,
d’abord, à collecter toutes les informations nécessaires à la compréhension et à la
12
26. CHAPITRE I : ETUDE PREALABLE
caractérisation du système du logiciel informatique. Elle peut mener à une
observation critique sur ces informations afin de dégager les défaillances éventuelles.
L'impatience des internautes est légendaire. Plus une page prend de temps à charger,
plus l'internaute est tenté d'aller voir ailleurs, et parfois, ne plus revenir. D'après une étude
d’Akamai [2], 57 % des internautes abandonnent une page qui prend plus de 3 secondes à
charger, la première cause de lenteur d'un site web est liée au volume de données chargées.
Dans ce registre, le poste le plus gourmand concerne, sans aucun doute possible, les images.
Ce qui reflète le problème majeur dans les applications de simulation qui utilisent les
images matricielles au sein du site et engendrera en plus la perte de la qualité en fonction de
redimensionnement.
Malgré le nombre important des internautes dans le monde qui va atteindra 3,07
milliards en 2015, en hausse de +6,2% vs 2014. Cela représentera 42,4% de la population.
Pour les 3 années suivantes, les taux de croissance sont estimés à plus de 5%, et la
pénétration d'Internet devrait atteindre 48,2% en 2018 selon les dernières prévisions
d'eMarketer [3] et dispose la répartition géographique suivante illustrée dans la figure 6.
Figure 6: Schéma général de nombre d’internautes dans le monde
Légende :
13
27. CHAPITRE I : ETUDE PREALABLE
Or il n y avait que ces nouvelles applications NUI qui s’adressent principalement pour
créer des applications natives soit des applications Mobile ou bureautique sans prendre en
valeur les utilisateurs de l’internet et conserver les types d’interaction traditionelles en
utilisant les consoles classiques(clavier, souris …).
II.3.2. Critiques de l’existant
Nous avons pu diagnostiquer les systèmes existant des applications de simulation et
dégager les anomalies du système actuel tout en se rapportant à notre application comme c’est
indiqué dans la figure 7.
Parmi ces anomalies nous citons :
▪ Difficulté de mémorisation : quand un utilisateur revient sur l'interface après
une période d'inutilisation il est censé de retenir les emplacements des boutons
et les divers fonctionnalités.
▪ Problème de fiabilité : l'interface est conçue pour que l'utilisateur commette le
moins d'erreur possible mais cette interface se diffère d’un internaute à un autre.
▪ Perte de qualité : la qualité des applications de simulation diminue en fonction
de la résolution spatiale de chaque terminal.
▪ La perte du temps : l’internaute passe plusieurs minutes pour la
compréhension de notre système et l’exploitation par la suite.
▪ Manque de convivialité : chaque internaute possède son point de vue par
rapport l’application fourni mais nous sommes toujours obligé d’améliorer
l’interaction homme-machine pour que l'interface devient peu à peu agréable
pour l'utilisateur.
14
28. CHAPITRE I : ETUDE PREALABLE
▪ Application complexe : nécessite une bonne maitrise de la langue et quelque
notion informatique.
Figure 7: Schéma simplifié de la méthode d’interaction actuel
II.3.3. Appréciation
II.3.3.1. Champs de l’étude
Pour atteindre les objectifs fixés à l’avance nous proposons les solutions suivantes :
a) Problématique 1 :
Solution1 : Application Web SVG16
Le développement d’une application Web à base de SVG, Ce principe rend les
images SVG étirables sans perte de qualité.
Solution2 : Application Flash
Le développement d’une application Flash, nous permet de dynamiser la simulation
grâce au lecteur flash Player dans les navigateurs
b) Problématique 2 :
Solution1 : Application Kinect
16 (Scalable Vector Graphics) est un format de dessin vectoriel, élaboré à partir de 1998 par un groupe de travail comprenant entre autre
IBM, Apple, Microsoft, Xerox.
15
29. CHAPITRE I : ETUDE PREALABLE
Le développement d’une application Kinect, ce système nous permet de commander
l’application par la voix les gestes.
Solution2 : Application compatible sur AIRxTouch [4].
Le développement d’une application compatible sur AIRxTouch, grâce à une
Caméra Webcam et une Caméra Infrarouge, ce système permet d’interagir avec ses
utilisateurs sans contact.
Solution3 : Application pour des écrans tangibles17
Le développement d’une application sur des écrans tangibles : cette solution consiste à
développer une application sur des dispositifs tactiles (l’exemple des Smartphone, tablette…).
Solution4 : Application Leap Motion 18
Le développement d’une application compatible avec Leap Motion : cette
proposition vise d’interroger notre système avec les mouvements des mains et des 10 doigts.
Solution5 : Application WISEE [5]
Le développement d’une application à base de WISEE : cette solution a pour
objectif d’interagir en se basant sur les transmissions sans fil.
Solution choisie :
Nous avons défini un ensemble de critères d’évaluation afin de comparer les
propositions cité précédemment et d’en choisir une pour le développement comme
l’illustre les tableaux 3et 4.
17
Tactile
18
Capable de suivre les mains et les doigts ou les outils similaires de l’utilisateur
16
30. CHAPITRE I : ETUDE PREALABLE
a) Problématique 1 :
Tableau 3: Table de critère entre les deux premières solutions
Solution 1 Solution 2
Temps de réponses + _
Résolution des + -
images
Compatibilité + -
Référencement + -
Sécurité - +
Dans notre cas, nous avons choisi de développer une application Web à base de SVG
b) Problématique 2 :
Tableau 4: Table de critère entre les cinq solutions
Solution 1 Solution 2 Solution 3 Solution 4 Solution 5
Détection + _ _ _ _
squelettes
Détection + + _ + _
Main
Détection + _ + _ _
faciale
Détection + _ _ _ +
gestuelle
Compatibilité + _ _ _ _
Voix + + + + _
Fiabilité + _ _ _ _
Les limites d’une version desktop et les apports des applications web ont poussé la société
SiFast à nous proposer de développer un Framework pour Kinect V2 pour le web grâce à
17
31. CHAPITRE I : ETUDE PREALABLE
ses avantages par rapport aux autres solutions proposées illustré par un schéma explicatif
dans la figure 8.
Figure 8: Schéma de la solution choisi
Une analyse des solutions existantes montre que la plupart de ces applications
offrent des fonctionnalités de base pour l’utilisation du Kinect v1 dans les navigateurs.
Les applications développées sont censées pour les autres consoles et ne sont pas
implémenté à cet instant pour la deuxième génération du Kinect comme il est noté dans le
tableau 5.
Tableau 5: Tableau comparatif entre les différents Framework disponible
Framework Description et Compatibilité
Zigfu [6]
Permet l’interactivité avec MICROSOFT KINECT V1, ASUSXTION, et
ANY OPENNI SENSOR.
Compatibilité : Windows et Mac OS grâce à son Serveur
KinectJS
Permet l’interactivité avec MICROSOFT KINECT V1 seulement.
18
32. CHAPITRE I : ETUDE PREALABLE
L’existence de plusieurs exemples similaires à nos besoins.
Compatibilité : seulement Windows à travers son Serveur Web
Kinesis
Permet l’interactivité avec MICROSOFT KINECT XBOX seulement.
L’existence de plusieurs exemples similaires à nos besoins.
Compatibilité : seulement Windows à travers son Serveur Web
III. Langage et méthodologie de conception
La méthodologie est une démarche organisée rationnellement pour aboutir à un
résultat. Parmi les différentes méthodologies existantes, nous pouvons citer le modèle en
cascade utilisée souvent dans les simples projets dont les besoins sont clairs et bien définis dès
le début, le modèle en Y utiliser pour le développement des applications mobiles, ainsi que le
processus unifié et les méthodologies agiles (Scrum & extrême programming) caractérisées
par leurs souplesses et utilisées dans des grands projets.
Pour bien conduire notre projet et nous assurer du bon déroulement des différentes phases,
nous avons opté Scrum comme une méthodologie de conception et de développement.
Après le choix de la méthodologie, nous avons besoins d’un langage de modélisation
unifiée pour la modélisation de notre projet. Pour concevoir notre système, nous avons
choisi UML19
comme un langage de modélisation.
Notre choix s'est basé sur les points forts de ce langage notamment sa standardisation et
les divers diagrammes qu’il propose. Aussi UML présente le meilleur outil pour
19
Unified Modeling Language
19
33. CHAPITRE I : ETUDE PREALABLE
schématiser des systèmes complexes sous un format graphique et textuel simplifié et
normalisé.
En effet UML n'est ni un processus ni une démarche, d'où il fallait choisir une
méthodologie de conception et de développement que nous devons l'adopter
III.1. Pourquoi Scrum
« Scrum signifie mêlée au rugby. Scrum utilise les valeurs et l’esprit du rugby et les adapte aux
projets de développement. Comme le pack lors d’un ballon porté au rugby, l’équipe chargée du
développement travaille de façon collective, soudée vers un objectif précis. Comme un demi de
mêlée, le Scrum Master aiguillonne les membres de l’équipe, les repositionne dans la bonne
direction et donne le tempo pour assurer la réussite du projet. » [7]
Scrum est issu des travaux de deux des signataires du Manifeste Agile20
, Ken
Schwaber et Jeff Sutherland, au début des années 1990.Il appartient à la famille des
méthodologies itératives et incrémentales et repose sur les principes et les valeurs agiles21
.Le
plus souvent, les experts de Scrum, même ses fondateurs, le décrivent comme un cadre ou un
patron de processus orienté gestion de projet et qui peut incorporer différentes méthodes ou
pratiques d’ingénierie. S’il est difficile de définir la nature de Scrum, sa mise en place est
beaucoup plus simple et peut être résumée par la figure N°9.
Le principe de base de Scrum est le suivant :
➢ Dégager dans un premier lieu le maximum des fonctionnalités à réaliser pour former
le backlog du produit,
➢ En second lieu définir les priorités des fonctionnalités et choisir lesquelles
seront réalisé dans chaque itération,
➢ Par la suite focaliser l'équipe de façon itérative sur l’ensemble de fonctionnalités à
réaliser, dans des itérations appelées Sprints,
20
Le manifeste agile est un texte rédigé et signé en 2001 par 17 experts dans le domaine de
développement d’applications informatique.
21
Voir annexe A
20
34. CHAPITRE I : ETUDE PREALABLE
➢ Un Sprint aboutit toujours sur la livraison d’un produit partiel fonctionnel
appelé incrément.
Figure 9: Le processus Scrum
Le choix de Scrum comme une méthodologie de pilotage pour notre projet s’est
basé sur les atouts de ce dernier. Il se résumé comme suit:
➢ Plus de souplesse et de réactivité,
➢ La grande capacité d’adaptation au changement grâce à des itérations courtes,
➢ Et la chose plus importante, c’est que Scrum rassemble les deux cotés théorique et
pratique et se rapproche beaucoup de la réalité.
Vu que Scrum ne couvrant que les aspects de gestion de projet, et pour compléter le
vide laissé en matière de pratiques de développement, nous avons pris la décision de
coupler Scrum avec une autre méthodologie agile qui est l’extrême programming et qui
couvre les bonnes pratiques d’ingénierie logicielle notamment le développement dirigé par
le test, qui sera détaillé dans les chapitres qui suivent, et la programmation en binôme, etc.
21
35. CHAPITRE I : ETUDE PREALABLE
IV. Conclusion
Dans ce chapitre, nous avons défini, dans une première partie, le champ de l’étude
ainsi que les objectifs à atteindre. Dans une deuxième partie, nous avons étudié l’état actuel
de la société SiFast et enfin, nous avons proposé une solution pour la simulation des objets.
22
36. Chapitre II : Planification et architecture
Chapitre 2:
Planification et architecture
Dans le chapitre précédent, nous avons choisi
d'adopter la méthodologie Scrum pour la
conception de notre futur système. En fait,
Scrum est organisé suivant trois phases dont
la première est la phase de planification et
architecture (appelé aussi sprint 0 dans
quelques ouvrages).Cette phase est la plus
importante dans le cycle de développement
Scrum puisqu'elle qui influence directement
la réussite des sprints et en particulier le
premier.
23
37. Chapitre II : Planification et architecture
Introduction
Les travaux réalisés dans cette période de temps conduit à construire une bonne vision
du produit, identifier les rôles des utilisateurs et dégager les fonctionnalités principales afin de
produire le backlog initial ainsi qu'une première planification des sprints.
Cette phase fera donc l’objet de ce chapitre où nous commençons par la capture des
différents besoins, identifier les rôles des utilisateurs et préparer notre plan de release.
I. Capture des besoins
I.1. Identification des acteurs
a. Les acteurs
« Un acteur représente l’abstraction d’un rôle joué par des entités externes (utilisateur, dispositif
matériel ou autre système) qui interagissent directement avec le système étudié. » [8]
Tous simplement un acteur est une entité physique (personne) ou abstraite (logiciel)
capable d’utilisée le système afin de répondre à un besoin bien définit. Les acteurs de notre
application sont :
✓ Le fournisseur : C’est lui, une personne ou une entreprise qui peut fabriquer les
portes et exercer des activités de vente de ces produits en gros.
✓ Le distributeur : C’est un gestionnaire de commerce de détail, avec des statuts
particulier. Il est chargé de présenter les portes et les services des fournisseurs dans le
but de les vendre aux clients actuels ou potentiels et d’installer les portes chez les
clients.
✓ L’internaute ou le client : Il désigne la personne ou l'entité qui prend la décision
d'acheter des portes chez un distributeur.
✓ L’administrateur: C’est lui, qui supervise l’enchainement du travail au sein de
notre application.
24
38. Chapitre II : Planification et architecture
b. Diagramme de contexte statique
Ce diagramme d’UML permet simplement de montrer la relation des différents acteurs
avec le système. Il spécifie le nombre d’instances de chaque acteur relié au système à un
moment donné comme il est indiqué dans la figure N°10.
Figure 10: Diagramme de contexte statique
Pour expliquer le diagramme ci-dessus, nous pouvons dire qu’à un instant t nous pouvons
avoir 0 ou plusieurs administrateurs qui manipulent l’application, et 0 ou plusieurs distributeurs
qui consultent la liste des leads ainsi 0 ou plusieurs clients qui sont en train d’utiliser
l’application.
I.2. Les besoins fonctionnels
Les besoins fonctionnels ou les cas d’utilisations en terme d’UML peuvent être définis comme
suit : « Un cas d’utilisation (use case) représente un ensemble de séquences d’actions réalisées
par le système et produisant un résultat observable intéressant pour un acteur particulier. » [8]
Un cas d’utilisation est une suite d’actions effectuées par le système afin de répondre à
une demande d’un utilisateur (acteur). Dans ce qui suit, nous décrivons les différents besoins
fonctionnels de notre système :
➢ Modifier l’image de la maison : Consiste à modifier l’image de notre simulation
à travers plusieurs méthodes (uploader une image, prendre une image, choisir une
image depuis la liste de maisons témoins),
25
39. Chapitre II : Planification et architecture
➢ Personnaliser la porte: Consiste à redimensionner et personnaliser notre porte
selon leur besoin esthétique (couleur, vitrage, accessoires, taille, angle …),
➢ Contacter le fournisseur : Permet à l’utilisateur de demander des conseils ou des
informations à propos les produits fournis,
➢ Valider une commande : Permet de l’utilisateur de passer son commande par le
remplissage d’un formulaire,
➢ Kinnifier la simulation : Consiste à offrir des nouveaux types d’interaction (par
geste, mouvement, émotions …),
➢ Mise à jour des fournisseurs : consiste d’offrir les fonctionnalités d’ajout,
modification et suppression des fournisseurs,
➢ Mise à jour des distributeurs : consiste d’offrir les fonctionnalités d’ajout,
modification et suppression des distributeurs,
➢ Consulter les détails des utilisateurs : Permet de consulter les détails des
utilisateurs, leurs commandes …,
➢ Consulter la liste des clients: Permet aux distributeurs de consulter les simulations
des leads et les contacter par la suite.
I.3. Les besoins non fonctionnels
Les besoins non fonctionnels sont des besoins qui ont un aspect visible pour l’utilisateur,
mais qui ne sont pas reliés directement au comportement du système. Les besoins non
fonctionnels de notre système se décrivent comme suit :
Besoins de disponibilité : notre application constitue de créer des simulations en ligne, il faut
que cette dernière soit disponible à tout moment.
Besoins de sécurité : vu que cette application contient des données confidentielles, tous les
accès aux différents espaces (administrateur, distributeur, etc.) doivent être protégés par un
mot de passe et un privilège d’accès. Ainsi, il faut s’assurer des cryptages des données au
niveau de la base.
26
40. Chapitre II : Planification et architecture
Besoins de performance : il s’agit d’optimiser le temps de chargements des pages par
l’utilisation des bonnes pratiques du développement. [9]
Besoins de portabilité et de compatibilité : notre application doit être portable sur tous les
environnements logiciels (Windows, Mac OS, Linux).
Besoins de documentation : lors de la livraison de l’application, nous devons fournir la
documentation nécessaire pour les utilisateurs finaux (administrateur, fournisseur, client etc.)
ainsi que les futurs développeurs.
Besoins d’utilisation : Tous les standards d’ergonomies doivent être présents : interface
utilisateur bien claire et simple dans l’utilisation.
II. Planning du traitement des cas d’utilisation
Après tout le travail d’identification des cas d’utilisation, nous devons maintenant les
classifier. La classification des cas d’utilisation doit tenir compte de deux facteurs principaux
qui sont la priorité et les risques. Cette technique est utilisée généralement lors de la
conception des applications se basant sur le processus unifié, mais elle reste valable et
intéressante pour notre cas.
II.1. Priorités
Généralement, on dit qu’un cas d’utilisation A est plus prioritaire que B, si sa
réalisation accélère la stabilisation du système. Le choix des priorités dans cette section s’est
basé sur la dépendance entre les fonctionnalités de l’application. Par exemple, nous ne
pouvons pas affecter les dus personnalisation des portes tant que nous n’avons pas encore
terminé la récupération des données. Par conséquent, nous pouvons dégager trois niveaux de
priorité qui sont : priorité haute, moyenne et faible.
II.2. Risques
Lors du pilotage d’un projet, l’identification des risques critiques présente une étape
indispensable pour la réussite de ce dernier. Pour notre cas, le seul risque qui peut nous
ralentir est lié la complexité de l’application et aux différentes contraintes à respecter.
27
41. Chapitre II : Planification et architecture
III. Pilotage du projet avec Scrum
Le cadre Scrum est constitué de trois éléments qui sont l'équipe avec des rôles bien
définis, les blocs de temps22
et les artefacts.
III.1. Les outils Scrum
Pour le pilotage de leurs projets Scrum, les membres de l'équipe font recours à plusieurs
techniques. Une de ces techniques, qui est la plus répondue, consiste à créer des fiches (post It)
et de les coller sur un mur ou sur un tableau visible pour tous les membres de l'équipe. Une
autre technique consiste à utiliser un fichier Excel contenant toutes les informations nécessaires
pour les sprints, les user story leurs estimations, etc. Ce fichier devra être partagé en lecture et
en écriture (pour que tous les membres de l'équipe puissent le modifier à tout moment).
Par conséquent, plusieurs outils sont apparus en offrant la possibilité de suivre la priorité,
la traçabilité et la gestion de tout le travail associé. Parmi les outils existants, nous avons choisi
d’utiliser Serena Scrum [10].
III.2. Équipe et rôles
« L’équipe a un rôle capital dans Scrum : elle est constituée avec le but d’optimiser la
flexibilité et la productivité; pour cela, elle s’organise elle-même et doit avoir toutes les
compétences nécessaires au développement du produit. Elle est investie avec le pouvoir et
l’autorité pour faire ce qu’elle a à faire ». [7]
Bref, Scrum définit trois rôles qui sont :
Le Product Owner (le propriétaire du produit) : c’est une personne qui porte la vision du
produit à réaliser, généralement c’est un expert dans le domaine.
Le Scrum Master (le directeur de produit) : c'est la personne qui doit assurer le bon
déroulement des différents sprints du release, et qui doit impérativement maitriser Scrum.
Le Scrum Team (l’équipe de Scrum) : constitué des personnes qui seront chargées
d’implémenter les différents besoins du client. Bien évidemment, cette équipe sera constituée
des développeurs, des testeurs comme il est illustré dans figure N°11.
22
Blocs de temps souvent appelé timeboxes
28
42. Chapitre II : Planification et architecture
Dans le contexte de notre projet, M Fadhel ABID sera le propriétaire de produit, M.
Khaled MASMOUDI sera le directeur de produit ainsi l’équipe Scrum est composé par 5
développeur sont: M Tarak KHLIF, M Amin MAGDICH, Mlle Fatma BOUCHAKOI, Mlle
Molka DEJMAL, Mlle Khouloud Ismail.
Figure 11: Équipe Scrum
III.3. Le backlog du produit
Le backlog du produit est l’artefact le plus important de Scrum, c’est l’ensemble des
caractéristiques fonctionnelles ou techniques qui constituent le produit souhaité. Les
caractéristiques fonctionnelles sont appelées des histoires utilisateur (user story) et les
caractéristiques techniques sont appelées des histoires techniques (technical story).
Le tableau 6 résume le backlog produit de notre application. Il est à noter que nous
n’avons pas cité les histoires techniques comme la préparation de la maquette graphique, les
travaux de conception et les jeux de tests, etc. Dans ce tableau chaque histoire utilisateur est
caractérisée par un rang déduit à partir de ses risques et sa priorité expliqués dans la section II
de ce même chapitre. Pour le traitement de nos histoires utilisateur nous choisissons de
commencer avec les cas d’utilisation les plus prioritaires et ayant le risque le moins élevé.
En plus du rang, chaque histoire utilisateur possède un effort (vélocité) qui est
l’estimation initiale sur la quantité de travail nécessaire pour implémenter cette exigence. Cet
29
43. Chapitre II : Planification et architecture
effort est calculé en point d’histoire qui correspond aux jours hommes idéaux. Généralement,
un point d’histoire vaut un jour/homme.
30
44. Chapitre II : Planification et architecture
Tableau 6: Backlog produit
Nom Effort Rang Description Thème
23
Risque Priorité
La récupération des 1 1 La récupération des Réalisation d’une Faible Élevé
données. informations sous format application de
JSON en utilisant les Web simulation
Services REST.
La manipulation de SVG 2 2 Consiste de reconstruire une Réalisation d’une Faible Élevé
image SVG avec des formules application de
mathématiques simulation
L’utilisation des plugins 1 3 Permet la reconstruction et la Réalisation d’une Moyen Élevé
Raphael.JS et Fabric.JS manipulation de la plateforme application de
et SnapSVG.JS de simulation d’une manière simulation
dynamique.
Nom Effort Rang Description Thème Risque Priorité
La récupération des 2 4 Permet de parcourir la liste des Réalisation d’un Moyen Élevé
informations depuis un personnes et de sélectionner Framework Kinect
dispositif Kinect l’un des utilisateurs engagés
puis la récupération de toute
information relative à ce
23
Thème : c’est la traduction du mot « features » selon Claude Aubry
31
45. Chapitre II : Planification et architecture
dernier en utilisant la
plateforme .Net.
La transmission des 2 5 Consiste de stocker les Réalisation d’un Moyen Élevé
données à travers la informations d’utilisateur Framework Kinect
technologie du Web engagé dans un vecteur ensuite
Socket les transformer sous format
JSON et enfin les envoyer au
niveau du Web Socket
La récupération des 1 6 Permet de récupérer les Réalisation d’un Moyen Élevé
données au niveau des informations transmis au Framework Kinect
Navigateurs niveau du Web Socket.
La définitions des 1 7 L’implémentation d’un Script Réalisation d’un Moyen Élevé
interactions au niveau du qui nous permet le Click, le Framework Kinect
JavaScript déplacement du curseur.
La définition des gestes 1 8 Permet la reconnaissance d’un Réalisation d’un Moyen Élevé
certain type de geste au niveau Framework Kinect
de l’application.
32
46. Chapitre II : Planification et architecture
III.4. Diagramme des cas d’utilisation global
Dans cette section nous présentons les besoins de notre système de manière formelle.
C'est-à-dire en utilisant le diagramme des cas d’utilisation du langage de modélisation UML
comme il est illustré dans la figure N°12.
Figure 12: Diagramme des cas d’utilisation global
33
47. Chapitre II : Planification et architecture
III.5. Architecture
Avant de se lancer dans la conception et le développement de tout système informatisé,
il est important de préparer l’architecture de ce dernier. Le terme architecture est vaste
puisqu’il y peut désigner l’architecture logique, l’architecture physique, architecture
logicielle, etc. Dans ce paragraphe nous nous intéressons à l’architecture « modèle
client/serveur » comme il est illustré dans la figure 13, c’est un mode de communication à
travers un réseau entre plusieurs programmes ou logiciels : l'un, qualifié de client, envoie des
requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y
répondent. Dans notre cas, le client désigne également une console Kinect sur lequel il peut
interagir avec notre site, et le serveur, l'ordinateur sur lequel est exécuté le logiciel serveur.
Figure 13: architecture Client/serveur
34
48. Chapitre II : Planification et architecture
Cette application contient deux modes d’utilisation chaque mode à sa propre
architecture:
Mode hors ligne :
Architecture 1-Tier notre Framework peut être implémenté en Mode hors ligne.
Notre ordinateur sur laquelle nous avons installé notre Kinect va récupérer les
informations à travers un Framework développé en C# et les transmis au niveau des navigateurs à
l’aide d’un web socket sur l’adresse locale « LOCALHOST » et le port « 2012 »
Figure 14: Représentation de l’architecture 1 tiers
Mode en ligne :
L’architecture 3-Tier divise chaque application en trois couches logiques séparées
comme il est illustré dans la figure 15:
La couche présentation contient l'interface utilisateur. La couche métier effectue le
contrôle de processus métier, où la logique et les règles fonctionnelles sont exécutées. La
couche donnée se charge du stockage de données et y contrôle les données. Le composant de
gestion des données s'assure que les données sont conformes dans tout l'environnement
distribué. Employer des données fermant à clef et évitant la réplique des données peut assurer
leur uniformité.
35
49. Chapitre II : Planification et architecture
Figure 15: Représentation de l’architecture N tiers
III.6. Planification des sprints
La réunion de planification des sprints est l’événement le plus important dans Scrum.
Le but de cette réunion est de préparer le planning de travail et d’identifier le backlog des
sprints24
. L’un des produits de cette réunion est le choix de la durée des sprints et qui diffère
selon la complexité du projet et la taille de l’équipe. Pour notre projet nous avons choisi de
développer deux releases. Le premier sera nommé gestion des ressources (ressources
matérielles et humaines de l’école) et le second sera pour la gestion de l’enseignement. Pour
notre cas la durée de 21 jours pour un sprint semble adéquate.
La figure N°16 résume notre planning de travail.
24
Backlog du sprint : c’est l’ensemble des user story inclus dans le sprint
36
50. Chapitre II : Planification et architecture
Figure 16: Plan du release
V. Conclusion
Dans ce chapitre nous avons préparé notre plan de travail. Nous avons capturé les
besoins fonctionnels de notre application, les rôles des utilisateurs, par la suite nous avons
préparé l’architecture client/serveur ainsi que le plan de release de notre projet.
37
51. Chapitre III : La réalisation d’une application de simulation
Chapitre 3:
Release 1 : La réalisation
d’une application de
simulation
Le terme release peut être défini comme une
version distribuée d'une application [15] ou une
période de temps qui permet de la produire.
Peu importe quelle définition nous utilisons,
une release est constituée d'une suite
d'itérations (sprint) qui se terminent quand les
incréments de ces derniers construisent un
produit présentant suffisamment de valeur aux
utilisateurs finaux.
La durée des releases est définie par le
Product Owner en collaboration avec son
équipe Scrum. Notre premier release sera
composé de deux sprints, chacune ayant une
vélocité de 30 jours. Tous au long de ce
chapitre, nous allons traiter les histoires
utilisateurs de nos sprints pour produire un
incrément potentiellement livrable.
53. Chapitre III : La réalisation d’une application de simulation
I. Le premier sprint
Le sprint est le cœur de Scrum. Il s’agit d’un bloc de temps durant lequel un incrément
du produit sera réalisé. Tous les sprints d’une release ont une durée constante et ne se
chevauchent jamais, c'est-à-dire qu’un sprint ne peut pas démarrer tant que le précédent n’est
pas encore terminé.
Avant de se lancer dans un sprint, l’équipe Scrum doit obligatoirement définir le but de
ce dernier. Ce but doit être défini en terme métier et non pas en terme technique pour qu’il
soit compréhensible par les membres en dehors de l’équipe. Il s’agit de répondre à une
question fondamentale « pourquoi faisons-nous ce sprint ? ». Suite à une conversation entre le
Product Owner et l’équipe Scrum, nous avons décidé le but suivant : «l’implémentation du
SVG au niveau de la simulation ».
Une fois, nous avons défini le but de notre sprint, il est temps de décider quelles histoires
inclure dans ce dernier. Plus précisément, quelles histoires de notre backlog du produit seront
incluses dans le backlog du sprint. Le tableau 7résume donc le backlog de notre premier sprint :
Tableau 7: Backlog du premier sprint (release 1)
Histoire utilisateur Estimation
La reconstruction des images SVG. 7
L’utilisation des plugins Raphael.JS 10
L’utilisation des plugins Fabric.JS 10
Passons maintenant au vif de notre sujet : les activités et le cycle de développement.
Dans un sprint nous pouvons dégager quatre activités principales qui sont la spécification
39
54. Chapitre III : La réalisation d’une application de simulation
fonctionnelle, la conception, le codage et le test. Tout au long de ce sprint, nous respectons ces
activités pour construire le plan de notre travail.
I.1. Spécification fonctionnelle
La spécification fonctionnelle dans notre cas se traduit par le diagramme des cas
d’utilisation d’UML et la description textuelle de ces derniers.
I.1.1 Description du champ de l’étude
Dans cette sous-section, nous présentons le diagramme de cas d’utilisation illustrant les
interactions entre les acteurs et notre application comme il l’indique le schéma suivant (figure
17).
❖ Description graphique des cas d’utilisation :
Figure 17: Diagramme de cas d’utilisation Front Office
40
55. Chapitre III : La réalisation d’une application de simulation
❖ Description textuelle des cas d’utilisation:
Pour rendre notre diagramme des cas d’utilisation plus lisible et afin de décrire le
comportement d’un système, les concepteurs d’UML proposent l’utilisation d’une technique
nommée la description textuelle des cas d’utilisation. En outre, la description textuelle n’est
pas normalisée dans UML. Nous proposons donc d’utiliser le plan adapté par Pascal Roques
dans [11].
a) Description textuelle du cas d’utilisation « Uploader une image »
Tableau 8: Description textuelle du cas d'utilisation « Uploader une image »
Description
Titre Uploader une image
But Permet à l’utilisateur d’intégrer l’image de son habitation au
niveau de notre application dans l’objectif de simuler les
portes disponibles.
Pré-condition L’application est lancée, une connexion internet est requise.
Scénario nominal L’application demande à l’utilisateur de choisir une image à
travers sa localisation dans son propre machine « Path ».
L’utilisateur choisit une image et appuie sur le bouton
Valider.
L’application vérifie l’extension du notre image et demande
à l’utilisateur de choisir les points de contrôles.
L’utilisateur modifie la position et la taille de l’image selon
la résolution spatiale de son écran et appuie sur le bouton
Continuer.
L’application adapte sa nouvelle image et l’affiche sur la
zone de simulation.
Enchaînements alternatifs
- A1 : image non valide L’enchainement A1 démarre au point 3 du scénario nominal.
41
56. Chapitre III : La réalisation d’une application de simulation
L’application indique à l’utilisateur que l’extension de son
image n’est pas valide.
Le scénario nominal reprend au point 1.
Enchaînements d’erreur Néant.
Post-conditions L’image de notre utilisateur a été adaptée au niveau de la
simulation.
b) Description textuelle du cas d’utilisation « Prendre une image »
Tableau 9: Description textuelle du cas d'utilisation « Prendre une image »
Description
Titre Prendre une image
But Permet à l’utilisateur de prendre des photos en temps réel.
Pré-condition L’utilisateur choisit le menu « Maison » et appuie sur le
bouton « Prendre Photo».
Scénario nominal L’application vérifie si une Cam est installée correctement
sur son propre dispositif.
L’application affiche une interface de capture qui nous
permet de prendre des images.
L’utilisateur appuie sur le bouton « Capturer »pour prendre
une image.
L’application demande à l’utilisateur de choisir les points de
contrôles.
L’utilisateur modifie la position et la taille de l’image selon
la résolution spatiale de son écran et appuie sur le bouton
Continuer.
L’application adapte sa nouvelle image et l’affiche sur la
zone de simulation.
Enchaînements alternatifs Néant.
42
57. Chapitre III : La réalisation d’une application de simulation
Enchaînements d’erreur
- E1 : annuler le traitement L’enchaînement E1 démarre au point 1 du scénario nominal
L’application ne détecte pas une caméra installée.
Le cas d’utilisation se termine en échec.
Post-conditions L’image de notre utilisateur a été adaptée au niveau de la
simulation.
c) Description textuelle du cas d’utilisation « Définir la vue »
Tableau 10: Description textuelle du cas d'utilisation « définir la vue »
Description
Titre Définir la vue
But Permet de définir la vue de notre simulation (intérieur,
extérieur).
Pré-condition Une connexion est requise.
Scénario nominal L’utilisateur appuie sur le bouton « Changer vue ».
L’application affiche l’image par défaut de la vue
sélectionnée.
Enchaînements alternatifs Néant
Enchaînements d’erreur Néant.
Post-conditions l’image de notre simulation est changée.
d) Description textuelle du cas d’utilisation « Choisir les accessoires »
Tableau 11: Description textuelle du cas d'utilisation « Choisir les accessoires »
Description
Titre Choisir les accessoires
But Permet à l’utilisateur d’ajouter une valeur esthétique au
niveau de son porte souhaité.
43
58. Chapitre III : La réalisation d’une application de simulation
Pré-condition l’utilisateur appuie sur la rubrique « Accessoires » et choisit
l’accessoire souhaité.
Scénario nominal L’application affiche tous les accessoires disponibles sur la
gamme courante.
L’utilisateur appuie sur l’accessoire souhaité.
L’application récupère l’accessoire et l’injecte au niveau de
la simulation.
Enchaînements alternatifs Néant
Post-conditions La zone de la simulation est modifiée par les nouveaux
accessoires.
e) Description textuelle du cas d’utilisation « Ajuster la taille »
Tableau 12: Description textuelle du cas d'utilisation « ajuster la taille »
Description
Titre Ajuster la taille.
But Permet le redimensionnement du notre porte.
Pré-condition l’utilisateur appuie sur la porte.
Scénario nominal L’application affiche les points de contrôle relatif de notre
porte.
L’utilisateur appuie sur une des points de contrôle et le
déplace au niveau de la zone de simulation en utilisant la
technologie de Drug and Drop.
L’application nous permet d’afficher la porte avec les
nouvelles modifications.
Enchaînements alternatifs Néant.
Post-conditions Néant.
44
59. Chapitre III : La réalisation d’une application de simulation
f) Description textuelle du cas d’utilisation « Changer Type de cadre »
Tableau 13: Description textuelle du cas d'utilisation « Changer Type de cadre »
Description
Titre Changer type de cadre
But Permet de changer le type du cadre au niveau de la
simulation.
Pré-condition l’utilisateur appuie sur la rubrique« Formes» et choisit type
du cadre « Standard, Mono Bloc ».
Scénario nominal L’application affiche la simulation avec le nouveau type de
cadre.
Enchaînements alternatifs Néant.
Post-conditions Néant.
g) Description textuelle du cas d’utilisation « Personnaliser les éléments «Couleurs »
Tableau 14: Description textuelle du cas d'utilisation « Personnaliser les éléments «Couleurs »
Description
Titre Personnaliser les éléments « Couleurs »
But Permet à l’utilisateur de changer le couleur des éléments de
son porte.
Pré-condition l’utilisateur appuie sur la rubrique « Couleurs».
Scénario nominal L’application affiche la liste des couleurs disponible.
L’internaute appuie sur leur couleur souhaité.
L’application affiche la nouvelle simulation dont le couleur
modifié.
Enchaînements alternatifs Néant.
Post-conditions Néant.
h) Description textuelle du cas d’utilisation « Choisir la forme »
45
60. Chapitre III : La réalisation d’une application de simulation
Tableau 15: Description textuelle du cas d'utilisation « Choisir la forme »
Description
Titre Choisir la forme
But Permet la modification de la forme.
Pré-condition l’utilisateur appuie sur la rubrique « Formes».
Scénario nominal L’application affiche toutes les formes disponibles.
L’application demande à l’utilisateur s’il désire de changer
la forme.
L’utilisateur appuie sur la forme désiré.
L’application affiche à l’utilisateur les nouvelles
modifications.
Enchaînements alternatifs Néant.
Post-conditions Néant.
i) Description textuelle du cas d’utilisation « Valider Commande »
Tableau 16: Description textuelle du cas d'utilisation « Valider Commande »
Description
Titre Valider Commande
But Permet de passer son commande à un fournisseur dans le
but d’obtenir un devis.
Pré-condition l’utilisateur appuie sur le bouton « J’enregistre ma
simulation»
Scénario nominal L’application affiche un formulaire a rempli.
Le mainteneur rempli le formulaire.
L’application vérifie les champs et enregistre les
informations ainsi la simulation au niveau de la base de
données.
L’application affiche un message de confirmation.
46
61. Chapitre III : La réalisation d’une application de simulation
Enchaînements alternatifs Néant.
Post-conditions L’application envoie un mail de validation pour le client et
un autre pour le fournisseur.
I.2. Diagrammes de séquences
Le diagramme de séquences permet de cacher les interactions d'objets dans le cadre
d'un scénario d'un diagramme de cas d'utilisation. Dans un souci de simplification, nous
représentons 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'enchainement 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.
47
62. Chapitre III : La réalisation d’une application de simulation
a) Diagramme de séquence détaillé du cas d’utilisation « création d’une simulation »
Figure 18: Diagramme de séquence détaillé du cas d’utilisation « création de la simulation »
La figure n°18 illustre les tâches de la création d’une simulation. Dans ce diagramme, l’utilisateur charge notre application pour entrer à sa
session. Après le chargement, l’utilisateur accède à son espace ainsi qu’aux différentes fonctions.
48
63. Chapitre III : La réalisation d’une application de simulation
b) Diagramme de séquence détaillé du cas d’utilisation « modification des matériaux »
Figure 19: Diagramme de séquence détaillé du cas d’utilisation « modification des matériaux »
La figure n°19 illustre les tâches de la modification des matériaux. Dans ce diagramme, l’utilisateur peut consulter la liste des matériaux.
Ainsi, il peut changer le matériau actuel selon un critère choisi.
49
64. Chapitre III : La réalisation d’une application de simulation
c) Diagramme de séquence détaillé du cas d’utilisation « modification des formes »
Figure 20: Diagramme de séquence détaillé du cas d’utilisation « modification des formes »
La figure n°20 illustre les tâches consultation et modification des formes. Dans ce diagramme, l’utilisateur peut consulter tous les formes
puis il peut choisir une forme de la liste.
50
65. Chapitre III : La réalisation d’une application de simulation
d) Diagramme de séquence détaillé du cas d’utilisation « modification des panneaux »
Figure 21: Diagramme de séquence détaillé du cas d’utilisation « modification des panneaux »
La figure n°21 illustre les tâches de la modification des panneaux. Dans ce diagramme, l’utilisateur peut afficher les panneaux disponibles
ainsi, il peut choisir le panneau désiré.
51
66. Chapitre III : La réalisation d’une application de simulation
e) Diagramme de séquence détaillé du cas d’utilisation « modification des couleurs »
Figure 22: Diagramme de séquence détaillé du cas d’utilisation « modification des couleurs »
La figure n°22 illustre les tâches de la modification des couleurs. Dans ce diagramme, l’utilisateur peut consulter les couleurs disponibles.
Ainsi, il peut modifier le couleur de notre porte souhaité.
52
67. Chapitre III : La réalisation d’une application de simulation
f) Diagramme de séquence détaillé du cas d’utilisation « modification des vitrages »
Figure 23: Diagramme de séquence détaillé du cas d’utilisation « modification des vitrages »
La figure n°23 illustre les tâches de la modification des couleurs. Dans ce diagramme, l’utilisateur peut consulter la liste des vitrages
disponibles ainsi, il peut choisir l’un de ses vitrages.
g) Diagramme de séquence détaillé du cas d’utilisation « changement d’image »
53
68. Chapitre III : La réalisation d’une application de simulation
Figure 24: Diagramme de séquence détaillé du cas d’utilisation « changement d’image »
La figure n°24 illustre les tâches du changement d’image. Dans ce diagramme, l’utilisateur peut consulter la liste des maisons témoins,
choisir l’une de ses images pour personnaliser son simulation.
h) Diagramme de séquence détaillé du cas d’utilisation « changement des accessoires »
54
69. Chapitre III : La réalisation d’une application de simulation
Figure 25: Diagramme de séquence détaillé du cas d’utilisation « changement des accessoires »
La figure n°25 illustre les tâches du changement des accessoires. Dans ce diagramme, l’utilisateur peut consulter la listes des accessoires
pour la gamme choisi ainsi il peut choisir l’une des accessoires de la liste.
55
70. Chapitre III : La réalisation d’une application de simulation
I.3. Diagramme de classe
Le diagramme de classe est l’un des diagrammes statiques d'UML. Il permet de décrire
la structure d'un système informatique tout en montrant les différentes classes, leurs attributs,
leurs méthodes ainsi que les relations entre eux. Tout au long de nos sprints, nous essayerons
de construire ce diagramme au fur et mesure en ajoutant les différentes classes déduites.
L’étape typiquement orientée objet de l’analyse est la décomposition d’un domaine
d’intérêt en classes conceptuelles représentant les entités significatives de ce domaine. Il
s’agit simplement de créer une représentation visuelle des objets du monde réel dans un
domaine donné comme l’illustre le tableau N°17.
Tableau 17: Table liste des objets naturels
Numéro Classe Entités Propriétés
01 Vue_Maison id_vue Public
type_vue Private
02 Type_Accesoire id_Type_Accessoire Public
Libellé_Type_Accessoire Private
03 Sérigraphie id_Sèrigraphie Public
Libellé_Sèrigraphie Private
UrlImage_Sèrigraphie Private
PrixSupp_Sèrigraphie Private
04 Vitrage id_vitrage Public
56
71. Chapitre III : La réalisation d’une application de simulation
libelle_vitrage Private
05 Materiau id_Materieau Public
libelle_Materieau Private
06 Gamme id_Gamme Public
libéllé_Gamme Private
description_Gamme Private
07 Forme id_Forme Public
Libellé_Forme Private
08 Contart id_Contart Public
Civilité_Contart Private
Attribute Private
09 Distributeur id_Distributeur Public
RaisonSociale_Distributeur Private
CodeSiret_Distributeur Private
Email_Distributeur Private
10 Imposte id_Imposte Public
HauteurMax_Imposte Private
HauteurMin_Imposte Private
57
72. Chapitre III : La réalisation d’une application de simulation
11 Chasis id_Chasis Public
12 Cadre id_Cadre Public
HauteurMin_Cadre Private
HauteurMax Private
13 Vantail id_Vantail Public
HauteurMax_Vantail Private
HauteurMin_Vantail Private
Sens_Ouverture_Vantail Private
14 Element id_Element Public
Libéle_Element Private
Largeur_Element Private
attribute_min_Element Private
Largeur_Choisi_Element Private
Prix_Element Private
15 Couleur Id_Couleur Public
Libellè_Couleur Private
IntansitéR_Couleur Private
IntensitéV_Couleur Private
58
73. Chapitre III : La réalisation d’une application de simulation
IntensitéB_Couleur Private
Prix_Supp_Couleur Private
16 Accessoire id_Accessoire Public
Libellè_Accessoire Private
Url_Image_Accessoire Private
PositionX_Accessoire Private
PositionY_Accessoire Private
Prix_Supp_Accessoire Private
17 Picture_Maison id_picture Public
Description_Picture Private
Luminosité_Picture Private
Brillance_Picture Private
Largeur_Picture Private
Longeur_Picture Private
18 Simulation id_Simulation Public
Libellé_Simulation Private
19 Adresse id_Adresse Public
Adresse_Rue Private
59
74. Chapitre III : La réalisation d’une application de simulation
Adresse_Nro Private
Adresse_Ville Private
Adresse_code_postal Private
Adresse_Pays Private
Latitude Private
Longitude Private
20 Navigateur Id_Navigateur Public
Type_Navigateur Private
Version_Navigateur Private
21 Client Id_Client Public
Adresse_IP_Client Private
Pays_Client Private
Nom_Client Private
Contact_Client Private
Email_Client Private
Password_Client Private
Géolocalisation_Client Private
TelFixe_Client Private
60
75. Chapitre III : La réalisation d’une application de simulation
TelMob_Client Public
I.3.1. Représentation des associations
Les associations représentent des relations structurelles entre les classes d’objets.
Une association :
Exprime une connexion sémantique bidirectionnelle entre n classes (n>=1),
Représente une relation conceptuelle durable entre n classes (n>=1).
Les cardinalités d’une association :
Une cardinalités, dans une association, exprime le nombre de participations possibles
d’une occurrence de chaque entité à l’association comme il est indiqué dans le tableau 18.
Tableau 18: Table multiplicité des associations
1 Un et un seul
0..1 Zéro ou un
M..N De M à N (entiers)
0..* De 0 à plusieurs
1..* De 1 à plusieurs
N N (entier naturel)
Les associations qui figureront dans notre diagramme sont les suivantes comme
l’illustre le tableau N°19:
Tableau 19: Table de la représentation des associations
Numéro Association Classe Cardinalité
01 Possédé Gamme 1.*
61
76. Chapitre III : La réalisation d’une application de simulation
Accessoire 1.*
02 est achevé Simulation 1.1
Vue_Maison 1.1
03 est installé Adresse 1.*
Client 1.1
04 se connecte Client 1.*
Navigateur 1.1
05 Réalise Client 1.1
Simulation 1.*
06 Présente Forme 1.1
Simulation 1.*
07 est composé Forme 1.*
Element 1.*
08 Fabriqué Materiau 1.1
Gamme 1.*
09 Possède Gamme 1.*
Accessoire 1.*
10 Dispose Vitrage 0.1
Chassis 0.1
11 Caractérisé Vitrage 0.*
Sérigraphie 0.*
12 Peinturer Couleur 0.*
Vantail 2.*
13 est achevé Accessoire 1.*
Type_accessoire 1.1
14 Soussigne Distributeur 1.*
62
77. Chapitre III : La réalisation d’une application de simulation
Contrat 1.1
15 Se localise Distributeur 1.1
Adresse 1.1
I.3.2. Représentation des classes
Une classe n’est pas une fonction mais une description abstraite d’un ensemble d’objets du
domaine de l’application ; elle définit leur structure, leur comportement et leur relation.
Tableau 20: Table de la représentation des classes
Numéro Classe Attributs
01 Vue_Maison id_vue
type_vue
02 Type_Accesoire id_Type_Accessoire
Libellé_Type_Accessoire
03 Sérigraphie id_Sèrigraphie
Libellé_Sèrigraphie
UrlImage_Sèrigraphie
PrixSupp_Sèrigraphie
04 Vitrage id_vitrage
libelle_vitrage
05 Materiau id_Materieau
libelle_Materieau
63
78. Chapitre III : La réalisation d’une application de simulation
06 Gamme id_Gamme
libéllé_Gamme
description_Gamme
07 Forme id_Forme
Libellé_Forme
08 Contart id_Contart
Civilité_Contart
Attribute
09 Distributeur id_Distributeur
RaisonSociale_Distributeur
CodeSiret_Distributeur
Email_Distributeur
10 Imposte id_Imposte
HauteurMax_Imposte
HauteurMin_Imposte
11 Chasis id_Chasis
12 Cadre id_Cadre
HauteurMin_Cadre
64
79. Chapitre III : La réalisation d’une application de simulation
HauteurMax
13 Vantail id_Vantail
HauteurMax_Vantail
HauteurMin_Vantail
Sens_Ouverture_Vantail
14 Element id_Element
Libéle_Element
Largeur_Element
attribute_min_Element
Largeur_Choisi_Element
Prix_Element
15 Couleur Id_Couleur
Libellè_Couleur
IntansitéR_Couleur
IntensitéV_Couleur
IntensitéB_Couleur
Prix_Supp_Couleur
16 Accessoire id_Accessoire
65