-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPartie4.tex
executable file
·156 lines (131 loc) · 7.43 KB
/
Partie4.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
\chapter{Mise en \oe{}uvre d'IITAMP} % (fold)
\label{cha:Mise en oeuvre d'IITAMP}
\begin{it}
Après la création d'IITAMP, ainsi que l'élaboration de toute sa
documentation, je l'ai installée sur un serveur local chez un client
pour héberger la solution GeMa qui est développée par \emph{IdentIt}.
J'ai eu aussi l'opportunité de réaliser une vidéo d'utilisation de GeMa
dans le cadre d'une présentation par les responsables de l'entreprise
cliente à leurs salariés.
\end{it}
\section{Présentation de GeMa} % (fold)%{{{
\label{sec:Présentation de GeMa}
\lettrine{G}{eMa} est une solution de maintenance innovante alliant
RFID, mobilité et technologie Web. L'application embarquée sur
PDA,\footnote{\emph{Personal Digital Assistant} ou assistant numérique
personnel.} permet la consultation des interventions à réaliser, la
saisie des rapports et l'accès aux données techniques nécessaires au bon
déroulement des travaux.
\begin{quotation}
\og{}Avec GeMa, le responsable de maintenance prépare depuis son poste
informatique les ordres de travaux pour lesquels il mandate un
intervenant sur site. Les techniciens, quant à eux, reçoivent en temps
réel leurs missions sur PDA, qu'ils complètent grâce à une interface
ergonomique (menus déroulants, cases à cocher\dots). Les rapports ainsi
réalisés remontent instantanément sur le serveur. \fg{} M.~Dubourg.
\end{quotation}
Une intervention à réaliser sur un équipement : le technicien
l'identifie grâce à son étiquette RFID scannée par le PDA. Une anomalie
découverte lors d'un contrôle : le technicien la photographie grâce à
l'appareil numérique intégré. Un élément laissé sur place : le
technicien indique sa position sur site, grâce aux fonctions GPS de
GeMa. En temps réel, les responsables et/ou clients disposent
d'informations fiables et exploitables au travers d'historiques, de
statistiques, de bilans, d'alertes email ou via des échanges avec un
logiciel tiers. La figure~\ref{gema} en page~\pageref{gema} illustre
l'utilisation conventionnelle de l'application.
\begin{figure}
\begin{center}
\includegraphics[scale=1.5]{images/gema.png}
\caption{Ceci représente l'utilisation de GeMa via le réseau
Internet. Dans le cadre du déploiement chez Syngenta, le serveur Web
est remplacé par IITAMP en local chez le client.}
\label{gema}
\end{center}
\end{figure}
% section Présentation de GeMa (end)%}}}
\section{Mise en place de la solution} % (fold)%{{{
\label{sec:Mise en place de la solution}
Pour une interconnexion entre les sites, un dispositif de sécurité
impressionnant a été mis en place par Syngenta. En effet, celle-ci
utilise la technologie VPN,\footnote{\emph{Virtual Private Network} ou
réseau privé virtuel.} qui permet d'obtenir une liaison sécurisée à
moindre coût.
Le réseau privé virtuel vise à apporter certains éléments essentiels
dans la transmission de données : l'authentification (et donc
l'identification) des interlocuteurs et la confidentialité des données
via le chiffrement (qui vise à les rendre inutilisables par quelqu'un
d'autre que le destinataire). La figure~\ref{vpn} illustre le principe
de ce type de connexion.
La mise en \oe{}uvre d'IITAMP ainsi que de GeMa s'effectuant dans
l'usine de Nerac près de Bordeaux, le client nous a prêté un ordinateur
portable avec tous les outils nécessaires à la connexion à distance afin
d'éviter de me déplacer sur le site, qui était situé à plus de six cent
kilomètres...
\begin{figure}
\begin{center}
\includegraphics[scale=0.5]{images/vpn.png}
\caption{Exemple de réseau privé virtuel entre deux sites.}
\label{vpn}
\end{center}
\end{figure}
\subsection{Harmonisation des systèmes d'informations} % (fold)%{{{
\label{sub:Harmonisation des systèmes d'informations}
Dans le cadre de cette mise en \oe{}uvre, le client veut récupérer les
données des interventions qui sont stockées dans la base MySQL de GeMa
dans leur système d'information (SI) qui possède une base de données SQL
Server. Cette duplication de données permet une intégration des
informations récoltées par GeMa dans le SI de l'entreprise à des fins de
traçabilité, ce qui permet, à partir des autres logiciels du client, de
faire des statistiques de production.
Pour cette duplication, il a fallu que je développe un script PHP qui
interroge la base de données de GeMa pour récupérer les données puis qui
traite ces données pour les rendre compatibles à la structure de la base
du client ainsi qu'à la technologie SQL Server utilisée et enfin qui
insère ces données traitées dans la base du client.
\subsection{Les tests} % (fold)%{{{
\label{sub:Les tests}
Comme nous l'avons vu, GeMa utilise la mobilité pour le rapport des
interventions. Pour tester si l'application GeMa et si le script de
duplication de données fonctionnent correctement, quelques tests furent
nécessaires. Sachant que le site de production n'est pas proche,
l'utilisation d'un émulateur de PDA au travers du réseau VPN fut
nécessaire.
Quelques problèmes sont apparus pendant la phase de debogage :
\begin{description}
\item[Communication entre les bases :] XAMPP par défaut ne permet pas
d'utiliser une base SQL Server, il a fallu que j'installe et
configure le driver officiel de l'entreprise Microsoft pour
permettre l'accès à la base de données.
\item[Syntaxe invalide pour SQL Server :] Une habitude est ancrée dans
l'utilisation du logiciel libre MySQL qui est de forcer l'encodage
des caractères en UTF-8 afin d'éviter de futurs problèmes. Cette
manipulation se fait via une requête SQL que l'on éxecute dans le
constructeur de la classe qui sert à instancier l'objet de connexion
à la base de données. Comme les habitudes ont la vie dure, j'ai
copié/collé le constructeur sans y prêter attention, cependant SQL
Server ne connait pas cette syntaxe. GeMa étant pourvu d'un système
d'alerte par mail, M.~Dubourg recevait des courriels à 5 minutes
d'intervalles lorsque l'émulateur d'assistant personnel lançait la
synchronisation distante avec le serveur\, \footnote{Fonction de
synchronisation automatique de GeMa Mobile lorsqu'il est sur son
socle.}, son client mail a bien entendu déplacé l'expéditeur en tant
que spam après avoir reçu plusieurs fois le même e-mail. Ne fermant
pas l'émulateur la nuit pour éviter d'avoir à le relancer, une
quantité impressionnante de courriel m'a été annoncé quelques jours
plus tard lorsque le cogérant a inspecté son dossier à pourriel.
\item[Obligation de renseigner tous les champs :] L'ancien système de
relevé se faisant à l'aide d'un papier/crayon puis par l'ajout de
ces annotations dans un fichier Excel, lorsqu'un champ n'avait
aucune valeur, un zéro lui était attribué. En inspectant les données
de la base SQL Server, je me suis rendu compte que mon script, lui
n'insérait rien lorsqu'il n'y avait pas de valeur. J'en ai déduit
qu'aucune règle de gestion n'avait été créée afin d'empêcher la
non-saisie. J'ai donc été obligé d'inscrire cette règle via le
code\,\footnote{C'est la base du client, je n'ai pas à intervenir
dessus même si elle me paraît mal conçue.} alors que habituellement,
il faut le faire via une option lors de la création de la base.
\end{description}
% subsection Les tests (end)%}}}
% subsection Harmonisation des systèmes d'informations (end)%}}}
% chapter Mise en oeuvre d'IITAMP (end)