Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Remerciements :
Je tiens à remercier dans un premier temps, et à témoigner toute ma
reconnaissance aux personnes suivantes, pour l’expérience
enrichissante et pleine d’intérêt qu’elles m’ont fait vivre durant ce
stage au sein de la Lyonnaise des Eaux de Casablanca.
Bouchta Oumaima
2
Remerciements ……………………………………………………………………………..2
Introduction ……………………………….…………………………………..…..…..……5
Bibliographie………………………..………………………………………………………38
Conclusion……………………………………………………………….…………….……39
…………………………………………………………………………..…..6
CHAPITRE2
+description du projet……………………………………………………………..9
+objectif du projet………………………………………………………………….9
+définition du besoin………………………………………………………………9
+fonctionnement de l’application…………………………………………………12
+conception……………………………………………………………………….13-14
+définition d
Android…………………………………………………………………….…15
3
Organigramme général de la lydec…………….7
Organigramme de la DSI………………………..8
Interface menus……………………………………………...……29-30
Interface cycles……………………………..……………………..31
Interface releveurs……………………………..………………….33
MCD…………………………………………………………………14
4
Dans le cadre de mes études à l’institut spécialisé de gestion et d’informatique, j’ai effectué
un stage de fin d’étude au sein de la Lyonnaise des Eaux de Casablanca, dans le but de
renforcer et compléter mes acquis théoriques ainsi que faciliter l’intégration dans le
domaine professionnel.
Le sujet du projet de mon stage traite le développement d’une application mobile Android
sous le thème : « La relève des indexs des clients ».
Pour souligner les grandes étapes du projet, je vous propose quatre chapitres :
ganisme
d’accueil « la Lydec ».
5
Chapitre 1
1-presentation de la société d’accueil : LA LYDEC
LYDEC est le fruit de la fusion du groupe industriel franco-belge Suez avec la Lyonnaise
des Eaux, spécialisée dans la distribution d’eau et les services d’assainissement.
Cette section présente l’organisme d’accueil de la LYDEC, ses activités et son organisation.
En 1997, le groupe Suez a fusionné avec la Lyonnaise des Eaux pour donner naissance à
LYDEC.
Son effectif est de 3 580 employés, son chiffre d’affaires à fin décembre 2014 s’élève à 6
827 Md. Cinq millions d'habitants bénéficient des services de Lydec.
En 2005, LYDEC marque son entrée en bourse marocaine. Le groupe Suez détient désormais
51% du capital de la société aux côtés d’investisseurs institutionnels marocains, RMA
Watanya et Fipar Holding (groupe Caisse de Dépôt et de Gestion) ainsi que du grand public.
6
Organigramme général de la lydec
LYDEC s’organise en plusieurs directions gérées par la direction générale.
7
Organigramme de la DSI
La figure suivante représente l’organisation de la direction des Systèmes d’Informations,
8
Chapitre 2
1-1 : Description du projet Android à réaliser :
Nom du projet: la relève des indexes clients
Ce qui est bien pour garder la traçabilité de chaque tournée pour la LYDEC
9
Comme administratrice de cette application, j’attribue la tournée générée par
un responsable backoffice à un releveur de compteur (Lydec) qu’on a déjà
ajoute comme utilisateur, ensuite ce dernier il doit se connecte à
l’application, il charge sa tournée,
10
->Celui qui génère un fichier qui contient
toutes les informations de la tournée d’un
releveur selon un ordre.
->Attribuer à un releveur
une tournée
->
11
1-4 : Fonctionnement de l’application :
+coté client :
-> Se connecter à l’application
+coté admin :
->Ajouter /modifier/supprimer un releveur
12
La conception du projet :
Afin de respecter les critères mentionnés dans le cahier des charges et garantir le
fonctionnement d’application, et pour donner une conception solide, je me suis basée sur
l’aspect analytique.
J’ai choisi UML et Merise très répandu chez les développeurs pour montrer les relations
entre les tables au sein d’une base et réaliser d’autres fonctionnalités
13
MCD :
NB :
+Foreign key(refTournee) References login(Tournee),Foreign
key(refID) References login(matricule)) :le champs reftournee de la
table tournee est une clé étrangére references le champ Tournee du
table login.
14
Chapitre 3
LA PLATEFORME ET LES OUTILS UTILISéS
1. la plateforme utilisée :
15
Les outils utilisés :
SIGNATURE-100603-201312-M-104020-56-1.00M005-O-03/01/2016-04/01/2016-0
[D_PDA_TOURNEE]
2-0196436-0-100021457-105540-LACHEMI BEN HAMOU-Q00106759-49 RU 5 RC--6-273-2--I-
2--15---A-H-5-1-O--201312-100603-0--03/01/2016---31015----------0-0-0-0-265---0-
104020-104020-N-N-04/01/2016-0-0----759206-0
1-245335-0-100021456-105540-TAHAR BEN MOHAMED-208104892-49 RU 5 RC--6-273-2--I---
----E-5-1-O--201312-100603-100--03/01/2016---774----------0-0-0-0-9---0-104020-
104020-N-N-04/01/2016-0-0----759206-0
1-685196-0-100004856-82963-M.EDRIHMI ABBES-102139595-47 RU 5 RC--6-274-1--I------
-E-4-1-N--201312-100603-200--03/01/2016---2054----------0-0-0-0-14---0-104020-
104020-N-N-04/01/2016-0-0----752494-0
2-0367657-0-100004858-105541-B.HADJ ABDELLAH-A04128946-47 RU 5 RC--6-274-2--I-2--
20---A-H-5-1-O--201312-100603-300--03/01/2016---13926----------0-0-0-0-34---0-
104020-104020-N-N-04/01/2016-0-0----759207-0
2-A112090-0-100078213-3872-CHAIB ERRASS AHMED-000074056-43 RU 5 1--6-275-7--I-2-
-15---A-H-5-1-O--201312-100603-400--03/01/2016---50772----------0-0-0-0-280---0-
104020-104020-N-N-04/01/2016-0-0----700963-0
1-442329-0-100078213-3872-CHAIB ERRASS AHMED-102118801-43 RU 5 1--6-275-7--I----
---E-4-1-N--201312-100603-500--03/01/2016---3205----------0-0-0-0-16---0-104020-
104020-N-N-04/01/2016-0-0----700963-0
2-0553702-0-100004891-105543-CHAIB ERRASS AHMED-007099032-43 RU 5 RC--6-275-6--I-
2--20---A-H-5-1-O--201312-100603-600--03/01/2016---16844----------0-0-0-0-72---0-
104020-104020-N-N-04/01/2016-0-0----759209-0
1-856198-0-100004880-82964-HAROUCHI AICHA-203110754-41 RU 5 RC--6-275-4--I-------
E-5-1-O--201312-100603-700--03/01/2016---1250----------0-0-0-0-4---0-104020-
104020-N-N-04/01/2016-0-0----752495-0
2-0324527-1-100004936-105545-MLIL MOHAMED-N00439116-39 RU 5 RC--6-276-3--I-2--15-
--A-H-4-1-O--201312-100603-800--03/01/2016---5896----------0-0-0-0-0---0-104020-
104020-N-N-04/01/2016-0-0----759211-0
2-0460386-1-100165843-105544-BLAL HAMMOU-004062548-39 RU 5 RC--6-276-2--I-2--20--
-A-H-4-1-O--201312-100603-900--03/01/2016---8496----------0-0-0-0-0---0-104020-
104020-N-N-04/01/2016-0-0----759210-0
2-0621186-0-100021496-105548-EL ORCH AHMED-S00375074-37 RU 5 1--6-277-3--I-2--
15---A-H-5-1-O--201312-100603-1000--03/01/2016---44508----------0-0-0-0-0---0-
104020-104020-N-N-04/01/2016-0-0----759214-0
1-783370-0-100021462-82965-ERRAJI MOHAMED-102139596-37 RU 5 RC--6-277-2--I-------
E-4-1-N--201312-100603-1100--03/01/2016---820----------0-0-0-0-15---0-104020-
104020-N-N-10/24/2002-0-0----752496-0
16
1) un exemple d’un fichier qui contient une tournée générée par un BACKOFFICE LYDEC :
2) un exemple d’une classe JAVA qui explique les données de la tournée qui existent dans le
fichier:
17
public class PdaTournee {
public
private Long String
_id; getFrnCod() {
privatereturn
StringfrnCod;
frnCod;
}
private String polNum;
private String polEtat;
public
private void setFrnCod(String
Integer cliId;
frnCod) Integer
private { locId;
privatethis.frnCod
String cliNom;= frnCod;
}
private String cptNum;
private String adrCons;
public
private String
String getPolNum() {
numGsm;
privatereturn
Integer polNum;
refSec;
}
private Integer refTrn;
private Integer refOrd;
public
private void locIdg;
String setPolNum(String
polNum) String
private { polTypc;
privatethis.polNum = polNum;
String cptFils;
}
private String cptTens;
private String cptAmp;
public
private StringcptCal=0;
Integer getPolEtat() {
privatereturn
Integer polEtat;
cptSys=0;
}
private String typeBr;
private String empCpt;
public
private void cptRoue;
String setPolEtat(String
polEtat)String
private { cptCoef;
privatethis.polEtat
String plombe; = polEtat;
}
private String marque;
private String rlvProd;
public
private Integer
Integer getCliId() {
refTournee;
privatereturn
Integer cliId;
refFolio;
}
private Integer nvFolio;
private String rlvADate;
public
private void rlvNDate1;
String setCliId(Integer
cliId) {String rlvNDate2;
private
privatethis.cliId = cliId;
Integer rlvAIdx;
}
private Integer rlvNIdx1;
private Integer rlvNIdx2;
public Integer getLocId() {
public return locId; {
PdaTournee()
}
super();
// TODO Auto-generated
publicstub
constructor void setLocId(Integer
}locId) {
3) une méthode qui va nous servir de this.locId = locId;
remplir la table Tournée de notre base de } PdaTournee(String frnCod,
public
Integer cliId, String cliNom, String
données ainsi que l’ordre des cptNum,public
Integer String getCliNom()
refTournee) { {
informations existants dans le fichier : return cliNom;
this.frnCod = frnCod;///
}
this.cliId = cliId;
this.cliNom = cliNom;
this.refTournee = refTournee;
18
Les outils et la méthodologie utilisée dans la réalisation
du projet :
-architecture MVC:
Architecture MVC : Modèle-Vue-Contrôleur est un motif d'architecture logicielle destiné
aux interfaces graphiques lancé en 1978 et très populaire pour les applications web. Le
motif est composé de trois types de modules ayant trois responsabilités différentes : les
modèles, les vues et les contrôleurs.
->j’ai opté pour l’architecture mvc dans l’écriture du code de mon projet.
-dossier dao qui contient ma base de données et chaque table avec ses propres méthodes
utilisés (insertion modification …)
->dossier entities qui contient les classes dont j’avais besoin plusieurs fois, par exemple
rowlayout qui définit le design de ma listview, ainsi la classe chargement qui contient les
méthodes pour charger les spinner à parti du fichier, remplir ma table Tournée a partir du
fichier etc
19
->dossier UI, qi contient les classes de toutes les activités utilisés dans cette application.
*JAVA :
est un langage de programmation orienté objet créé par James Gosling et Patrick
Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy (cofondateur
de SuMicrosystems en 1982), présenté officiellement le 23 mai 1995 au SunWorld.La
particularité et l'objectif central de Java est que les logiciels écrits dans ce langage
doivent être très facilement portables sur plusieurs systèmes d’exploitation tels
que Unix, Windows, Mac OS ou GNU/Linux, avec peu ou pas de modifications
*XML :
20
SQLite est un système de base de données qui a la particularité de fonctionner
sans serveur, on dit aussi "standalone" ou "base de données embarquée". On
peut l'utiliser avec beaucoup de langages : PHP, Python, C# (.NET), Java,
C/C++, Delphi, Ruby...
L'intérêt c'est que c'est très léger et rapide à mettre en place, on peut s'en servir
aussi bien pour stocker des données dans une vraie base de données sur une
application pour smartphone (iPhone ou Android), pour une application
Windows, ou sur un serveur web.
LA REALISATION DE L’APPLICATION :
Le logo et le nom de l’application :
21
Le releveur entre son
userName et son mot de
passe et en cliquant sur le
bouton LOGIN, il passera
à l’interface suivante ou il
va charger sa tournée et
la commencer.
22
La deuxième interface : gestion des lots
23
Le numéro de la
tournée du releveur
Le message
qui s’affiche
après le clic
sur décharger
24
Le fichier Excel qui contient
toutes les données enregistrés De
toutes nos tables sqlite anomalie,
tournee,login
->déchargement tournée
25
La troisième interface : récapitulative globale
26
La quatrième interface : la liste des compteurs
En cliquant sur
ce bouton, le
releveur passe à
l’interface de
saisie des
indexes
Numéro du
compteur
La référence de la
tournée
(refsec-ref-ref)
La nature du
fluide :
Eau ou bien
électricité
27
La quatrième interface : l’ajout des nouveaux indexent des clients,
Un message
s’affiche qui
indique le nom du
client et son
adresse.
28
En cliquant sur ce bouton, il
passe à l’interface de saisie
des anomalies
29
Un menu à gauche,
30
Menu du mise à jour du
releveur :Ajout/Suppression/Modif
ication
31
Elle cite le nombre de
compteurs nos lus, celles
lus , avec ou sans
anomalie .. ->le résultat
de sa tournée, comme ça
il peut vérifier par lui-
même toit au cours sa
tournée et se rattraper si
il y’a un manque ou un
problème
32
Interface modification compteur :
lorsque le releveur veut
changer le compteur(sa
marque , son type ,celui
de branche ,coef ,ou
roue.., il n’a qu’à choisir
à l’aide d’un spinner
contenant une liste de
choix générés aussi par
un backoffice et cliquer
sur le checkbox et le
bouton ok
.Résultat: modifications
enregistrés dans notre
base de donnes
33
L’interface :la liste des releveurs : Une fois que
l’admin se
connecte, une
liste des
releveurs
existants
s’affiche.
Il peut même
ajouter un
nouveau
releveur en
cliquant sur
’ajouter
releveur ‘et
passer à
l’interface
d’ajout.
34
En cliquant sur un
releveur de la liste,
cette interface
s’affiche qui
montre les
informations
détaillés du
releveur
35
L’interface d’ajout des nouveaux releveurs
36
Interface modification du releveur
37
Interface suppression du releveur
38
Bibliographie :
Les sites suivants :
->Flaticon : les images et icones (à part celles fournies par l’encadrant)
->AndroidDevelopper
39
Conclusion
40