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

 
|