Académique Documents
Professionnel Documents
Culture Documents
Université de Sousse
*-*-*-*-*
Institut Supérieur de Gestion de Sousse
RAPPORT DE STAGE
EN VUE D’OBTENTION DE LA
LICENCE APPLIQUÉE EN INFORMATIQUE DE GESTION
PARCOURS : TECHNOLOGIES DES SYSTÈMES D'INFORMATION
Ce travail n’aurait pu voir le jour sans le soutien de mes professeurs de l’Institut Supérieur
de Gestion de Sousse pour accomplir notre formation à l’informatique de gestion.
J’exprime mes profondes reconnaissances à Mlle. Amina Boussema son soutien constant au
cours de ce stage et ses recommandations avec ses conseils et son aide précieuse.
Je tiens à remercier Mr. Nobel Elhoussine Boubaker m’a fait l’honneur de me recevoir dans
son agence de Web marketing, je le remercie pour son encadrement laboureur, son soutient
constant au cours de la réalisation du projet et son assistance permanente.
Toute l’équipe de web 2 com pour leur coopération, leur sympathie et ses grands efforts de
faire son bien pour m’aider à réaliser le projet dans des bonnes conditions.
Tous les membres de jury pour l’honneur qu’ils m’ont fait en acceptant de juger mon travail.
Mes remerciements non seulement pour le savoir qu’ils nous ont transmis, mais aussi pour la
fierté et l’ambition qu’ils nous donnent. Ce sont des personnes qui nous ont soutenues à chaque
moment, et dans chacun de nos instants de faiblesse, avec leur attention et gentillesse.
DEDICACE
C’est avec un immense plaisir que je vous dédie ce modeste travail à tous ceux qui m’ont
soutenu et tous ceux qui m’aiment, en particulier à :
Mes très chers parents, en témoignage de la hauteur de leur patience, leur confiance et tous
les sacrifices déployés à mon égard, que Dieu me les protège.
Mon cher frère et ma chère sœur et tous mes amis qui m’ont aidé à accomplir ce travail.
Sommaire
Introduction Générale......................................................................................................................1
CHapitre 1 : Etude Préalable............................................................................................................2
1.1 Introduction...................................................................................................................................2
1.2 Présentation de l’organisme d'accueil............................................................................................2
1.2.1 Equipe...................................................................................................................................................2
1.2.2 Adresse de l’entreprise..........................................................................................................................3
1.2.3 Services offerts.....................................................................................................................................3
Organigramme de l’organisme d’accueil « WEB-2-COM »..........................................................................4
2.1 Introduction...................................................................................................................................9
2.2 Méthodologie de conception.........................................................................................................9
2.2.1 Choix de processus de devloppement.........................................................................................9
2.2.2 Choix de l’approche objet...................................................................................................................10
2.2.3 Choix du langage de modélisation......................................................................................................10
2.5 Conclusion...................................................................................................................................26
Chapitre 3 : Conception.................................................................................................................28
3.1 Introduction.................................................................................................................................28
Sommaire
3.6 Conclusion...................................................................................................................................41
Chapitre 4 : Réalisation.................................................................................................................43
4.1 Introduction.................................................................................................................................43
4.2 Environnement de développement...............................................................................................43
4.2.1 Environnement matériel......................................................................................................................43
4.2.2 Environnement logiciel.......................................................................................................................43
4.8 Conclusion...................................................................................................................................54
Conclusion et Perspectives............................................................................................................55
Webliographie...............................................................................................................................56
Liste Des Figures
Introduction Générale
Dans le monde d’aujourd’hui qui est de plus en plus régi par les lois de l’informatisation et les
nouvelles technologies de l’information vu sa performance et son efficacité, les
entreprises et les sociétés ont opté pour une stratégie d’informatisation afin de profiter de
ces technologies de l’information ainsi que de mettre à jour les services présentés et effectuer un
profit maximum.
En vertu de cette stratégie, Web2com intègre des applications informatiques et met en place un
système d’information qui permet l’analyse et la diffusion de l’information utile pour faciliter le
déroulement du travail au sein de son groupe technique et interaction avec ses clients.
C’est dans ce cadre que s’inscrit notre stage de fin d’année qui cible à concevoir et à
développer une application web pour la gestion des projets.
Le présent rapport présente donc le travail que nous avons effectué lors de notre stage au sein de
WEB 2 COM.
Il est structuré en quatre chapitres :
Nous détaillons, par la suite dans le deuxième chapitre « spécification et analyse des besoins », la
méthodologie de conception aussi bien les besoins fonctionnels et non fonctionnels de notre
application. Cette phase présente une spécification complète des besoins issus de cas
d’utilisation, sous forme des diagrammes de séquence et activités.
Le dernier chapitre « Réalisation » sera consacré à la présentation d’une étude technique portant
sur l’environnement de développement logiciel et matériel utilisé. Nous présentons, ainsi, les
différentes fonctionnalités offertes par notre application à travers des captures d’écran.
1
Chapitre 1 :
Etude
Préalable
Chapitre 1 : Etude Préalable
WEB-2-COM est une société unipersonnelle à responsabilité limitée (SUARL). C'est une agence
de webmarketing spécialisée dans le consulting de promotion, la notoriété et la popularité des
sites web, l’e-mailing, le référencement et le content management.
Ils sont connus par plusieurs sociétés de développement de site web et des agences de
communication grâce à notre effort marketing et commercial réalisé en Tunisie.
En effet, WEB-2-COM a effectué plusieurs actions pour des entreprises tunisiennes et étrangères
et a noué des partenariats avec plusieurs agences. Elle possède des consultants passionnés issus
des plus grandes écoles.
WEB-2-COM a effectué plusieurs actions "haut de gamme" pour des entreprises tunisiennes et
étrangères et a noué des partenariats avec plusieurs agences. Elle possède des consultants
passionnés, issus des plus grandes écoles de commerce, trilingues (Ar, Fr, Ang) ou quadrilingues
(Ar, Fr, Al, Ang).
1.2.1 Equipe
2
Chapitre 1 : Etude Préalable
Fax (+216)73 82 05 60
E-mail commercial@web-2-com.com
3
Chapitre 1 : Etude Préalable
4
Chapitre 1 : Etude Préalable
Dans la société, le suivi des processus de travail et une tâche très difficile et très compliquée qui
se déroule de la manière suivante :
Le chef de projet fait le suivi des projets avec des papiers imprimés appelés «Projets
en cours»
il suit aussi d'autres documents qui sont appelés « travail de jour » et qui sont
distribués par les techniciens au premier lieu pour remplir les tâches effectuées pour
chacun des projets et par jour.
Puis, il va attribuer les rôles, les tâches et les dossiers des projets aux des techniciens
correspondent
Une fois que le projet est lancé, le chef de projet va suivre les processus effectué par
le téléphone à travers des papiers distribués.
A chaque tâche effectuée, le technicien envoie un e-mail au chef de projet ou il va
l'appeler pour lui informer de l’avancement de projet.
Chaque jour, le technicien va envoyer un suivi au client pour lui informer de
l’avancement de ses projets.
Ce processus manuel pause des problèmes de différents types et qui vont être détaillés dans la
section suivante.
5
Chapitre 1 : Etude Préalable
Dans cette partie nous proposons une solution pour éliminer toutes les difficultés rencontrées.
Pour cela nous allons créer une application informatique qui permet de :
Gérer les suivis des projets.
Limiter le suivi manuel et par conséquent limiter les erreurs.
Assurer une meilleure qualité de suivi des différent processus de travail.
Développer une nouvelle méthode de suivi des Campagnes de communication.
6
Chapitre 1 : Etude Préalable
1.6 Conclusion
Dans ce premier chapitre nous avons présenté le cadre général de notre stage suivi d’une étude
de l’existant à fin de préciser les objectifs à atteindre.
En effet, l’étude de l’existant nous à permis de préparer une bonne conception a fin de rependre à
nos besoins.
7
Chapitre 1 : Etude Préalable
Après cette étude, nous passons à la phase de spécifications fonctionnelles qui identifie les
utilisateurs et les fonctionnalités de notre application.
8
Chapitre 2 :
Spécification
et analyse des
besoins
Chapitre 2 : Spécification et analyse des besoins
10
Chapitre 2 : Spécification et analyse des besoins
Le principe de modèle en cascade est de découper le projet en phases distinctes sur le principe du
non-retour. Lorsqu’une phase est achevée, son résultat sert de point d'entrée à la phase suivante.
L'avantage de ce modèle est de proposer au fur et à mesure une démarche de réduction des
risques, en minimisant au fur et à mesure l'impact des incertitudes.
Néanmoins, cette démarche, a l'inconvénient d'exclure l'utilisateur dès la phase de conception.
Le contrôle qualité significatif survient alors en fin de projet, et, à ce moment, si l'utilisateur
s'aperçoit que le système ne répond pas correctement aux besoins exprimés, il peut être trop tard.
Le modèle en cascade est adapté aux projets de durée inférieure à l'année, sur des projets à forte
composante réglementaire, comme les projets de back-office [1].
L'approche orientée objet est une méthode de modélisation basée sur une représentation abstraite
des entités du monde réel. Cette méthode regroupe les données et les traitements sur ces données
au sein d'une entité unique [2].
Pour la conception de notre application, nous avons choisi l'approche objet. En effet, cette
approche présente plusieurs avantages, à savoir :
Meilleure modularité : les communications entre objets sont réalisées par le biais
d’opérations d’interface.
Meilleure sécurité : le code de chaque méthode ne s’applique que sur les données de
l’objet. Certaines parties de l’objet ne sont pas accessibles pour certains (et n’ont pas
d’ailleurs à être connues).
Meilleure réutilisabilité : les objets considérés comme des composants réutilisables
appropriés vu leur indépendance.
Meilleure conception : les données et les méthodes sont spécifiées en même temps.
Meilleure lisibilité : les données et les méthodes sont décrites au même endroit.
Meilleure portabilité : les parties masquées pourront être modifiées sans que l’utilisateur
n’ait à changer son code puisqu’il n’a pas directement accès à celles-ci. C’est ici que l’on
pourra mettre des points dépendant des machines.
11
Chapitre 2 : Spécification et analyse des besoins
Un acteur, au sens UML, représente le rôle d'une entité externe (utilisateur humain ou non)
interagissant avec le système. Il est représenté par un bonhomme en fil de fer (en anglais stick
man). On représente généralement à gauche l'acteur principal (idéalement il y en a un seul), et à
droite les acteurs secondaires. Il est à noter qu'un utilisateur peut être amené à jouer plusieurs
rôles vis-à-vis du système et à ce titre être modélisé par plusieurs acteurs.
L'objectif poursuivi par les cas d'utilisation est de permettre de décrire, dans des documents
lisibles par tous, la finalité des interactions du système et de ses utilisateurs.
Alors nous avons pu identifier nos acteurs du système envisagé et qui sont essentiellement :
12
Chapitre 2 : Spécification et analyse des besoins
Les besoins fonctionnels sont directement liés aux tâches à réaliser, et doivent être transparents
plus que possible face aux utilisateurs.
De ce fait, les besoins principaux à accomplir sont :
Permettre le suivi de projet par le chef de projet et le client.
Diviser les processus de travail entre les techniciens de différents services.
Affecter cheque tâche ou campagne d’un projet au technicien adéquat.
Garantir l’avancement de travail de chaque projet par le technicien consacré ou le chef de
projet ou l’administrateur.
Garantir l’interactivité et la collaboration entre les différents utilisateurs.
Alors cette application sert à réaliser certaines fonctionnalités, ces fonctionnalités sont
catégorisées selon l’acteur en quatre grandes familles :
a- Fonctionnalités d’administrateur
Gérer utilisateur ; l’administrateur c’est le seul acteur qui peut gérer les différents
utilisateurs, créer ou modifier ou supprimer un utilisateur.
Gérer les projets ; il peut créer, modifier ou supprimer un projet, comme il peut aussi
créer, modifier, supprimer une campagne ou une liste des tâches relié à un projet.
Avancer l’état de projet (campagne ou tâche)
b- Fonctionnalité de chef de projet
Gérer les projets ; il peut créer, modifier ou supprimer un projet, comme il peut aussi
créer, modifier, supprimer une campagne ou une liste des tâches relié à un projet.
Avancer l’état de projet (campagne ou tâche)
c- Fonctionnalité de technicien
Avancer l’état de projet (campagne ou tâche)
Consulter les différents projets (l’état d’avancement)
13
Chapitre 2 : Spécification et analyse des besoins
d- Fonctionnalité de client
Consulter son projet (l’état d’avancement)
2.3.3 Besoins non fonctionnels
Ces besoins traduisent des exigences qui, bien qu’elles ne nuisent pas au bon fonctionnement de
l’application, sont caractérisées comme un bon signe quant à l’efficacité de l’application.
Les principaux besoins non fonctionnels de notre futur système seront essentiellement :
Sécurité : L’utilisation de l’application doit être sécurisée par l’implémentation d’un
système authentification des utilisateurs par un Login et un mot de passe. Ainsi, au
niveau du serveur il faut définir des droits d’accès stricts et protéger le serveur des abus.
Ergonomie de l’application : L’application doit assurer une ergonomie en ce qui
concerne :
La simplicité des interfaces
Respect la charte graphique de la société.
La facilité de la navigation entre les interfaces
La performance : Notre application doit être performante, c'est- à- dire à travers ses
fonctionnalités, elle devrait répondre à toutes les exigences des usagers d’une manière
optimale.
Disponibilité : L’application doit être aussi disponible sur le net pour tous les acteurs et à
tout moment.
Réutilisabilité : Notre application doit permettre la réutilisation et l’évolution. C’est pour
cela, nous visons à concevoir un ensemble de classes cohérentes, et facilement
réutilisables.
14
Chapitre 2 : Spécification et analyse des besoins
<<include>>
Gérer comptes
Administrateur <<include>>
Gérer Messagerie
<<include>>
Gérer projets
S'identifier
Chef de projet
<<include>>
Consulter projets
Client
Technicien
<<include>>
Gérer campagnes
15
Chapitre 2 : Spécification et analyse des besoins
16
Chapitre 2 : Spécification et analyse des besoins
projets à distance.
Ce cas d’utilisation permet au client de composer,
Gérer messagerie supprimer, consulter et envoyer des messages aux autres
utilisateurs
A ce stade, nous avons illustré les différents besoins fonctionnels de différents utilisateurs à
travers un diagramme de cas d’utilisation général. Nous allons essayer, dans la section suivante,
de raffiner chacun des cas d’utilisation pour bien analyser ces besoins.
Dans cette section, nous allons détailler chacun des cas d'utilisation présenté précédemment.
Administrateur
S'identifier
Technicien
Saisir le Mot_passe
Saisir login
<<include>> <<include>>
17
Chapitre 2 : Spécification et analyse des besoins
Sommaire d’identification
Titre : S’identifier
But : Ce cas permet à l’acteur d’accéder à l’application en saisissant les paramètres de
connexion.
Acteur : Administrateur, Chef de projet, Technicien et Client.
Version : 1.0
Responsable : Bahri Sofien
Date Création : 29/02/2013 Date Mise à jour : 18/03/2013
Description des enchainements
Pré-condition :
l’Acteur possède déjà un compte
Déclenchement : ce cas commence lorsque l’Acteur accéder à l’application.
Enchainement nominal :
1. l’acteur saisit ses paramètres de connexion (login, mot de passe)
2. Le système vérifie la validité des données saisies
3. Le système affiche la 1ère interface de l’application
Post conditions :
l’Acteur peut accéder à l’application
Le diagramme de cas d’utilisation «Gérer Utilisateur» est illustré par la figure ci-dessous :
18
Chapitre 2 : Spécification et analyse des besoins
Modifier utilisateur
Suprimer utilisateur
Gérer utilisateur
Administrateur
Sommaire d’identification
Titre : Gérer Utilisateur
But : Ce cas permet à l’administrateur de créer, modifier ou supprimer un Utilisateur.
Acteur : Administrateur.
Version : 1.0
Responsable : Bahri Sofien
Date Création : 18/03/2013 Date Mise à jour : 29/03/2013
Description des enchainements
Pré-condition :
Administrateur est authentifié.
[modifier, supprimer utilisateur] : L'Utilisateur est enregistré déjà dans le système.
Déclenchement : ce cas commence lorsque l’Administrateur accéder à l’interface de
« Gérer utilisateur ».
Enchainement nominal :
Ajouter utilisateur Modifier utilisateur Supprimer utilisateur
1. L’administrateur saisit les 1. L’administrateur choisit le 1. Le système affiche la
informations concernant type d'utilisateur liste des utilisateurs
19
Chapitre 2 : Spécification et analyse des besoins
Le diagramme de cas d’utilisation «Gérer Projet» est présenté par la figure ci-dessous :
20
Chapitre 2 : Spécification et analyse des besoins
Administrateur
<<extend>>
créer projet créer tâche
<<extend>>
chef de projet
créer campagne
Sommaire d’identification
Titre : Gérer Projet
But : Ce cas permet au chef et à l'administrateur de projet de créer, modifier, supprimer
ou consulter un projet.
Acteur : Chef de projet, Administrateur
Version : 1.0
Responsable : Bahri Sofien
Date Création : 18/03/2013 Date Mise à jour : 29/03/2013
Description des enchainements
Pré-condition :
21
Chapitre 2 : Spécification et analyse des besoins
Post conditions :
Nouveau Projet : Le projet est crée.
Modifier Projet : Le projet est modifié.
Supprimer Projet : Le projet est supprimé.
Enchainement alternatifs :
[Alternatif 1 : paramètre invalide] : Le système affiche le message « Saisir le nom du projet »,
retour au point 1 de l'enchaînement nominal
22
Chapitre 2 : Spécification et analyse des besoins
Le diagramme de cas d’utilisation «Gérer Campagne» est présenté par la figure ci-dessous :
<<include>>
Consulter Campagne Crérer Campagne
Administrateur
Créer Projet
Gérer Campagne
chef de projet
Sommaire d’identification
Titre : Gérer Compagne
But : Ce cas permet à l’acteur de consulter ou avancer l'état d'une compagne.
Acteur : Technicien, Administrateur, Chef de projet.
Version : 1.0
Responsable : Bahri Sofien
Date Création : 18/03/2013 Date Mise à jour : 29/03/2013
Description des enchainements
Pré-condition :
Le projet associé à la compagne existe déjà.
Déclenchement : ce cas commencé lorsque l'acteur accède à une compagne et demande au
système de gérer la compagne.
Enchainement nominal :
23
Chapitre 2 : Spécification et analyse des besoins
Consulter la campagne
Avancer la campagne
1. L’utilisateur accède à la page « Projets en 1. L’utilisateur accède à la page « Projets en
cours » cours »
2. Il choisi une campagne 2. Il choisi une campagne
3. Cliquer sur le bouton (+) pour avancer 3. Cliquer sur le bouton de suppression pour
l’état de la campagne supprimer la campagne
4. Le système réfléchi automatiquement et 4. Le système affiche un message de
activer la modification d’état. confirmation
5. Si l’utilisateur clic ’ok’ alors le système
supprimer la campagne
6. Si non le système ne supprimer pas la
campagne.
Post conditions :
Avancer campagne: l’état de la campagne se progresse.
Arrêter la campagne: la campagne est arrêtée.
24
Chapitre 2 : Spécification et analyse des besoins
Le diagramme de séquence de cas « s’identifier » peut être representé par la figure ci-dessous.
Identification
Système BD
Utilisateur
alt Succée
Parrametres correctes
accés autorisé
25
Chapitre 2 : Spécification et analyse des besoins
Scénario
L’acteur saisit son login et son mot de passe, pour pouvoir accéder à l'application. Le système
vérifie la validité des paramètres saisis. Si les paramètres saisis sont valides, l’accès est autorisé,
si non un message d'erreur est affiché.
26
Chapitre 2 : Spécification et analyse des besoins
Ajouter Utilisateur
Administraeur
loop [champs incorrects]
Remplir les champs
Ajout effectué
Message "ajout avec succés"
Utilisateur existant
Ajout non effectué
Message "Utilisateur existant"
Scénario
27
Chapitre 2 : Spécification et analyse des besoins
processus : des processus industriels, des processus métier, le déroulement d'un cas d'utilisation
ou encore un algorithme. Je vous présenté donc quelque diagrammes d’activité concerné notre
application [4].
Utilisateur Système
Decision_1
Afficher message d'erreur [champs vide]
vérifier paramètre
Decision_2
[paramétres valides]
28
Chapitre 2 : Spécification et analyse des besoins
Scénario
Le système affiche le formulaire d’authentification. L’acteur saisit son login et mot de passe.
Le système vérifie les paramètres de connexion saisies, s’ils sont valides, le système affiche la
page suivante si non il réfléchi la page d’identification.
29
Chapitre 2 : Spécification et analyse des besoins
Utilisateur Système
Decision_1
[Non Ok]
[Ok]
Supprimer la campagne
Scénario
Dans ce cas l’utilisateur demande accéder à la campagne précise, et demande de supprimer cette
campagne. Alors le système affiche une fenêtre de confirmation. Si l’utilisateur taper «ok », le
système supprimer la campagne et réfléchi la page en cour. Si non il réfléchi la page sans
supprimer.
2.5 Conclusion
L’étude présentée ci-dessus constitue « le quoi » de notre projet, dans laquelle nous avons
analysé les besoins fonctionnels et non fonctionnels relatifs à notre application. Cette phase nous
30
Chapitre 2 : Spécification et analyse des besoins
permet de mettre le premier pas sur le chemin de la conception afin de s’approcher de plus en
plus de l’image finale de notre application. Le chapitre suivant sera consacré à la conception de
notre application
31
Chapitre 3 :
Conception
Chapitre 3 : Conception
On identifie à ce stade l'aspect statique de notre système qui n'est autre que l'aspect physique que
ce soit de point de vue matériel ou logiciel. Pour se faire on va présenter notre diagramme de
classe.
33
Chapitre 3 : Conception
1..1
gérer 0..*
Administrateur Utilisateur
- user : String - user : String Messages
- Mot_passe : String - Mot_passe : String - Id_msg : Integer
- Nom_utilisateur : String - Nom_utilisateur : String - Sujet : String
- Prenom_utilisateur : String 1..1 - Prenom_utilisateur : String
1..1 1..1 - Continue : String
- E-mail : String gérer - E-mail : String
gérer - Date_envoi : Date
- N_telephone : Integer 1..* - N_telephone : Integer - adr_destination : String
- Type : int - Type : int
+ envoyer ()
+ s'identifier () + s'identifier () + consulter ()
+ deconnecter () + deconnecter () + recevoir ()
+ céer () + céer () ...
+ Modifier () + Modifier ()
+ Supprimer () + Supprimer ()
... ...
0..1
gérer
Chef de projet
Clients Techniciens
1..1
1..*
gérer
associé
0..1
Consulter 1..*
0..*
Projet
- Ref_projet : Integer
1..* - Nom : string
0..*
SMS tâche
- Base : String - Ref_taches : Integer
- NB_envoi : Integer Campagne - nom_tache : String
- Ref_campagne : Integer - tache : String
- Nom compagne : String - date début : String
- Date début : Date - etat : int
- date fin : Date + créer ()
Maquette - Description : String + modifier ()
- état : String + supprimer ()
+ créer () + afficher etat ()
+ modifier () + Avancer etat ()
+ supprimer ()
Facebook + afficher etat ()
0..*
- Budget : double + Avancer etat ()
- NB_jours : Integer + afficher campagne ()
- NB_clics : Integer + avancer campagne ()
Google
- Budget : Double
- Nb_jours : Integer
- NB_clics : Integer
34
Chapitre 3 : Conception
Les différentes classes indiquées dans le diagramme sont le résultat d’une décomposition plus
ou moins détaillée du système global. Dans ce qui suit, nous présentons une description brève
pour chaque classe :
Classe Administrateur
Cette classe permet à l'administrateur d'accéder à l'application à travers la méthode "s'identifier"
et de se déconnecter à travers la méthode "se déconnecter"
Classe Utilisateur
C’est la classe de gestion d'un utilisateur. Elle permet de créer, modifier, supprimer un
utilisateur. Elle fournit, ainsi, des méthodes permettant à l'utilisateur de se connecter et se
déconnecter.
Cette classe est héritée par trois sous-classes et qui sont :
Classe chef de projet
Classe technicien
Classe client
Classe Projet
C’est la classe contenant les méthodes nécessaires pour la gestion d'un projet. Ces méthodes
permettent de consulter, créer, modifier et supprimer un projet
Classe Campagne
Cette classe représente une campagne. Elle offre les méthodes permettant de gérer, modifier,
supprimer, activer et arrêter une campagne
On distingue cinq sous classes de cette classe qui sont essentiellement :
Classe E-mailing
Classe SMS
Classe Facebook
Classe Google
Classe Maquette
Classe Tâches
Cette classe de gestion de tache. Elle permet de créer, modifier ou supprimer une tâche.
35
Chapitre 3 : Conception
Classe Message
Cette classe permet d’envoyer, de composer, consulter et supprimer des messages.
Classe projet
Classe Attribut Description Type
Ref_projet Référence du projet Integer
Projet
Nom nom de projet String
Classe campagne
Classe Attribut Description Type
id_compagne L’identifiant de la campagne Integer
Nom_campagne Le nom de la campagne String
Date_début La date début de la campagne date
campagne
Date_fin La date fin de la campagne Date
Discription Description de la compagne String
Etat_avc l'état d'avancement de la compagne String
36
Chapitre 3 : Conception
Classe E-mailing
Classe Attribut Description Type
base Le type de la base des données String
E-mailing
Nb_envoi Le nombre des e-mail envoyés Integer
Classe SMS
Classe Attribut Description Type
base Le type de la base des données String
SMS
Nb_envoi Le nombre des numéros SMS envoyées Integer
Classe Facebook
Classe Attribut Description Type
Budget Le budget proposé pour la consommation de la Double
campagne
Facebook Nb_jours Les nombres des jours de la campagne sur Integer
Facebook
Nb_clics Nombre des clics proposé Integer
Classe Google
Classe Attribut Description Type
Budget Le budget proposé pour la consommation de la Double
campagne
Google Nb_jours Les nombres des jours de la campagne sur Integer
Google
Nb_clics Nombres des clics proposé Integer
Classe tâches
Classe Attribut Description Type
tâches Id_tâches L’identifient de tâches Integer
contenu Le contenu de tâche String
Date_début La date début de tâche Date
37
Chapitre 3 : Conception
Classe Message
Classe Attribut Description Type
Id_msg L’identifient de le message Integer
objet L’objet de message String
Messages
contenu Le contenu du message String
Date_envoi La date d’envoi de le message Date
Serveur application
Serveur de données
application
1..1
T CP/IP (LAN) SGBD
1..1
serveur web
1..1
Internet/LS
Internet
* *
Internet/LS
Internet/LS Technicien
Client
navigateur
navigateur
1..1 1..1
navigateur navigateur
38
Chapitre 3 : Conception
Après une modélisation statique du système, il s'agit à ce niveau de présenter son comportement
dans le temps (l'évolution d'états dans le temps) à travers le modèle dynamique.
Ce dernier va identifier les différents événements venant du monde externe et montrer
l’enchaînement dans le système que provoquent ces événements externes.
Un diagramme de séquence décrit la séquence temporelle des échanges de messages entre les
objets et l’acteur pour réaliser une certaine tâche. Il montre quels sont les objets qui participent à
l’exécution d’un cas d’utilisation et quels sont les messages qu’ils échangent d’un point de vue
temporel.
La particularité de ses diagrammes, est qu'elles privilégient la représentation temporelle à la
représentation spatiale et sont plus aptes à modéliser les aspects dynamiques du système.
39
Chapitre 3 : Conception
utilisateur
chargé le formulai re
formul aire d'ajout campagne
créer campagne()
Scénario
L’acteur accède à l’application pour créer une nouvelle campagne il choisir le type puis
l’interface rendre un formulaire de création, l’acteur donner les cordonnes et enregistre, si les
champs est vide l’interface affiche un message d’erreur, sinon il affiche un message de succès.
uti li sateur
40
Chapitre 3 : Conception
Scénario
Lorsque l’utilisateur accéder à l’application il peut consulter les projets, il choisit le projet
concerné, le système lui affiche la liste des campagnes et la liste des tâches associées à ce projet
avec ses état.
créer utilisateur
Administrateur
utilisateur existant
41
Chapitre 3 : Conception
Scénario
:cam pagne
uti l i sateur
Scénario
L’acteur (administrateur, chef de projet, technicien) accède pour changer l'état d'une campagne,
il demande d’avancer l’état de campagne, est ce dernier objet retourne l’état actuel. L’acteur
modifier cet état est valide puis le système enregistrer la modification est affiche le nouvel état.
42
Chapitre 3 : Conception
Scénario
[nouvelle campagne] campagne ouverte [configuration] campagne configurée [test client Ok /valider campagne()] campagne validée
Description
Lors de la création d’un nouveau projet ayant des campagnes, un projet campagne est crée. Cette
campagne va être configurée par l’utilisateur qui est changé d’elle une fois configurée, un test est
envoyer au client du projet. Ce dernier peut confirmer ou refuser cette configuration. Dans le cas
ou le client valide la configuration de la campagne le technicien lancer campagne qui devient
alors activée. En fonction de son état de progression. Le technicien peut avancer la campagne
jusqu'à la fin qui devient alors une campagne clôturée.
43
Chapitre 3 : Conception
Cette étape consiste à implémenter le modèle dans le SGBD, c’est-à-dire traduire dans un
langage de définition de données. Dans notre projet, nous avons respecté les règles suivantes
pour faire le passage du diagramme de classe vers le modèle relationnel.
Technique de passage :
Une classe représentée par une table dont les colonnes sont les attributs de cette classe.
Une association « un ou plusieurs » impliquait l’intégration de la clé de la table relative à
la classe portant la cardinalité « un » et de même à la classe portant la cardinalité «
plusieurs ».
Une association « plusieurs à plusieurs » impliquait la création d’une nouvelle table ayant
comme clé la concaténation des deux tables relatives aux classes associées.
Ainsi, nous pouvons présenté les different tables formant notre base des données comme suite :
Utilisateur (user, pass, Nom_utilisateur, Prenom_utilisateur, e-mail, N_telephone, Login,
type)
Projet (ref_projet, nom_projet, #administrateur, #chef de projet, #technicien, #client)
Campagne (ref_campagne, nom_campagne, date_début, date_fin, description, etat, base,
nb_envoi, budget, nb_jours, nb_clics, #technicien #id_utilisateur, # ref_projet)
tâche (ref_tache, nom_tache, tache, date, etat, # ref_projet, #technicien)
Message (id_msg, sujet, continue, date_envoi, #user)
Projet_Utilisateur(#User, Ref_projet, Technicien, Client)
44
Chapitre 3 : Conception
Pour mettre en œuvre la solution retenue pour notre application, nous avons choisi l’architecture
la plus répondu dans le domaine web qui est l’architecture 3-tiers.
Ce choix est basé sur les apports et les avantages de telle architecture qui sont principalement :
1. Les requêtes clients vers le serveur sont d'une plus grande flexibilité que dans celles de
l'architecture 2-tiers basées sur le langage SQL.
2. Cette flexibilité permet à une entreprise d'envisager dans le cadre d'une architecture 3-
tiers une grande souplesse pour l'introduction de toutes nouvelles technologies.
3. D'un point de vue développement, la séparation qui existe entre le client, le serveur et
le SGBD permet une spécialisation des développeurs sur chaque tiers de l'architecture.
4. Plus de flexibilité dans l'allocation des ressources; la portabilité du tiers serveur permet
d'envisager une allocation et ou modification dynamique aux grés des besoins évolutifs
au sein d'une entreprise.
45
Chapitre 3 : Conception
3.6 Conclusion
Dans ce chapitre conception, nous avons présenté la vue statique et dynamique de l’application à
développer à travers des diagrammes UML. Nous avons, ainsi, réussi à concevoir notre modèle
relationnel qui est constitué des différents tables formant notre base des données.
Cette phase facilite l’environnement la mise en place de notre application. Le chapitre suivant
met l’accent sur la phase de réalisation qui est le fruit direct de la phase de modélisation.
46
Chapitre 4 :
Réalisation
Chapitre 4 : Réalisation
Chapitre 4 : Réalisation
4.1 Introduction
La phase de réalisation met en valeur les interfaces graphiques de l’application. Donc, nous
allons commencer tout d’abord par l’identification des choix techniques de développement. Puis,
nous allons présenter les différentes phases d’implémentation et de validation en exposant les
captures d’écrans afin de décrire le travail réalisé avec quelques explications.
Pendant les différentes phases de notre projet à savoir la documentation, la spécification des
besoins, la conception et le développement, nous disposant d’une machine ayant les
caractéristiques suivant :
Marque : Acer
Modèle : ASPIRE 5742G
Processeur : Intel I3 Core (TM) CPU 2 M380 @2.53GHz
Disque dur: 500G
RAM: 4G
Système d’exploitation : Windows 7 Professionnel 64bit
Dreamweaver (CS3)
48
Chapitre 4 : Réalisation
innovations le propulsèrent rapidement comme l'un des principaux éditeurs de site web, aussi
bien utilisable par le néophyte que par le professionnel [8].
Zend Framework
Microsoft Office Word est un logiciel de traitement de texte. Il est considéré comme le
programme central de Microsoft Office. Il domine le marché des logiciels de traitement de texte.
Son format par défaut est le format " .doc "
Dans les versions plus récentes, comme Word 2003, il supporte aussi des fichiers dans un format
basés sur le XML. Word est aussi disponible dans certaines versions de Microsoft Works Suite.
Il est disponible sur Windows et Macintosh [9].
PowerAMC
49
Chapitre 4 : Réalisation
A fin de développer notre application, nous avons recours à l’architecture Modèle/ Vue/
Contrôleur (MVC).
En effet « MVC » est une architecture et une méthode de conception pour le développement
d'applications logicielles qui sépare le modèle de données, l'interface utilisateur et la logique de
contrôle.
Ce modèle d'architecture impose la séparation entre les données, les traitements et la
présentation, ce qui donne trois parties fondamentales dans l'application finale : le modèle, la vue
et le contrôleur [10].
Rôle du Modèle
Rôle de la Vue
Rôle du Contrôleur
50
Chapitre 4 : Réalisation
HTML5
HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML (format de
données conçu pour représenter les pages web).Cette version est en développement en 2012.
HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5et
XHTML5. Le langage comprend également une couche application avec de nombreuses API,
ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme [8].
CSS 3
Le CSS3 est tout simplement un langage (Cascading Style Sheets). Pas comme le patois, mais un
langage codé qui est utilisé pour définir l’aspect d’un site ou d’un blog. Il gère par exemple la
couleur du fond de la page, les images, la couleur et le type de police de caractère. Dans chaque
site, ou blog comme ici chez Over-Blog, le css3 est un petit fichier rempli de texte et de codes
dans lequel se définissent les aspects visuels généraux [11].
JavaScript
JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web
interactives. C'est un langage orienté objets à prototype, c'est-à-dire que les bases du langage et
ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes,
51
Chapitre 4 : Réalisation
mais qui sont chacun équipés de constructeurs permettant de générer leurs propriétés, et
notamment une propriété de prototypage qui permet d'en générer des objets héritiers
personnalisés [8].
PHP 5
JQuery
JQuery est une bibliothèque JavaScript libre (on parle également de Framework JavaScript libre)
développée initialement par John Régis et qui est aujourd'hui maintenue et mise à jour par la
communauté jQuery Team. Le Framework JavaScript jQuery codé rapidement et simplement des
traitements à base de code JavaScript pour dynamiser et améliorer l'ergonomie sites internet [13].
MYSQL
MySQL est un système de gestion de base de données. Selon le type d'application, sa licence est
libre ou propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au
monde, autant par le grand public (applications Web principalement) que par des professionnels,
au même titre que Oracle ou Microsoft SQL Server. [8]
52
PHPMyAdmin
Chapitre 4 : Réalisation
PhpMyAdmin (PMA) est une application Web de gestion pour les systèmes de gestion de base
de données MySQL réalisée en PHP. Il s'agit de l'une des plus célèbres interfaces pour gérer une
base de données MySQL sur un serveur PHP. De nombreux hébergeurs, qu'ils soient gratuits ou
payants, le proposent ce qui permet à l'utilisateur de ne pas avoir à l'installer [8].
54
4.6.4 Organigramme de la partie de Client
L’authentification est une étape primordiale par la quelle chaque utilisateur de notre système doit
y passer pour accéder à l’application. Cette phase assure, en effet, la sécurité de l’application en
demandant l’accès à l’application, l’utilisateur se voit dans l’obligation de s’authentifier à travers
son compte. Il saisit alors, ses paramètres de connexion et valide par la clique sur le
bouton « connexion ». Le système vérifie l’existence de ce compte dans sa base des données.
Si l’utilisateur est identifié dans la base, il accède à l’application selon son mode d’accès fixé par
l’administrateur. Une fois les données sont valides, la page d’accueil de l’utilisateur est chargée.
55
Chapitre 4 : Réalisation
L’administrateur c’est la seul personne qui peut gérer les comptes des utilisateurs, alors il
accéder pour créer un nouvel utilisateur. Il attribut un login et un mot de passe et remplis les
champs des cordonnées nécessaires lié à cet utilisateur et choisi le type d’accès à l’application
(Chef de projet, Technicien ou Client) puis il clique sur le bouton « enregistrer ».
Cette figure représente la phase de création des projets, pour notre application c’est une étape
très importante et simple, car l’utilisateur ne peut pas créer une campagne ou une liste des tâches
avant de créer un nouveau projet. Alors le chef de projet ou l’administrateur accède à la page
« Nouveau Projet » et saisit le nom de projet puis donne un nom de client et enfin cliquer sur le
bouton « créer un nouveau projet » pour valider et enregistrer ce projet.
56
Chapitre 4 : Réalisation
Message de validation
Le 1er message « enregistrement avec succès » est un message de validation lorsque l’utilisateur
saisit le nom de projet et le nom de client correctement.
Message d’erreur
Le 2eme message « saisir le nom de projet » c’est un message d’erreur s’affiche lorsque
l’utilisateur a donné des cordonnes non valide ou laissé les champs vide.
Cette figure représente l’interface « Créer campagne ». L’utilisateur peut accéder à cette page
pour créer une nouvelle campagne. En premier lieu, il choisit le type de campagne à créer, puis il
remplit les champs vides et choisit un technicien et un projet et il peut aussi écrire des
commentaires dans le champ de description puis il clique sur le bouton « enregistrer » pour créer
cette nouvelle campagne.
57
Chapitre 4 : Réalisation
Message d’erreur
Si l’utilisateur n’a pas rempli tout les champs et cliqué sur le bouton « Enregistrer », un message
d’erreur « Veuillez renseigner ce champ » s’affiche automatiquement à l’utilisateur.
Cette interface est la plus importante dans notre application. Elle présente la liste des projets en
cours. Tout fois l’utilisateur choisi un projet exacte, le système s’affiche la liste des campagnes
et la liste des tâches existe sous ce projet avec les états qu’ils se présentent sous la forme de barre
de progression.
58
Chapitre 4 : Réalisation
Si l’utilisateur peut modifier la campagne, il clique sur le bouton modifier pour ouvrir
une autre page de modification.
Si l’utilisateur peut avancer l’état de la campagne, il doit cliquer sur le bouton vert et
amélioré l’état de la campagne en cours.
Tant que le technicien termine une tâche de la liste, il doit accéder à cette interface « projets en
cours » puis il choisi un projet précis et clique sur le bouton, alors le système va afficher une
fenêtre portant les tâches de la liste avec des boutons radio, le technicien va cliquer sur la tâche
terminer et le système va récupérer la modification d’état et avancer la barre de progression
automatiquement.
4.8 Conclusion
Ce chapitre présente la dernière étape pour mettre en réalité toute la théorie précédente. Son
objectif est de décrire notre application. C’est pourquoi nous avons mis l’accent sur les étapes de
réalisation du projet par l’explication de contenu de quelques pages.
59
Conclusion et Perspectives
Conclusion et Perspectives
Ma mission a consisté en la conception et la réalisation d’une application de gestion des projets.
L’application réalisée sera utilisée par les employés concernés de WEB 2 COM et ces clients,
elle leur donnera la possibilité de gérer les interventions d’une façon plus pratique et plus facile
que la gestion actuelle.
Tout au long de ce projet, nous avons acquis un ensemble de compétence sur divers plans.
Sur le plan pratique, ce projet nous a donné la possibilité d’approfondir, nos connaissances en
Programmation PHP, HML… nous a offert la possibilité de mieux maitriser le langage de
modélisation UML. Cette méthode de conception offre d’excellents moyens de représentation les
cas d’utilisation, les classes, les relations entre les différentes classe et les collaborations entre les
objets.
La réalisation de ce projet a suivi plusieurs étapes. J’ai commencé par une étude préalable pour
bien présenté l’environnement du projet. Ensuite dans le deuxième chapitre on a analysé et
spécifié les besoins. Lors de la phase de la conception, j’ai présenté les différents
diagrammes UML pour mieux comprendre la communication entre les différents objets du
projet. Enfin, la phase réalisation, j’ai mis en œuvre notre solution.
60
Webliographie
Webliographie
[1] http://www.umc.edu.dz/vf/coursLigne/MSI/Modele_developpement_logiciel.html
[2] http://tecfa.unige.ch/staf/staf-i/gorga/staf2x/classPHP/introobjet.php
[3] http://www.math-info.univ-paris5.fr
[4] http://omangez.free.fr
[5] http://merise.developpez.com
[6] http://uml.free.fr
[7] http://www-igm.univ-mlv.fr
[8] http://fr.wikipedia.org
[9] http://www.techno-science.net/?onglet=glossaire&definition=526
[10] http://awerpi.olympe.in/maiscestquoilecss-chapitre2/
[11] http://www.html5-css3.fr/css3/introduction-css3
[12] http://books.google.tn/books/about/PHP_5_avancé.html
[13] http://www.yoja-web.com/fr/javascript/jquery-presentation
61