WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et realisation d'un robot virtuel marketiste

( Télécharger le fichier original )
par Sorex HEMADAK ENKAM
Institut Africain d'informatique - Ingénieur des Travaux Informatiques option Genie Logiciel 2014
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

DEDICACE

Nous dédions ce travail A la grande famille HEMADAK.

REMERCIEMENTS

Nos sincères remerciements s'adressent à toutes les personnes qui ont oeuvré de près ou de loin dans l'accomplissement de ce projet :

· Au Représentant Résident de l'IAI (Institut Africain d'Informatique) au Cameroun, Centre d'Excellence Technologique Paul BIYA,Monsieur Armand Claude ABANDA ;

· Au Directeur Général de DREAMREAL, Monsieur Paul Batoum,également encadreur professionnelqui nous a accueillis au sein de la dite structure où nous avons découvert le monde professionnel ;

· A  MadameNDJATHEGermaine, encadreur académique,conceptrice et tutrice de cours à l'IAI-Cameroun Centre d'Excellence Technologique Paul BIYA, pour ses remarques, conseils et sa disponibilité ;

· A tous nos enseignants de l'IAI-Cameroun Centre d'Excellence Technologique Paul BIYApour leurs encadrements pendant tout notre parcours académique;

· A tous nos camarades.

SOMMAIRE

DEDICACE II

REMERCIEMENTS III

LISTE DES ABREVIATIONS V

LISTE DES FIGURES VI

LISTE DES TABLEAUX VII

RESUME VIII

ABSTRACT IX

INTRODUCTION GENERALE 1

PHASE D'INSERTION 2

INTRODUCTION 3

I - ACCUEIL DANS LA STRUCTURE 4

II-PRESENTATION GENERALE DE DREAMREAL 4

III- ORGANISATION ADMINISTRATIVE 7

CONCLUSION 9

CAHIER DE CHARGES 10

INTRODUCTION 11

I - CONTEXTE 12

II - ETUDE DE L'EXISTANT 12

III- LIMITES DE L'EXISTANT ET SOLUTIONS 13

IV- PROBLEMATIQUE ET SPECIFICATION DES BESOINS 13

V- PLANNING PREVISIONNEL DU PROJET 14

CONCLUSION 18

PHASE DE CONCEPTION 19

INTRODUCTION 20

I-ANALYSE 21

II-CONCEPTION 30

CONCLUSION 43

PHASE DE REALISATION 44

INTRODUCTION 45

I- MODELE PHYSIQUE DE DONNEES (MPD) 46

II-CHOIX TECHNOLOGIQUE ET MISE EN OEUVRE 46

III-ARCHITECTURE DE L'APPLICATION 51

IV-DESIGN PATTERN 52

V-PLAN DE L'APPLICATION 53

CONCLUSION 54

GUIDE UTILISATEUR 55

ANNEXES 62

BIBLIOGRAPHIE 63

WEBOGRAPHIE 64

LISTE DES ABREVIATIONS

2TUP:Two Track Unified Process

AGL : Atelier de Génie logiciel 

API: Application Programming Interface

CI: Commit

CO: Check Out

CRUD: Create Read Update Delete

CSS: Cascading Style Sheets

DrmEngine: Dreamreal Marketing Engine

E-Learning: Apprentissage en ligne 

ERP:Enterprise Resource Planning

HTML: HyperText Markup Language

HTTP:HyperText TransferProtocol 

IAI : Institut Africain d'Informatique 

IT :Information Technology 

MPD: Modèle Physique de Données 

MVT:Model View Template

NONREL: Non-Relational 

NOSQL: NonStructure Query Language

PME: Petites et Moyennes Entreprises 

PMI:Petites et Moyennes Industries 

ORM: Object-Relational Mapping 

SGBD: Système de Gestion des Bases de Données 

SI : Système d'Information 

SMS: Short Message Service 

SQL: Structure Query Language

SVN: Contrôle de version / contrôle de code source 

TIC: Technologies de l'Information et de la Communication 

UML: Uni?ed Modeling Language

PC:PersonalComputer

TCP/IP:TransferControl Protocol / Internet Protocol

LISTE DES FIGURES

Figure 1 : Technologie de développement (SVN) 7

Figure 2 : Organigramme de DREAMREAL 8

Figure 3 : Processus 2TUP 22

Figure 4 : Diagramme de cas d'utilisation global 28

Figure 5 : Cas d'utilisation Administration de la base de données 29

Figure 6 : Cas d'utilisation relance sur les réseaux sociaux 29

Figure 7 : Diagramme de déploiement 30

Figure 8 : Diagramme de classes 31

Figure 9 : Diagramme de composants 32

Figure 10 : Diagramme de séquence authentification 34

Figure 11 : Diagramme de séquence envoyer un message 35

Figure 12 : Diagramme de séquence Exporter la base de données 36

Figure 13 : Diagramme de séquence mise à jour de la base de données 38

Figure 14 : Diagramme d'activité envoyer un message 39

Figure 15 : Diagramme d'activité exportation de la base de données 40

Figure 16 : Diagramme d'activité mise à jour de la base de données 40

Figure 17 : Diagramme d'activité authentification 41

Figure 18 : Formalisme diagramme d'état- transition 41

Figure 19 : Etat-transition, gestion des Drmusers 42

Figure 20 : Modèle physique de données 46

Figure 21 : Architecture trois tiers www.architecturetroistiers.fr/3t.jpeg 51

Figure 22 : Architecture MVT www.openclassroom.com/mvt/mvt.jpeg 52

Figure 23 : Plan de l'application 53

Figure 24 : Page d'authentification 59

Figure 25 : Dashboard Admin 59

Figure 26 : Plan de localisation de DREAMREAL 65

Figure 27 : Diagramme de Gantt 65

LISTE DES TABLEAUX

Tableau 1 : Types de systèmes utilisé 3

Tableau 2 : Logiciels utilisés 6

Tableau 3 : Limites de l'existant 13

Tableau 4 : Fonctionnalités de l'application 14

Tableau 5 : Ressources humaines 15

Tableau 6 : Liste des itérations du projet 15

Tableau 7 : Paye des ressources humaines 16

Tableau 8 : Ressources matérielles et logicielles 16

Tableau 9 : Description du processus 2TUP 24

Tableau 10 : Formalisme des cas d'utilisation 25

Tableau 11 : Liste des acteurs du projet 26

Tableau 12 : Description préliminaire des cas d'utilisation 27

Tableau 13 : Formalisme du diagramme de classes 30

Tableau 14 : formalisme du diagramme de séquence 33

Tableau 15 : Formalisme du diagramme d'activités 38

Tableau 16 : Langages de programmation utilisés 47

Tableau 17 : Ressources logicielles 47

Tableau 18 : Choix technologique 48

RESUME

DREAMREAL, société de services, parmi lesquels l'apprentissage de l'anglaisen ligne et des services informatiques variés.Elle offre la gamme la plus complète des prestations adaptées aux besoins des entreprises de type PME et PMI, aux particuliers ainsi qu'aux collectivités locales, régionales et nationales. S'agissant de l'apprentissage de l'anglais en ligne, après un imminent constat sur le taux d'apprentissage en baisse, nous avons opté pour une application de relance des apprenants de gymglishà travers les réseaux sociaux. Pour menerà bien leur gymnastique anglaise,nous avons mis sur pieds un outil qui va permettre le suivi efficace des apprenants. Bien évidement cet outil viendra augmenter le taux d'assiduité des apprenants inscrits sur gymglish en leur rappelant de toujours faire leurs leçons gymglish et leur devoirs, et en même temps, faire la publicité de la société DREAMREAL dans les réseaux sociaux. La mise en oeuvre de cetoutilse fera à travers l'élaboration des différents dossiers (analyse, conception, réalisation et du guide utilisateur). Tout ce travail se fondant sur une méthode et des outils nécessaires et adaptés.

ABSTRACT

DREAMREAL is aCompany which offer many services, among, learning of English online and various IT services. It offer the most comprehensive range of services tailored to the needs of SME-SMItype of companies, and individuals as well as local, regional and national levels. Always at the service of its customers, we opted for a stimulus application of gymglish learners through social networks. To carry out their English gymnastics, we set foot on tools that willalouteffective monitoring of learners. Obviously this tool is to increase the attendance rate of learners enrolled on gymglish reminding them to always do their homework and lessons gymglish and simultaneously advertise the DREAMREALCompany in social networks. The implementation of this tool will be through the development of differents files (analysis, design, implementation and user guide). All this work is based on a methodology and adaptedtools.

INTRODUCTION GENERALE

Dans un contexte sociétal où le bilinguisme est indéniablement un facteur essentiel de productivité et de compétitivité au sein des entreprises, celui-ci est plus que jamais au coeur des préoccupations et une source intarissable de divergences d'opinions. Si la crise socio-économique pousse les entreprises à exercer des pressions grandissantes sur la formation en anglais, cette dernière est paradoxalement en proie à un marché qui ne cesse de promouvoir l'usage des nouvelles technologies et de ses bénéfices. L'anglais est l'une des langues les plus parlées dans le monde et sa maitrise constitue un atout majeur pour les chercheurs d'emploie. La Société DREAMREAL, prestataire de cours d`anglais en ligne propose la plus complète des prestations adaptées aux besoins des entreprises de type PME et PMI et aux particuliers.Les prestations s'étendent aussi aux collectivités locales régionales et nationales, grâce aux technologies de l'information et de la communication. De plus en plus, les formations en lignes dominent les formations en présentielles. La réalisation d'un stage académique d'une durée de trois (03) mois au sein de DREAMREAL nous a permis de mettre en place une application de relance des apprenants de gymglish à travers les réseaux sociaux. En effet, nous verrons les particularités de ce projet qui s'inscrit dans un remaniement radical des méthodes de formation en ligne, loin des standards souvent rencontrés. Nous présenterons la solution DrmEngine ainsi que ses apports bénéfiques sur les pratiques pédagogiques mais aussi ses limites. Enfin, nous verrons quelles sont les perspectives futures envisagées aujourd'hui malgré les difficultés rencontrées et la mise en place qui se veut extrêmement progressive dans le cadre d'une amélioration continue.

PHASE D'INSERTION

RESUME

Le dossier d'insertion est la première partie du rapport de stage. Celui-ci informe sur la prise de contact avec la structure d'accueil jusqu'au choix du thème à développer.

APERCU

Introduction

I. Accueil dans la structure

II. Présentation générale de DREAMREAL

III. Organisation Administrative

Conclusion

INTRODUCTION

L'insertion professionnelle est un processus permettant aux étudiants de s'imprégner des réalités du monde professionnel, afin d'appliquer les connaissances théoriques acquises en pratique.Suite a une demande de stage académique, nous avons été retenu à la prestigieuse entreprise DREAMREAL à Yaoundé, afin d'appliquer les enseignements reçus au cours,et en même temps nous confronter aux réalités du monde socioprofessionnel. Le stage étant subdivisé en plusieurs parties, la première étant la phase d`insertion, nous présenterons ici, l'accueil qui nous a été réservé, la structure dans son ensemble, le problème qui a été soumis à notre étude et enfin les rapports entre employés.

I -ACCUEIL DANS LA STRUCTURE

Le Mercredi 1er juillet 2015 est le jour marquant notre arrivée dans les locaux de DREAMREAL situé au marché central, en face du Katios, a l'immeuble dit « Grand carrefour» ou encore « Unics ». Une fois à l'accueil, Nousavons eu un entretien d'une heure avec le Directeur général qui par la suite nous a présenté au reste du personnel de l'entreprise. Nous avons fait une brève présentation du cahier de charges de génie logiciel de troisième année de l'IAI-Cameroun. Part la suite, il nous fut attribué un encadreur professionnel, qui nous a présenté notre bureau. Enfin un règlement intérieur permettant de mieux comprendre le fonctionnement et les missions de l'entreprise nous a été remis.

II-PRESENTATION GENERALE DE DREAMREAL

1. Historique

La société DREAMREAL a été créée en 2009 en France par Paul BATOUM, Ingénieur de Conception Informaticien,qui a déployé ses services dans diverses parties du globe à l'instar de la France, des Etat Unis et d'autre pays. A la base, la société est pensée pour la formation en anglais, ensuite devenu un cabinet de développement d'applications informatiques.La même année, il siège au Cameroun son pays d'origine et y crée une représentation de DREAMREAL,qui a pour objet les technologies de l'information et de la communication.

2. Les missions et services

DREAMREAL a pour mission, directement ou indirectement au Cameroun et à l'étranger : l'intégration des TIC dans des entreprises et la formation en anglais en ligne. Entre autre, nous pouvons citer les services tels que :

· APPRENTISSAGEEN LIGNE DE L'ANGLAIS

GYMGLISH : solution qui permet d'apprendre l'anglais sans faire d'effort d' où le nom gymnastique en anglais mais enligne selon votre temps et votre disponibilité.

· STRATEGIES DE L'ENTREPRISE

A ce titre, nous proposons aux entreprises et aux particuliers un STARTER Pack ; c'est une équipe composée de :

Ø Un ingénieur de conception en informatique ;

Ø Une communicatrice d'entreprise ;

Ø Un ingénieur des travaux informatique ;

Ø Un juriste ;

v Pour vous procurer :

Ø OpenERP(Odoo) : Installation, configuration et customisation ;

Ø Un site internet(CMS) ;

Ø 1 an d'hébergement ;

Ø Formation et utilisation du CMS (administrateurs et utilisateurs) ;

Ø E-mail personnalisée (05) ;

Ø Outils d'analyse de trafic ;

Ø Formation à l'outil de trafic ;

Ø Brochure de présentation de votre société.

· SYSTEME D'APPLICATION

Ø Débogage logiciel ;

Ø Hébergement de site web ;

Ø Outsourcing ;

Ø Développement des applications (web, win32 et mobile).

3. Attributions du Service Informatique

Le service en charge de notre stage est le Service Informatique. Ses attributions sont les suivantes :

· La conception et la mise en oeuvre du schéma directeur informatique de l'entreprise ;

· Des études de développement, de l'exploitation et de la maintenance des applications et du réseau informatique de l'entreprise ;

· La mise en place des banques et des bases de données relatives aux différents sous systèmes informatiques de l'entreprise ;

· La sécurisation, la disponibilité et l'intégrité du système informatique du centre de l'entreprise ;

· La planification des projets de l'entreprise ;

· Le traitement informatique, la conservation et la diffusion des données ;

· La veille technologique en matière informatique.

· L'encadrement des stagiaires.

DREAMREAL dispose des ordinateurs de bureau, des imprimantes des routeurs, des Switch et une connexion internet. Le parc informatique de DREAMREAL de Yaoundé comporte environ trois (03) ordinateurs de bureau répartis dans les différents services et départements. Les ordinateurs rencontrés ont les mêmes caractéristiques et les mêmes marques et sont représentés dans les tableaux suivant :

· Systèmes d'exploitation

Tableau 1 : Types de systèmes utilisé

Type

Marque

Disque dur

Ram

Processeur

Système d'exploitation

Desktop

LG

80Go

1Go

Intel Pentium 4

Centos 7

Ordinateur portable

Dell

250Go

2Go

Intel Core i5

Windows 10

Ordinateur portable

HP

500Go

4Go

Intel Core i5

Centos 7

· Une imprimante de marque : HP LaserJet Cp 1215.

· Les logiciels utilisés sont pour la plus part des logiciels libres (Open Source) :

Tableau 2 : Logiciels utilisés

Logiciel

Fonctionnalités

Backup Manager

Utilitaires de gestion de sauvegarde des disques durs

Libre office

Suite bureautique

Plone

Content Management System (CMS)

Apache

Serveur web

Emacs

Editeur de texte

Django

Framework web

Python

Langage de programmation

OpenERP (Odoo)

Contrôle et le suivi des projets et des taches

EXtreme Programming

Cycle de développement logiciel

· Technologies utilisées (Environnement de développement)

Dreamreal pour ses projets de développement utilise la technologie SVN (Contrôle de version / contrôle de code source), qui permet de partager le code source d'une application en locale. La figure suivante présente son fonctionnement.

Serveur CentOs7

Code

Client 2

(Code local)

CO/CI

Client 1

(Code local)

CO/CI

Client n

(Code local)

CO/CI

CI

Figure 1 : Technologie de développement (SVN)

4. Situation géographique

DREAMREAL est situé à Yaoundé, en plein centre-ville, au marché central. En face du Katios, au lieu dit « Grand carrefour », immeuble Unics. (Voir plan de localisation à l'Annexe 3).

III- ORGANISATION ADMINISTRATIVE

Dans son fonctionnement au quotidien, DREAMREAL est gérée par le comité directeur qui joue un rôle d'orientation et de contrôle. L'entreprise est dirigée au quotidien par le Directeur Général. Cette dernière comprend un Directeur Technique et un Directeur Commercial. Le personnel est réparti entre le siège de la société à douala et l'antenne régionale de Yaoundé (structure mère) est organisée de manière suivante :

· Du Directeur Général ;

· D'une Secrétaire ;

· D'une Directrice Marketing et communication ; 

· D'un Comptable ;

· Du Directeur Technique et Informatique ;

· D'un responsable de la formation en anglais ;

Secrétariat

Service de la Formation en Anglais

Service Informatique

Système d'Administration

Directeur

Général

Figure 2 : Organigramme de DREAMREAL

CONCLUSION

En somme, notre insertion dans la société Dreamreal s'est effectuée dans une ambiance conviviale tant avec le personnel qu'avec l'encadreur. La disponibilité de l'encadreur et l'accueil chaleureux qu'ils nous ont réservé ont facilité notre adaptation au fonctionnement du centre d'accueil.

CAHIER DE CHARGES

RESUME

Le cahier des charges est un document qui doit être respecté lors de la réalisation d'un projet.

APERCU

Introduction

I. Contexte

II. Etude de l'existant

III. Les limites de l'existant

IV. Solution proposée

V. Les livrables

VI. Les ressources

Conclusion

INTRODUCTION

Le présent cahier de charges vise à définir les spécifications de base du produit à réaliser. Il sert à formaliser les besoins et à les expliquer aux différents acteurs pour s'assurer que tout le monde soit d'accord. Il permet notamment de cadrer la ou les missions des acteurs impliqués, dont celle du Maître d'ouvrage (Directeur du projet) et/ou du Maître d'oeuvre (Chef du projet). Il s'agira pour nous de faire la présentation du système d'information actuel, d'en ressortir les insuffisances et de proposer des solutions.

I -CONTEXTE

La société Dreamreal est un cabinet de développement qui propose des solutions informatiques aux entreprises, en même temps, offre des cours d'anglais personnalisés en ligne à travers leur plateforme Gymglish.

La plateforme Gymglish est une application web, dotée d'une intelligence artificielle, qui offre des cours d'anglais personnalisés aux particuliers et aux entreprises en ligne. L'apprenant a la possibilité de s'inscrire soit en ligne via l'interface Gymglish, soit par MTN Mobile Money à travers un téléphone portable, ou alors se rendre dans les bureaux de Dreamreal. Les cours d'anglais étant personnalisés, chaque apprenant a son cours personnalisé, en fonction des ses difficultés et ses aptitudes. Etant donné que les cours sont en ligne, les apprenants sont beaucoup plus connectés aux réseaux sociaux au lieu d'effectuer leurs leçons, ne répondent pas a leur mails gymglish. Dès lors, le taux d'assiduité aux leçons gymglish est réduit, alors l'entreprise Dreamreal se soucie de la bonne formation de ses apprenants. Cependant, nous proposons un outil informatique capable de faire des relances automatisées aux clients gymglish, pour leur rappeler de suivre leurs leçons. Dans le souci de remonter le taux d'assiduité aux leçons gymglish, cet outil informatique sera capable de faire des rappels aux clients en temps réel, en même temps faire le marketing de l'entreprise. L'étude de l'existant et une bonne analyse se présentent comme des pièces inéluctables dans ce processus.

II - ETUDE DE L'EXISTANT

L'étude de l'existant est une phase importante pour bien comprendre le système actuel et définir ses objectifs.

Avant l'inscription, les clients ont les possibilités d'effectuer des démos (leçons gratuites) pendant une semaine, et après décider de s'inscrire ou pas, avec des échéances de paiement. Les cours se font tous les jours pendant dix à quinze minutes, avec des rendez-vous synchrones et asynchrones sur la demande de l'apprenant.

Dès que le client se connecte à l'interface de l'application, il effectue ses leçons. Il reçoit des mails auxquels il devra répondre en fonction de sa date de dernière réponse. Il s'est donc avéré que, les apprenants n'étaient pas satisfaits de leur niveau en anglais après la formation juste parce qu'ils ne faisaient pas leurs leçons régulièrement. La principale cause étant l'oubli pour certains, et la mauvaise volonté pour d'autres car, étant connectés sur des réseaux sociaux, s'emportent.

III- LIMITES DE L'EXISTANT ET SOLUTIONS

Les critiques que nous apportons au système actuel sont les suivantes :

Tableau 3 : Limites de l'existant

CRITIQUES

CONSEQUENCES

SOLUTIONS

Suivi peu aisé des apprenants

Faible taux d'assiduité aux leçons

Automatisation du suivie des apprenants non assidu sur les réseaux sociaux

Plan de communication et marketing incomplet

Entreprise inconnue par les internautes

Publicités de l'entreprise sur les réseaux sociaux

Envoie manuel des mails a tous les absents

Fastidieux, pénible et lent avec risque d'erreurs élevées

Automatisation del'envoi des mails et messages

Nombre du personnel élevé

Dépenses de l'entreprise sur les salaires

Automatisation des tâches et réduction du personnel

IV- PROBLEMATIQUE ET SPECIFICATION DES BESOINS

1. Problématique

Les apprenants des gymglish,avec le système actuel, ont un taux d'assiduité pour la majorité très bas d'après des études statistiques, il n'est donc pas facile pour un apprenant après sa formation gymglish, de maitriser l'anglais. Car, la majorité des apprenants, aux heures de leurs leçons sont connectés sur des réseaux sociaux, soit pas négligence, soit par oublie et par conséquent ne font pas leurs leçons et devoirs.

DREAMREAL a pour objectif de transmettre la langue anglaise. Avec un taux d'assiduité très bas, ne serrait il pas intéressant de suivre les apprenants non assidus sur des réseaux sociaux, durant leur leçons ? Bienplus, une intelligence artificielle de relance des apprenants non assidusn'est-elle pas la bienvenue ?

2. Spécification des besoins

La spécification des besoins est l'ensemble des contraintes fonctionnelles et non fonctionnelles liées à la future application. Les contraintes fonctionnelles désignent l'ensemble des fonctionnalités nécessaires au bon fonctionnement du futur système, tandis queles contraintes non fonctionnelles sont l'ensemble des fonctionnalités non nécessaires pour le fonctionnement du système.

a. Objectifs

Cette application « DrmEngine » est un robot virtuel qui permettra a la société DreamReal de faire des relances ases apprenants a partir des réseaux sociaux et en même temps faire le marketing le l'entreprise.

b. Fonctionnalités

Cette application aura les modules suivants :

Tableau 4 : Fonctionnalités de l'application

Modules

Cas d'utilisations

Gestion des utilisateurs

- Ajouter un utilisateur

Gestion des compagnies

- Ajouter une compagnie

Gestion des réseaux sociaux

- Ajouter un réseau social

- Enregistrer les conversations

Administration de la base de données

- L'exportation de la Base de Données distante

- La mise à jour de la base de données locale

Relance des apprenants

- Les conversations avec les apprenants via les réseaux sociaux

V-PLANNING PREVISIONNEL DU PROJET

1. Planification du projet

La planification d'un projet représente une sorte de calendrier du projet, c'est à dire la programmation des taches dans le temps, accompagné des ressources humaines, liées à ces taches. La figure (voire Annexe 4) représente notre diagramme de Gantt.

2. Ressources humaines (équipe projet)

Tableau 5 : Ressources humaines

Noms des Acteurs

Qualité

Rôles

M.HEMADAK ENKAM Sorex

Etudiant en 3e Année Génie Logiciel

(Technicien Supérieure en Informatique)

Analyste Programmeur

M. Paul BATOUM

Encadreur Professionnel

(Ingénieur de Conception en Informatique)

Chef de projet

Mme DJATHE Germaine

Encadreur Académique

(Experte en Technologies Innovantes)

l'IAI-Cameroun Centre D'Excellence Technologique Paul BIYA

Superviseur

3. Tableau des itérations

Ce tableau recense le découpage de notre projet en petits morceaux (itération) ou sous projet pour mieux conduire notre projet et facilement évaluer son coût.

Tableau 6 : Liste des itérations du projet

No

Itération

Priorité

Risque

Temps estimé

1

Exportation de la Base de données

Haute

Elevé

3 semaines

(15 jours)

2

Mise à jour de la base de données

Moyenne

Moyen

2 semaines

(10 jours)

3

API des Réseaux sociaux

Haute

Elevé

3 semaines

(15 jours)

4

Différents Tests

Basse

Moyen

2 Semaines

(10 jours)

Total

10 semaines

(50 jours)

4. Tableau de paye des ressources humaines

D'après les références 36-003-100569,36-003-100571 et34-001-100640 de la Mercuriale des prix de référence 2015 au Cameroun, sont payé respectivement, pour un Chef de Projet, Ingénieur de Conception ayant plus de neuf (09) d'expérience professionnelle, 350 000 FCFA par jour,un Analyste Programmeur, niveau Technicien Supérieur (Bac +2), 150 000 FCFA par jour et un Superviseur des Travaux (Bac + 3), 200 000 FCFA par jour

Tableau 7 : Paye des ressources humaines

Acteurs

Heure par jour

Salaire par jour

Prix

Chef de projet

8h x 20jr

350 000 F CFA

7 000 000 F CFA

Superviseur

8h x 15jr

200 000 F CFA

3000 000 F CFA

Analyste programmeur

8h x 15jr

150 000 F CFA

2 250 000 F CFA

TOTAL

8h x 50jr

700 000 F CFA

10 250 000 F CFA

1. Ressources matérielles et logicielles

Les prix des ressources matérielles et logicielles sont tirés de la Mercuriale des prix de référence 2015 au Cameroun.

Tableau 8 : Ressources matérielles et logicielles

Coût du projet

MATERIELS ET LOGICIELS

Prix x Quantité

Coût total (FCFA)

SE : Windows 10 Pro x64

132 000 x 1

132 000FCFA

Microsoft Word 2016

402 500 x 1

402 500FCFA

Putty

gratuit

0FCFA

SE : Cent os 7

gratuit

0FCFA

Mozilla Firefox

gratuit

0FCFA

Un routeur CISCO

224 250 x 1

224250 FCFA

Un modem camtel 3G Rev B

45 000 x 1

45000 FCFA

Laptop HP Intel core i5 2.20 GHz, Ram 8 Go et Disque dur 500 Go

420 000 x 1

420 000 FCFA

Total

1 742 000 FCFA

Matériels de bureau

Ram de format

1x4500

4500 FCFA

Total

20 250 FCFA

Divers

Hébergement de l'application

30 000 x 12

360 000 FCFA

Frais d'impressions

30000

30000 FCFA

Frais de connexion internet

5000 x 3

20000 FCFA

Frais d'appel

10 000

10 000 FCFA

Taxi

30 000

20 000 FCFA

Total

440 000 FCFA

Coûtdu projet

2 182 000 FCFA

Coût propre du projet + Coût du projet

10 250 000 F CFA

Imprévus (10 %)

12 432000 x 10/100=1 243 200

Cout total du projet

12 432 000+ 1 243 200=13 675 200

Le projet DrmEngine a été évaluée a treizemillions six cent soixante quinze millesdeux cent (13 675 200) Francs CFA.

5. Les livrables

Comme livrables nous pouvons citer :

· le rapport final ;

· Le rapport d'insertion ;

· Le dossier de conception ;

· Le dossier de réalisation ;

· Le guide d'utilisateur.

· L'application DrmEngine;

· Le code source ;

· Le code exécutable.

CONCLUSION

Le cahier de charges ainsi défini nous a permis d'avoir une idée précise des exigences associées à la réalisation de notre application DrmEngine pour la relance des apprenants. Ce travail ainsi élaboré va nous permettre de passer à la conception.

PHASE DE CONCEPTION

RESUME

C'est un document qui fait l'objet d'intermédiaire entre le dossier d'analyse et le dossier de réalisation. C'est ici qu'on solutionne le problème qui a été relevé à l'analyse en ressortant dans les moindres détails tout ce qui devrait être fait. Il fera donc l'objet d'une étude détaillée de la solution et des différents outils que l'on utilisera (nouveaux modèles), dont le but est de fournir une représentation de la solution élaborée pour sa mise en oeuvre.

APERCU

Introduction

I. Analyse

II. Conception

Conclusion

INTRODUCTION

Une bonne méthodologie de réalisation d'une application suppose une bonne maitrise de l'analyse et de la conception, cette dernière nous offre tous les modèles destinés à assurer le fonctionnement du logiciel. Ces modèles permettent d'expliciter les fonctionnalités. De manière globale, elle offre une vue panoramique sur l'ensemble des éléments et les interactions pris en compte dans la conception, à savoir le modèle logique, le modèle physique.

I-ANALYSE

1. PRESENTATION DU LANGAGE DE MODELISATIONUML ET DE LA METHODE 2TUP

a) Le langage UML

Pour programmer une application, il ne faut pas se lancer tête baissée dans l'écriture du code, il faut d'abord organiser ses idées, les documenter, puis organiser la réalisation en dé?nissant les modules et étapes de la réalisation. C'est cette démarche antérieure à l'écriture du code que l'on appelle modélisation ; son produit est un modèle. Un modèle est une abstraction du résultat, dont le but est de documenter, de prévoir, d'étudier, de collecter ou d'estimer les informations d'un système. C'est donc la vue sur une spécification ou sur une solution de système, pris à un niveau de détail pertinent pour exprimer ou concevoir la cible de l'étape en cours. UML est un langage de modélisation graphique et objet qui offre différentes vues (diagrammes) pour modéliser un système, qui se répartissent en deux catégories :

· Les diagrammes structurels ou diagrammes statiques(UML Structure) :

· Diagrammes de classe (Class diagram) ;

· Diagrammes d'objet (Object diagram) ;

· Diagrammes de cas d'utilisation (Use case diagram) ;

· Diagrammes de composant (Component diagram) ;

· Diagrammes de déploiement (Deploymentdiagram).

· Les diagrammes comportementaux ou diagrammes dynamiques (UML Behavior) :

· Diagrammes d'activité (Activity diagram) ;

· Diagrammes d'état-transition (State machine diagram) ;

· Diagramme de collaboration ;

· Diagrammes de séquence (Sequencediagram).

Le langage UML est également utilisé par plusieurs méthodes, à cause de son formalisme similaire, en occurrence 2TUP, qui est la méthode adéquate pour le cycle de développement de notre application. 

b) La méthode d'analyse 2TUP

En informatique, les méthodes de processus de génie logiciel constituent les guides méthodologiques de travail. Il en existe plusieurs,nous allons privilégier les méthodes de Processus Unifié. En anglais UP (Unified Process), ces méthodes sont itératives et incrémentales, et UML est le langage de modélisation objet standard de ces processus. Nous avons choisis 2tup parce qu'il gère la complexité technologique en donnant part à la technologie dans son processus de développement.

La méthode2TUP propose un cycle de développement (encore appelé cycle en Y) qui dissocie les aspects techniques des aspects fonctionnels et propose une étude parallèle des deux branches : fonctionnelle (étude de l'application) et la technique (étude de l'implémentation). Illustré sur la figure suivante, le processus 2TUP s'articule autour de trois phases :

· Une branche fonctionnelle (Analyse) ;

· Une branche technique (architecture technique) ;

· Et une branche de conception réalisation (conception et implémentation).

La figure suivante détaille les étapes de développement des troisbranches du processus 2TUP.

Figure 3 : Processus 2TUP

· Branche fonctionnelle

Les étapes de la branche fonctionnelle se présentent comme suit :

· La capture des besoins fonctionnels : elle produit le modèle des besoins focalisés sur le métier des utilisateurs. Elle qualifie, au plus tôt le risque de produire un système inadapté aux utilisateurs. Cette phase a pour objectif de définir :

1. la frontière fonctionnelle entre le système considéré comme une boite noire et son environnement, c'est le niveau contexte ;

2. les activités attendues des différents utilisateurs par rapport au système toujours envisagé comme une boite noire, c'est le niveau cas d'utilisation.

L'étape d'analyse consiste à étudier précisément les spécifications fonctionnelles de manière à obtenir une idée de ce que va réaliser le système en terme de métier.

· Branche technique

Les étapes de la branche technique se présentent comme suit :

· L'étape de capture des besoins techniques recense toutes les contraintes sur les choix de dimensionnement et la conception du système, les outils et le matériel sélectionnés ainsi que la prise en compte des contraintes d'intégration avec l'existant (pré requis d'architecture technique). Cette étape permet de définir le modèle d'analyse technique. Le rôle de ce dernier est d'établir les couches logicielles et y spécifier les activités techniques attendues ;

· L'étape de conception générique définit ensuite les composants nécessaires à la construction de l'architecture technique. Cette conception est complètement indépendante des aspects fonctionnels. Elle permet de générer le modèle de conception technique ou design pattern (aspect qui sera développé ultérieurement) qui définit les Framework. Ces derniers, délivrant les services techniques, assurent la réponse aux exigences opérationnelles du système.

· Branche conception - réalisation

Les étapes de cette branche se présentent comme suit :

· L'étape de conception préliminaire est une étape délicate, car elle intègre le modèle d'analyse fonctionnelle dans l'architecture technique de manière à tracer la cartographie des composants du système à développer. Cette étape permet de produire le modèle de conception système. Ce dernier organise le système en composants, délivrant les services techniques et fonctionnels. Ce modèle regroupe les informations des branches technique et fonctionnelle ;

· L'étape de conception détaillée permet d'étudier comment réaliser chaque composant. Cette étape produit le modèle de conception des composants. Ce modèle fournit l'image prête à fabriquer du système complet. C'est dans l'étape de codage que s'effectue la production des composants et les tests des unités de code au fur et à mesure de leur réalisation. L'étape de recette consiste à valider les fonctionnalités du système développé.

· Quelques références sur 2TUP

Tableau 9 : Descriptiondu processus 2TUP

METHODE

DESCRIPTION

POINTS FORTS

POINTS FAIBLES

2TUP

- S'articule autour de

l'architecture

-Itératif et incrémentale

-Piloté par les risques

-Conduit par les cas d'utilisation

- Propose un cycle de

développement en Y

-Détaillé dans « UML

en action » (voir

références : paragraphe ci-dessus)

- Cible des projets de

toutes tailles.

Itératif

- dispose d'une large place pour la technologie et la gestion du risque

- Définie : les profils

des intervenants, les

livrables, les

plannings et les

prototypes.

- 2TUP est superficiel sur les phases situées en

amont et en aval du

développement tel que : la capture des besoins, support, maintenance, gestion du changement...

- il ne propose pas de

documents types.

· Branche fonctionnelle

· Capture des besoins fonctionnels

a. Définition de l'activité et du contexte

Notre travail, qui consiste en la mise en oeuvre de l'application DrmEnginepour la relance des clients et le marketing de la société, est sujetà des contraintes de tempsen déterminant les différents coûts qui en résultent.

b. Cas d'utilisation

· Formalisme des cas d'utilisations

Tableau 10 : Formalisme des cas d'utilisation


DIAGRAMME DE CAS D'UTILISATION

 

Principaux conceptsnotationsCasDescription du système étudié privilégiant le point de vue de l'utilisateur.

Cas d'utilisationActeurClasse permettant de préciser l'acteur qui donne son point de vue.

Acteur<<include>>Le premier cas inclus dans sa description les actions du deuxième cas.

Association<<Extend>>Le premier cas est une extension du deuxième cas.

Contrainte

Généralisation

Spécialisation

Objectif : Le diagramme de cas d'utilisation représente les cas d'utilisation identifiés et l'acteur associé à chacun.

Formalisme

· Liste des Acteurs et leurs cas d'utilisations

Un acteur est une entité extérieure du système qui déclenche un évènement et représente un ensemble cohérent de rôle joué par les utilisateurs (des uses cases). Un cas d'utilisation décrit ce que fait le système en réponse à un événement provenant d'un acteurComme acteur nous distinguons :

Tableau 11 : Liste des acteurs du projet

Acteurs

Cas d'utilisations

La secrétaire

· Relance sur les réseaux sociaux

· L'envoi des mails et messages aux apprenants 

L'administrateur

· La gestion des comptes d'utilisateurs

· La gestion des réseaux sociaux

· La gestion des compagnies

· L'exportation de la Base de données

· La mise à jour de la base de données

· Description préliminaire :

Tableau 12 : Description préliminaire des cas d'utilisation

CAS D'UTILISATION

LIBELLE

INTENTION

ACTION

Ajouter une compagnie

Créer une compagnie

Entrer et valider les informations

Ajouter un utilisateur

Créer un utilisateur

Entrer et valider les informations

Exporter la base de données

Extraire la base de données distante pour la mettre en local

Exécuter la commande :

python dbinit.py -u

Mettre à jour la base de données

Ajouter de nouvelles informations dans la base de données

Exécuter la commande :

python dbinit.py -d

Envoyer un mail

Envoyer un message électronique

Entrer et valider les informations

Envoyer un sms

Envoyer un message a un numéro de téléphone

Entrer et valider les informations

S'authentifier

Se connecter a l'application

Entrer et valider les informations

Ajouter un réseau social

Créer un nouveau réseau social

Entrer et valider les informations

Relance sur les réseaux sociaux

Discussion en temps réel

Entrer et valider les informations

· Diagrammes des cas d'utilisations

Figure 4 : Diagramme de cas d'utilisation global

Figure 5 : Cas d'utilisation Administration de la base de données

Figure 6 : Cas d'utilisation relance sur les réseaux sociaux

c. Diagramme_de déploiement

Figure 7 : Diagramme de déploiement

II-CONCEPTION

1. Branche technique

a. Diagramme de classe

Considéré comme le plus important dans la modélisation orientée-objet, il permet de faire ressortir la structure interne d'un système et est constitué principalement de classes ; une classe contient des attributs et des opérations. Il n'indique pas comment utiliser les opérations, c'est une description purement statique d'un système. Enfin, il permet de construire le système de manière correcte (Build the system right)

· Formalisme

Tableau 13 : Formalisme du diagramme de classes


DIAGRAMME DE CLASSES

 

Objectif : Permet de représenter l'ensemble des informations formalisées ayant fait l'objet d'une définition sur le fond et sur la forme, qui sont gérées dans le domaine.

Formalisme

Figure 8 : Diagramme de classes

2. Relations entre classes

RC1 :Le personnel peut avoir aucune ou plusieurs conversations (chats);

R :Un Drmusers peut avoir aucune ou plusieursconversations(chats);

RC3 :Un Drmusers appartient à une compagnie;

RC4 :Une compagnie peut avoir plusieurs Drmusers;

RC5 :Un Drmusers appartient à un compte Facebook;

RC6 :Un Drmusers appartient à un compte whatsapp.

b. Diagramme de composants

· Formalisme

Le diagramme de composant permet de représenter les composants logiciels d'un système ainsi que les liens existant entre ces composants. Il décrit l'organisation du système du point de vue des éléments d'application comme les modules (paquetages, fichiers sources, bibliothèques, exécutables), des données (fichiers, bases de données) ou encore d'éléments de configuration (paramètres, scripts, fichiers de commandes). La représentation « boite noire » par connecteur d'interface est une vue externe du composant présente ainsi ses interfaces fournies et requises sans entrer dans le détail de l'implémentation du composant telle que montre la figure ci-dessus.

Figure 9 : Diagramme de composants

c. Séquences

Il documente les interactions à mettre en oeuvre entre les classes pour réaliser un résultat tel que, un cas d'utilisation.Représentation séquentielle du déroulement des traitements et des interactions entre les éléments du système et/ou de ses acteurs.

· Formalisme du diagramme de séquence

Tableau 14 : formalisme du diagramme de séquence


DIAGRAMME DE SEQUENCE

 

Objectif : Le diagramme de séquence, comme le diagramme de communication, met en évidence les interactions entre les différents objets du système étudié. Il permet de visualiser la séquence des messages par une lecture de bas en haut.

Formalisme

La description d'un cas d'utilisation se fait par des scénarios qui définissent la suite logique des interactions qui constituent ce cas. Cette description se fait de manière simple, par un texte compréhensible par les personnes du domaine de l'application. Elle précise également ce que fait l'acteur et ce que fait le système. La description détaillée pourra préciser les contraintes de l'acteur et celles du système.

· LA SECRETAIRE

· Scénario du cas d'utilisation : Authentification

Acteurs : la secrétaire/admin

Evènement déclencheur : connexion au système.

Préconditions : la secrétaire/ admin doit avoir un nom d'utilisateur et un mot de passe valide.

Post-conditions : Accès a l'application.

Scénario nominal :

1. Le système demande de s'authentifier ;

2. la secrétaire/ adminentre son identification (nom d'utilisateur et mot de passe) ;

3. Le système vérifie ;

4. Le système affiche le tableau de bord admin.

Variantes 1 : en (3) Utilisateur inconnu

1. Le système redemande de se s'authentifier.

Figure 10 : Diagramme de séquence authentification

· LA SECRETAIRE

· Scénario du cas d'utilisation : Envoyer message

Acteurs : la secrétaire

Evènement déclencheur : connexion au système.

Préconditions : la secrétaire doit avoir un nom d'utilisateur et un mot de passe valide.

Post-conditions : Message envoyé.

Scénario nominal :

1. Le système demande de s'authentifier ;

2. la secrétaire entre son identification (nom d'utilisateur et mot de passe) ;

3. Le système vérifie ;

4. Le système affiche la liste des utilisateurs de la Base de données ;

5. Le système recherche la date de dernière réponse par utilisateur ;

6. Le système sélectionne le message correspondant au jour et au moment de la journée ;

7. Le système envoi le message.

Variantes 1 : en (7) Messages vieux de 7 jours.

1. Le système supprime les 7 derniers messages.

Figure 11 : Diagramme de séquence envoyer un message

· L'ADMINISTRATEUR

· Scénario du cas d'utilisation : Exporter la base de données.

Objectif :Synchroniser la base de données Gymglish en local.

Acteurs : Admin.

Préconditions : La base de données locale doit être au paravent initialisée.

Post-conditions : les deux bases de données sont synchronisées.

Scénario nominal :

1. Le système demande de s'authentifier ;

2. L'admin entre son identification (nom d'utilisateur et mot de passe) ;

3. Le système vérifie ;

4. Le système affiche la page admin;

5. Le système poste les valeurs du formulaire sur Gymglish.

6. Le système télécharge la liste des utilisateurs sous format Excel.

7. Le système compare les deux bases de données

8. Le système synchronise les deux bases de données

Scénario alternatif : en (5),le formulaire n'est pas valide

1. Gymglish rejet le formulaire.

2. Le système fait une alarme (écrire dans le fichier de log).

Figure 12 : Diagramme de séquence Exporter la base de données

· L'ADMINISTRATEUR

· Scénario du cas d'utilisation : Mise à jour de la base de données.

Objectif :Mise à jour de la base de données locale.

Acteurs : Admin.

Préconditions : La base de données locale doit être au paravent initialisé.

Post-conditions : la base de données locale est à jour.

Scénario nominal :

1. Le système demande de s'authentifier ;

2. L'admin entre son identification (nom d'utilisateur et mot de passe) ;

3. Le système vérifie ;

4. Le système affiche la liste des utilisateurs;

5. Le système poste les valeurs du formulaire sur Gymglish ;

6. Le système télécharge la liste des utilisateurs sous format Excel ;

7. Le système renvoie la liste des utilisateurs gymglish ;

8. Le système compare les deux bases de données ;

9. Le système synchronise les deux bases de données.

Scénario alternatif : en (8),le formulaire n'est pas valide

1. Drmusers sans compagnie.

2. Le système fait une alarme (écrire dans le fichier de log).

Figure 13 : Diagramme de séquence mise à jour de la base de données

d. Diagramme d'activité

Le diagramme d'activité est utilisé pour illustrer les flux de travail dans un système, du niveau métier jusqu'au niveau opérationnel. Il représente une exécution d'un mécanisme, un déroulement d'étapes séquentielles.

· Formalisme du diagramme d'activités

Tableau 15 : Formalisme du diagramme d'activités


DIAGRAMME D'ACTIVITÉS

 

Objectif : Le diagramme d'activités permet de décrire un processus comme un ensemble organisé d'activités.

Formalisme

Figure 14 : Diagramme d'activité envoyer un message

Figure 15 : Diagramme d'activité exportation de la base de données

Figure 16 : Diagramme d'activité mise à jour de la base de données

Figure 17 : Diagramme d'activité authentification

e. Diagramme d'état transition

Il permet de modéliser les traitements, de définir l'enchainement des différents Etats ou Taches, dans le but de définir l'ordonnancement de ces taches.

· Formalisme du diagramme d'état transition

Pour construire un diagramme d'Etat transition, nous avons deux notions à savoir :

L'Etat : correspond à une situation durable dans laquelle peut se trouver un objet d'une classe.

L'évènement et la transition : C'est un évènement qui permet le passage d'un objet d'un Etat à un autre. La transition quant à elle permet de définir les relations entre deux Etats.

Figure 18 : Formalisme diagramme d'état- transition

État

Synchronisation

Transition

Début

Fin

Changement de statut

Figure 19 : Etat-transition, gestion des Drmusers

CONCLUSION

Dans le dossier de conception nous avons mené une analyse en ressortant les données validées et les traitements à automatiser. Cette validation nous permet d'avoir une vision sur l'application à réaliser. En d'autres termes les traitements validés vont constituer les différents modules de l'application. Les données quant à elles vont servir pour la création de la base de données. Dès lors, la dernière étape de notre projet qui sera faite dans un dossier dédié à cet effet, est l'implémentation de notre application.

PHASE DE REALISATION

RESUME

Le dossier de réalisation est une partie qui présente l'implémentation ou l'élaboration de l'application étudiée dans les dossiers d'analyse et de conception.

APERCU

Introduction

I. Modèle Physique de Données

II. Choix technologique et mise en oeuvre

III. Design Patterns

Conclusion

INTRODUCTION

Le dossier de réalisation est le dernier de la suite qui constitue le rapport sanctionnant la fin du stage académique. Ce document présente l'implémentation ou l'élaboration de l'application étudiée dans les dossiers d'analyse et de conception. Sa mise en oeuvre nous amène à présenter d'abord l'équipe de développement, ensuite la description générale de l'environnement de travail et enfin nous proposerons quelques lignes de code.

I- MODELE PHYSIQUE DE DONNEES (MPD)

Figure 20 : Modèle physique de données

Le modèle Physique de Données est une représentation schématique qui a pour but de proposer une solution technique et optimale pour l'implémentation physique des données. Il permet de décrire les données et leurs liens dans un langage spécifique du Système de Gestion de Base de Données utilisé

II- CHOIX TECHNOLOGIQUE ET MISE EN OEUVRE

1. Choix technologique

A partir de l'étude de l'architecture technique, il faut sélectionner les composants spécifiques, tels que la plate-forme matérielle et logicielle SGBD à mettre en oeuvre. Une fois les produits installés ils sont testés méticuleusement afin de garantir une intégration adéquate d'un bout à l'autre de l'environnement.

· LANGAGE DE PROGRAMMATION

Tableau 16 : Langages de programmation utilisés

LANGAGE

VERSION

ROLE

PYTHON

2.7

Favorise la programmation impérative structurée

HTML

5

Création des pages web

CSS

3

Mise en forme de style

NoSQL

 

Manipulation des requêtes

Jinja

 

Dynamiser les pages html

JavaScript

3

Dynamiser les pages web

2. Ressourceslogicielles

Tableau 17 : Ressources logicielles

Outils

Version

Editeur

Description

Taille

MongoDB

2.4

Romain Bourdon

SGBD orienté documents

80Mo

Mozilla Firefox

31.0

Mozilla

Navigateur web

28,8Mo

Adobe Photoshop CS5

4

Suite Adobe

Retouche d'images

182Mo

Gantt Projet

2.0.10

Free software fondation

Editer le diagramme de planification du projet

9.22 Mo

PowerAMC

12.5

Sybase

AGL

131 Mo

Microsoft office

2016

Microsoft

Suite bureautique permettant l'édition de plusieurs rapports

600 Mo

Django Framework

6.0

Django software fondation

Framework web Python open-source

10 Mo

CentOs 7

7

Communauté Red Hat (Unix)

Distribution GNU/Linux

4 Giga

Emacs

2.5

Richard Stallman

Editeurs de texte

Editeur de code

3. Choix technologique

Tableau 18 : Choix technologique

NOSQL (MongoDB)

SQL (MySQL)

MongoDB est un SGBD Orienté Documents, open-source python développé par MongoDB, Inc. Il stocke les données dans JSON-comme des documents qui peuvent varier dans la structure. Informations connexes est stockée pour l'accès de requête rapide à travers le langage de requête MongoDB. MongoDB utilise les schémas dynamiques, ce qui signifie que vous pouvez créer des collections sans avoir d'abord définir la structure.

MySQL est un système de gestion de base de données relationnelle open-source (SGBDR) qui est développé, distribué et supporté par Oracle Corporation. Comme d'autres systèmes relationnels, stocke les données dans des tables MySQL et utilise un langage structuré de requêtes (SQL) pour un accès de base de données

TERMINOLOGIE ET CONCEPTS

Collection

Table

Document

Row

Champ

Colonne

COMPARAISON DES FONCTIONNALITES

Rich Data Model

Oui

Rich Data Model

Non

DyamicSchema

Oui

DyamicSchema

Non

Données saisies

Oui

Données saisies

Oui

Jointures

Non

Jointures

Oui

QUERY LANGUAGE

INSERT INTO utilisateurs

(user_id, âge, statut)

db.users.insert ({user_id: "bcd001",Âge: 45,statut: "A"})

SELECT * FROM utilisateurs

db.users.find ()

Utilisateurs UPDATE set status = "C"

Où l'âge> 25

db.users.update ({Age: {$ gt: 25}},{$ Ensemble: {status: "C"}},{Multiples: true})

Pourquoi utiliser MongoDB au lieu de MySQL?

Les Organisations de toutes tailles adoptent MongoDB, car il leur permet de construire des applications plus rapidement, gérer les types de données très diverses, et gérer des applications plus efficacement à l'échelle. Le développement est simplifié et son utilisation enlève la couche complexe Mapping Objet-Relationnel (ORM) qui traduit les objets dans le code de tables relationnelles.

4. Description détaillée de la mise en oeuvre

Cette partie consiste à décrire et à présenter la création de la base de données et de quelques tables, quelques codes sources d'une part, la présentation des interfaces d'autre part.

· Quelques requêtes sous MongoDB

· Création de la base de donnée

>db.createUser({ user:"testuser",pwd:"testpwd ",roles:[{role:"dbOwner", db: "testdb"}]})

Successfully added user: {

"user" : "testuser",

"roles" : [

{

"role" : "userAdminAnyDatabase",

"db" : "testdb"

}

]

}

· Afficher les informations concernant un utilisateur

>db.system.users.find()

· Créer une collection

>db.createCollection("my collection")

{"ok":1}

· Afficher la liste des collections de base de données

>show collections

· Quelques codes sources python

· Classe permettant la synchronisation de la base de données distante et la base de données locale

class DrmUserUpdate:

"""DrmUserUpdate deals with keeping the DRM local database

in sync with the Dreamreal - Gymglish users Database.

"""

def InitCompanies(self,vecGgCid=vecGgCid):

"""initialization function of the corporate collection

"""

db = self.client[self.dbname]

collection = db.companies

for cle,valeur in vecGgCid.items():

collection.insert({"name": valeur,"ggcid": cle})

return collection

if __name__ == '__main__':

· Fonction (constructeur) de connexion a la Base de Données

def__init__(self, DbSection='WORKDATABASE'):

"""Init

"""

user=drmconf.config.get(DbSection,'USER')

host=drmconf.config.get(DbSection,'HOST')

port=drmconf.config.get(DbSection,'PORT')

pwd=drmconf.config.get(DbSection,'PWD')

self.dbname=drmconf.config.get(DbSection,'DBNAME')

url='mongodb://' + user + ':' + pwd + '@' + host + ':' + port + '/' + self.dbname

self.client=pymongo.MongoClient(url)

· Fonction de test (test unitaire) dela fonction ExcelTocsv

deftestExcelTocsv(self):

"""test the Convertion excel to csv function

"""

filename = drmconf.drmenginepath + "/helpers/test/toto.xls"

fd = open(filename)

DUU=drmuserupdate.DrmUserUpdate(DbSection='TESTDATABASE')

filecontent = fd.read()

res=DUU.excelTocsv(filecontent)

self.failUnless(res.count("\n") == 84)

self.failUnless(res.count(";") == (85 * 18))

list = res.split("\n")

#assert value in cell(J,9) is 5.1

row = list[7]

columns = list[7].split(";")

self.failUnless(columns[9] == "5.1")

III- ARCHITECTURE DE L'APPLICATION

La technologie objet requiert une architecture. C'est cette architecture qui organise les interactions entre objets. Dans le cadre de notre travail, nous avons choisi l'architecture trois tiersencore appelé : architecture à trois niveaux ou architecture à trois couches.

· la présentation des données (Application) : correspondant à l'affichage, la restitution sur le poste de travail, le dialogue avec l'utilisateur ;

· le traitement métier des données (Serveur) : correspondant à la mise en oeuvre de l'ensemble des règles de gestion et de la logique applicative ;

· Figure 21 : Architecture trois tiers www.architecturetroistiers.fr/3t.jpeg

Apache 2

Requête MongoDB

et enfin l'accès aux données persistantes (Base de données) : correspondant aux données qui sont destinées à être conservées sur la durée, voire de manière définitive.

IV-DESIGN PATTERN

L'architecture utilisée par Django diffère légèrement de l'architecture MVC classique. En effet, Django gère lui-même la partie Controller (gestion des requêtes du client, droit sur les actions...), ainsi on parle plutôt de Framework utilisant l'architecture MVT : Modele-Vue-Template. La figure suivante illustre son fonctionnement.

Figure 22 : Architecture MVTwww.openclassroom.com/mvt/mvt.jpeg

Concrètement, lorsque l'internaute appelle une page de l'application web réalisé avec Django, le Framework se charge, via les règles de routage URL définies, d'exécuter la vue correspondante. Cette dernière récupère les données des modèles et génère un rendu HTML à partir du Templateet de ces données. Une fois la page générée, l'appel fait chemin arrière, et le serveur renvoie le résultat au navigateur de l'internaute. Les quatre parties les plus importantes :

· Le routage des requêtes, en fonction de l'URL ;

· La représentation des données dans l'application, avec leur gestion (ajout, édition, suppression...), c'est-à-dire lesmodèles (CRUD) ;

· L'affichage de ces données et de toute autre information au format HTML, c'es t-à-dire les Template;

· Enfin le lien entre les deux derniers points : la vue qui récupère les données et génère le Template selon celles-ci.

V-PLAN DE L'APPLICATION

Le plan de l'application représente la disposition physique des vues de l'application, ainsi que la hiérarchie des fichiers.

Figure 23 : Plan de l'application

CONCLUSION

Le présent dossier de réalisation nous a permis de présenter de manière générale les composants qui rattaché au SGBD, sur lequel repose notre plate-forme, les outils utilisés pour la mise en place de cette dernière, le choix du langage de programmation de notre application et cependant savoir comment l'installer et avoir accès aux différentes fonctionnalités devient très important. Par la suite nous présenterons le guide utilisateur de de la plate-forme.

GUIDE UTILISATEUR

RESUME

Cette partie donne des renseignements pratiques et théoriques sur l'utilisation de l'application partant de son installation jusqu'à sa modification.

APERCU

Introduction

I. Installation de DrmEngine

II. Utilisation de DrmEngine

Conclusion

INTRODUCTION

Le guide utilisateur représente une feuille de route pour les différents utilisateurs de la plate-forme. Il décrit de manière détaillée comment l'installer, comment utiliser l'application. Il sera donc question de produire le guide d'utilisation.

I-INSTALLATION DE DrmEngine

Pour ce faire, nous avons besoin d'un hébergeur d'application web, qui nous donnera un nom d'utilisateur et des identifiants, que nous allons entrer dans note logiciel Filezilla client, qui est notre client FTP.D'abord avoir un S.E CentOS 7, ensuite avoir au moins la version 2.7 de python installée et en fin installer les paquetssuivants :

· MongoDB (SGBD orienté Documents)

Taper la commande suivante, puis « i » :

vi /etc/yum.repos.d/mongodb-org-3.0.repo

Insérer les lignes suivantes a l'intérieure :

[mongodb-org-3.0]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/

gpgcheck=0

enabled=1

· Pymongo3.0 (Pilote MongoDB pour python)

pip install pymongo

· Xlutils (Librairie python de manipulation des fichiers Excel)

pip install xlutils

· Djangotoolbox ()

https://pypi.python.org/packages/source/d/djangotoolbox/djangotoolbox-0.9.2.tar.gz

python setup.py install

· Mongodb-engine (Pilote MongoDB pour le Framework Django)

pip install git+https://github.com/django-nonrel/django@nonrel-1.5

· Django-non-rel 1.6 (Version non relationnelle du Framework Django)

pip install git+https://github.com/django-nonrel/django@nonrel-1.5

· Yowsup API (API whatsapp)

wget https://github.com/tgalal/yowsup/archive/master.zip

II-UTILISATION DE DrmEngine

1- Administration système de la base de données

Lancer le terminal, ensuite démarrer MongoDB et après `authentifier  a partir des commandes suivantes :

· Démarrage du SGBD (MongoDB):service mongod start

· Authentification a la Base de données :mongo -u drmtest-p drmpwddrmdrmtestdb

Toujours dans le terminal, accéder au répertoire helpersde l'application DrmEngine et taper la commande suivante pour l'aide :

· Pour l'aide sur l'application, taper la commande : python dbinit.py -h

· Pour initialiser la base de données locale, taper la commande : python dbinit.py -t

· Pour initialiser les compagnies, taper la commande : python dbinit.py -c

· Pour exporter la base de données locale, taper la commande : python dbinit.py -u

· Pour mettre à jour la base de données locale, taper la commande : python dbinit.py -d

2- Administration web

Avant tout, veillez vous rassurer que votre serveur est démarré, au cas contraire, via votre terminal, entrer dans la racine de votre projet et taper la commande python manage.py runserver

Vous aurez ensuite ce message, si tout s'est bien passé :

Validating models...

0 errors found

October 13, 2015 - 08:12:20

Django version 1.6.11, using settings 'DrmWeb.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

Enfin ouvrir votre navigateur web et entrer l'adresse 127.0.0.1:8000, vous aurez la page d'authentification, illustrée par l'image ci-dessous, lorsque vous entrez vote identifiant et votre mot de passe, l'application vous renvoie dans la page demandée.

Figure 24 : Page d'authentification

Figure 25 : Dashboard Admin

CONCLUSION

Le présent document avait pour objectif de présenter de façon claire et concise l'installation et l'utilisation de l'application DrmEngine. Dans le but de fournir un travail fructueux, cohérent et de bonne qualité, nous avons dans un premier temps présenté la constitution du dossier d'installation, ensuite nous avons présenté de façon détaillée l'installation de l'application aussi bien chez le client comme chez le serveur, en fin nous avons présenté l'utilisation et quelques fonctionnalités de la plate-forme.

CONCLUSION GENERALE

A l'issu de notre travail, nous avons conçu et développé l'application DrmEngine permettant a DREAMREAL, de gérer de façon aisée efficace, les relances de ses clients, et ainsi faire la publicité de celle-ci. Pour arriver à bout, il nous a fallu concevoir dans un premier temps a l'aide du lange UML une base de données appropriée .Dans un second temps, réalisé DrmEngine qui fonctionne qui est hébergé sur in serveur web de DreamReal.

Nous répondons ainsi à la préoccupation majeure de DREAMREAL dans sa quête permanente de l'excellence en matière de formation en anglais, face a une concurrence sans cesse grandissante dans un pays ou les TIC deviennent l'une des priorités pour tous et pour toutes.

Ce travail représente une bonne entame dans le processus  « d'informatisation des différents services de DreamReal ». Cependant il reste vrai qu'aujourd'hui, les systèmes les plus attrayants et les plus faciles à utiliser possèdent les bases de données déployées avec des modules interagissants entre eux. Ainsi, développer en perspective un « Facebook» propre a l'entreprise Dreamreal, sera le bienvenu.

ANNEXES

· Annexe 1 : Bibliographie

· Annexe 2 : Webographie

· Annexe 3 : Plan de localisation de DreamReal

· Annexe 4 : Planification du projet

· Annexe 5 : Fiches de stage

BIBLIOGRAPHIE

· GABILLAUD, Jérôme, 2015, How To MongoDB, Nantes, Editions ENI collection Ressources Informatiques, 409 ;

· HEURTEL, Olivier, Mai 2013, Django et MongoDB Maîtrisez le développement d'une application web dynamique et interactive, Editions ENI collection Ressources Informatiques, 623 ;

· M. ATANGA MBIDA, 2015, Cours de Méthode de Conception Orientée Objet, IAI-Cameroun Centre d'Excellence Technologique Paul BIYA  (Non publié) ;

· M. FOTSA Lucien, 2015, Cours d'Atelier de Génie Logiciel, IAI-Cameroun Centre d'Excellence Technologique Paul BIYA (Non publié) ;

· M. BINIGA, 2015, Cours d'Outils de Développement, IAI-Cameroun Centre d'Excellence Technologique Paul BIYA (Non publié) ;

· Nathalie Lopez, Jorge Migueis et Emmanuel Pichon, 2000, Intégrer UML dans vos projets, Editions d'Eyrolles;

· Pascal Roques, 2006, UML 1 par la pratique étude de cas et exercices corrigés, Editions d'Eyrolles, septembre.

WEBOGRAPHIE

· http://fr.wikipedia.org/wiki/Architecture_trois_tiers( 03 juillet 2015) 10h30

Ce site nous a permis d'obtenir les informations sur l'architecture trois tiers ;

· http://fr.wikipedia.org/wiki/UML_(informatique) ( 6 juillet 2015) 12h30

Ce site nous a permis d'obtenir les informations sur le langage UML;

· http://www.svnindia.com/ ( 10 juillet 2015) 12h30

· http://blog.emporio-web.com/lang/en/2010/03/svn-controle-de-versao-version-control-1/ (13juillet 2015) 12h30

· https://www.mongodb.org/(18 juillet 2015)

· http://api.mongodb.org/python/current/installation.html(19 juillet 2015)

· http://docs.mongodb.org/manual/ ( 19 juillet 2015)

· https://openclassrooms.com/courses/guide-de-demarrage-pour-utiliser-mongodb( 19 juillet 2015)

· https://pypi.python.org/pypi/Yowsup(14 septembre 2015)

· https://docs.djangoproject.com/en/1.8/intro/tutorial01/(13 septembre 2015)

· http://www.programmableweb.com/api/facebook(10 septembre 2015)

· http://www.raspberryshop.es/wp/fr/whatsapp-en-python-con-yowsup/(14 septembre2015)

· https://pypi.python.org/pypi/django-facebook-api/0.5.4 https://pypi.python.org/pypi/django-facebook-api/0.5.4(13 https://pypi.python.org/pypi/django-facebook-api/0.5.4(13 https://pypi.python.org/pypi/django-facebook-api/0.5.4(13 (13 septembre 2015)

· Annexe 3 : Plan de localisation de DreamReal

Venant de la Cathédrale

Marché Central

AVENNUE KENNEDY

Immeuble Grand Carrefour

ICI

Pharmacie française

Venant de la pharmacie de l'intendance

L.M.C Grand Carrefour ici

Figure 26 : Plan de localisation de DREAMREAL

· Annexe 4 : Planification du projet

Figure 27 : Diagramme de Gantt






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Aux âmes bien nées, la valeur n'attend point le nombre des années"   Corneille