1. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Arthur BACKOUCHE
BACKOU_A
Epitech Toulouse
Expertise informatique
2015-2016
Rapport de stage
« Création d'un logiciel de supervision de serveurs de
l'entreprise. »
01/07/2015 – 31/12/2015
Maître de stage: Thierry Le Bohec
1/28
2. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
« Création d'un logiciel de supervision de serveurs de
l'entreprise. »
2/28
3. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Remerciements
Etudiant à Epitech Toulouse, faisant partie de la promotion 2019, j'ai
réaliser mon stage de deuxième année chez GFC Atlantic.
Avant de décrire mon expérience, je tiens tout d'abord à effectuer quelques
remerciements auprès des personnes sans qui la réalisation et
l'aboutissement de ce stage n'auraient pas été possibles.
Je remercie tout d'abord mon maître de stage, Thierry Le Bohec qui m'a
accueillit au sein du service informatique du Groupe Atlantic. Je le
remercie également pour son encadrement et sa confiance qu'il m'a
accordée tout au long du stage.
Je remercie Nicolas Valles qui m'a accueillit dans le centre de formation
Atlantic Thermor de Colomiers.
Enfin, je remercie l'école Epitech Toulouse qui m'a apporter de
nombreuses notions en Informatique qui m'ont servit lors de mon stage.
3/28
4. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Sommaire
Introduction
I) Un nouvel arrivant dans la société.
1)GFC Atlantic
1.1) Présentation générale
1.2) GFC Atlantic en chiffre
1.3) Le rôle principal de la société
1.4) Gestion de l'informatique
2) Organisation de la société
2.1) Le SPI
2.1.1) la gestion des serveurs
2.1.2) la gestion du réseau
2.2) Le support
2.2.1) le support de premier niveau
2.2.2) le support de second niveau
2.3) La MOA
2.4) La MOE
3) Projet Ariane
3.1) Contexte du projet
3.2) Etat de l'existant
3.2.1) Architecture générale du projet Ariane
3.2.2) Architecture d'Ariane Tablette
3.3) Organisation de l'équipe de travail
3.3.1) fonctionnement de la méthode Agile
3.3.2) avantages
3.3.3) inconvénients
4) Module réalisé par le Stagiaire
4.1) Les besoins auquel répond le module.
4.2) Les caractéristiques du module.
4.3) Préférence par rapport à la réalisation du module
4.3.1) Le choix de l'environnement de développement
4.3.2) Le choix des langages de programmation
4.4) Surveillance CouchBase
4.4.1) description du besoin
4.4.2) réalisation de la connexion
4.5) Collecte de Statistiques
4 .5.1) description du besoin
4.5.2) réalisation de la connexion
II) Convaincre le maître de stage.
Conclusion
4/28
5. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
PARTIE 1 : Un nouvel arrivant dans la
société.
5/28
6. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Introduction
Le groupe Atlantic fondé en 1968 par Paul Radat et Pierre Lamoure est
aujourd'hui composé de 11 marques. Ces dernières sont créatrices dans 4
domaines qui sont le chauffage, l'eau chaude sanitaire, la climatisation et la
ventilation.
J'ai eu la chance d'intégrer dans le contexte d'un stage Epitech la société
GFC Atlantic.
Les onze marques appartenant aux groupe Atlantic.
6/28
7. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
I. Présentation de GFC Atlantic.
1.1) GFC Atlantic en chiffres.
GFC Atlantic (Gestion et Financière et Commerciale Atlantic) à été fondée
en 1990 et est situé au 44 boulevard des ETATS UNIS à la Roche sur Yon.
Son capital est de 305000 euros. L'entreprise à réalisé l'année dernière un
chiffre d'affaire 20 036k euros. A travers 3 établissements, 173 personnes
travaillent pour cette entreprise.
1.2) Le rôle principal de la société.
Le rôle principal de GFC Atlantic est activité des sièges sociaux, et à ce
titre supervise et gère les autres entreprises présentes dans le groupe
Atlantic. Ainsi l'entreprise dans laquelle j'ai fais mon stage prend en charge
la planification et la direction stratégique du groupe.
1.3) Gestion de l'informatique.
Les sociétés commerciales du groupe Atlantic ont la possibilité de financer
elles même le développement des projets informatiques les concernant,
cependant GFC Atlantic s'occupe de l'ensemble du matériel destiné au
développement informatique(achat/maintenance) ainsi que du
développement de logiciels. L'organisation de cette société est divisé en 4
structures.
7/28
8. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
2) Organisation de la société
2.1)Le SPI
Cette cellule s'occupe du matériel, des bases de données, de la gestion
système et du réseau ainsi que l'achat de licences des logiciel du groupe
Atlantic.
Le fait d'avoir une société gérant l'ensemble de la partie informatique
permet au groupe de bénéficier de serveurs mutualisés.
2.1.1) La gestion des serveurs
Nous pouvons prendre l' exemple de certains des serveurs de base de
donné Oracle qui possèdent à la fois des instances Sauter et Thermor.
Quelques années auparavant les serveurs étaient stockés dans chaque
entreprises, ensuite ils ont été placés au sein même des bâtiments GFC
Atlantic, mais aujourd'hui une migration a lieu, l'ensemble des serveurs
sont contenus dans un DataCenter, ce qui permet une optimisation de la
gestion du réseau électrique et internet.
Le groupe possède une grande variété de serveurs :
→ serveurs de bases de donnés essentiellement Oracle
mais aussi MySql/SqlServer/CouchBase.
→ serveurs de messagerie des sociétés du groupe.
→ serveurs d’envois des SMS.
→ serveurs d' EMAIL (lotus)
→ serveurs AD (Active Directory de Microsoft)
→ serveurs Web
→ serveurs Applicatif.
→ serveurs Citrix.
→ serveurs de fichiers. (partage entre utilisateurs :
FTP,CIFS, WEBDAV) .
8/28
9. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
2.1.2) La gestion du réseau.
La société dans laquelle j'ai fais mon stage gère aussi l'architecture réseau
de chaque sociétés du groupe Atlantic.
Nous pouvons prendre l'exemple de mon stage que j'ai réalisé dans une des
filiales du groupe : le centre de formation Thermor à Colomiers (31).
L'infrastructure réseau de ce lieu est géré par GFC Atlantic (85).
Pendant les 6 mois j'ai ainsi pu bénéficier d'une connexion SDSL
2MegaBits avec les serveurs du groupe Atlantic.
Un passage à 100Megabits est prévu lors de l'année 2016.
2.2)Le support
2.2.1) support de premier niveau.
En cas de problèmes les utilisateurs contact d’abord leur RIS.
Le Responsable Informatique de Secteur est présent dans chaque filiale du
groupe. Si ce dernier n'obtient pas une solution viable au problème posé, il
est alors fait appel au support de second niveau.
2.2.2) support de second niveau.
Le support intervient sur le problème de l'utilisateur en utilisant un
logiciel : Bugzilla. Une application de suivi des bugs. De telles
applications permettent à des individus ou à des groupes de développeurs
de suivre les bugs en cours et les demandes d'amélioration du logiciel. Il
est utilisé par beaucoup d'entreprises pour suivre le développement en
interne de leurs logiciels.
Par l'intermédiaire de ce logiciel, l'équipe de développeur faisant partit du
support à la possibilité de modifier les bases de donnés, un accès au code
source des logiciels beugués permet une correction du logiciel.
En plus du logiciel bugzilla, le personnel du support dispose de NAGIOS,
outil de supervision pour obtenir une visibilité d'ensemble sur l'état des
serveurs.
9/28
10. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
2.3) La MOA
La maîtrise d’ouvrage définit les besoins métiers, le budget et représente
les futurs utilisateurs du système. Cet intervenant ne possède pas les
compétences techniques pour la réalisation du projet, il est expert
fonctionnel. La MOA de GFC Atlantic est en contact direct avec les autres
filiales du groupe Atlantic dans le but de déterminer les applications qui
seront à développer par la MOE.
Dans le cadre de mon stage, la MOA n'est pas intervenue car le logiciel
que j'ai développé est destiné uniquement à certains membres du service
informatique.
2.4)La MOE
La maîtrise d’œuvre est quant à elle choisie par le maître d’ouvrage afin de
réaliser le projet dans le cadre d’un contrat. C'est cette structure qui assure
le développement du projet, la réalisation est divisée en plusieurs étapes.
→ développement
→ test
→ pré production
→ production
Toutes les fonctionnalités ajoutées à un programme sont dans un premier
temps placées en phase de développement (selon la méthode agile).
Ensuite quand les fonctionnalités sont présentables, celles ci sont placées
en phase de test.
Cela permet aux membres de la MOA, ainsi qu'à certains utilisateurs
spécifiques de tester les nouvelles fonctionnalités.
Suite aux tests effectués par la MOA, des remontés ont lieux afin de
perfectionner les fonctionnalités ajoutés.
Après la validation par la MOA, les nouveautés intègrent une branche de
production. En cas de bug majeur, seul le support sera autorisé à effectuer
des modification sur cette partie du dépôt.
Ces modifications sont mergées (réintégrées) par la suite dans la branche
de développement.
10/28
11. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
3)Le projet Ariane
3.1) Contexte du Projet
Les commerciaux des filiales du groupe Atlantic disposent d'une
application web, Ariane Web, (développé en php) reliée à des serveurs de
base de donnée Oracle qui leurs permet d'avoir des informations à propos
de la planification de leurs tâches, de la gestion de leurs contacts, etc.
Ces derniers ont fait la demande d'obtenir une application iPad (Ariane
Tablette) ayant les mêmes fonctionnalités que la plate forme web pour
plusieurs raisons :
→ c'est un objet facilement transportable.
→ l'iPad est un appareil qui démarre rapidement.
→ il n'y pas le problème d'obstacle que pouvait créer l'écran d'un
ordinateur lors d'une discutions avec un client.
→ l'application à la possibilité de fonctionner sans connexion
Internet.
L'Application à pour contrainte d' être synchronisée avec la plate forme
web.
GFC Atlantic à accepté la demande des commerciaux et la réalisation du
projet.
C'est un prestataire qui développe l'application iPad, c'est à dire qu'il n'est
pas interne à la société. Le module de synchronisation (SyncOC) est
développé en interne.
11/28
12. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
3.2) Etat de l'existant
3.2.1) Architecture générale du projet Ariane.
Architecture générale du projet Ariane.
Le module SyncOC fait une synchronisation entre les données reparties sur
différentes bases Oracle et une base de donné CouchBase.
Les données de la base CouchBase sont synchronisées sur des bases de
données locales à chaque iPad.
Les synchronisation sont bi-directionnelles.
L'utilisateur iPad peut modifier des données en étant déconnecté d'Internet.
Lors d'une connexion les données de la base locale sont synchronisées
avec la base de donné CouchBase centralisée.
Le module de synchronisation syncoc récupère les données modifiées dans
Couchbase pour les reporter sur les bases Oracles.
Le Syncoc doit être capable de gérer les conflits de modifications.
12/28
13. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
3.2.2) Architecture d' Ariane Tablette.
Architecture d' Ariane Tablette.
CouchBase est organisé en plusieurs modules : CouchBaseServer (la base
de donné) et SyncGateway : la passerelle de synchronisation entre bases de
données CouchBase (base de référence sur CouchBase Server et les bases
de données locales situées sur les iPad).
Pour assurer performance et redondance en cas de problème, Ariane
Tablette utilise deux serveurs SyncGateway et trois serveurs CouchBase en
cluster.
Un cluster est une grappe de serveur, si l'un des serveurs est endommagé
les autres prennent le relais.
13/28
14. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Le module SyncOC et Ariane Tablette ne communique qu'avec les
serveurs SyncGateway, mais ne sont jamais liés directement aux serveurs
CouchBase.
Le serveur CouchBase contient 10 millions de documents Json (base de
donné NoSQL).
Les bases locales (sur iPad) contiennent une version restreinte des
données.
Tout les jours 400 000 documents Json sont modifiés et doivent être
synchronisés.
Il est fréquemment nécessaire de recharger l'intégralité des bases de
données CouchBase dans le but de les mètres à jours par rapport aux bases
de données Oracle (bases de référence).
Lors de ces longues opérations, un déploiement pouvant aller jusqu'à 150
modules syncOC est effectué en parallèle, cela a pour conséquence une
utilisation intensive des serveurs.
Pour superviser le plantage des serveurs (CouchBase, SyncGateway) il est
nécessaire de posséder un outil de surveillance tel que le module réaliser
par le stagiaire.
14/28
15. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
3.3) L'organisation de l'équipe de travail
Pour le développement du module Syncoc, l'équipe de travail utilise la
méthode Agile.
3.3.1) fonctionnement de la méthode Agile
Cette méthode consiste à réaliser des sprints de deux semaines.
A chaque début de sprint une réunion est organisée afin de définir les
objectifs à réaliser.
Le plus souvent ce sont plusieurs petits modules nommés : User Storie,
dont les fonctionnalités sont définis par la MOA.
A la fin de cette courte période la MOA doit valider les User Stories
réalisées par l'équipe de travail, si celles ci ne correspondent pas aux
résultats attendus, (et/ou) ne passent pas les tests unitaires, alors elles sont
reconduites au prochain sprint.
Un bilan est effectué entre les développeurs, suite au retour de la MOA.
Ces derniers définissent deux point positifs, et deux points négatifs à
propos de leur sprint, cette auto évaluation leur permet une évolution
positive dans leur méthode de travail.
En plus de cela, en prenant comme modèle les deux semaines écoulées, ils
sont capables de mesurer la charge de travail qu'ils peuvent réaliser lors
des prochains sprints.
15/28
16. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
3.3.2) Les Avantages de la méthode Agile
Cette méthode apporte de nombreux bénéfices à l'équipe de travail, tout
d'abord le fait de diviser un projet en petits modules, et de connaître les
performances de réalisation des développeurs sur un temps donné permet
de mieux déterminer le temps nécessaire pour réaliser un projet.
L'avancement sur le projet est régulier, toutes les deux semaines des
modules sont réalisés, cela permet d'informer fréquemment le client sur
l'avancé de son projet.
Si ce dernier n'est pas en accord avec les fonctionnalités ajoutées par les
développeurs, ils peuvent facilement et rapidement modifier les modules
sans pour autant avoir à rectifier l'ensemble du logiciel.
La MOA bénéficie d'un accès à l'évolution du projet, qui lui permet de
guider l'équipe de développeur.
On peut apercevoir que la méthode agile modifie les relations entre les
employés. Bien que la hiérarchie entre le chef de projet et les développeurs
est toujours présente, le côté collaboratif est mit en avant.
3.3.3) Les Inconvénients de la méthode Agile
Cependant la méthode agile possède aussi quelques inconvénients, le fait
de ne travailler que sur des petites parties d'un projet ne permet pas au
développeur d'avoir une vision globale du projet, cela peut créer une
démotivation chez l'individu.
Le développeur créer du code exclusif à un module, cela engendre une
absence de code générique, et donc des programmes plus volumineux.
Lors des comptes rendu, c'est le développeur lui même qui définie la
charge de travail réalisable sur deux semaines, il n'est donc pas amené à se
dépasser. En plus de cela, le niveau de qualité de programmation peut être
bâclé si un module doit être impérativement validé par la MOA dans un
certain délais.
16/28
17. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4) Module réalisé par le stagiaire.
4.1) Les besoins auquel répond le module.
Le module que j'ai réalisé au cours du stage permet une surveillance au
niveau de l'état des serveurs CouchBase et SyncGateway.
→ un module Mac OS destiné à Thierry LeBohec et Maxence Chalmin
membre de l'équipe de développement. En effet Ces derniers disposent de
Machintosh dernière génération. Leur mission est de veiller au bon
déroulement du projet Syncoc.
Un logiciel Mac OS était donc nécessaire pour la surveillance des serveurs.
→ un module Windows destiné à l’équipe du support.
Les membres du support étant équipés d'ordinateurs Windows, une
adaptation du module OSX vers Windows était obligatoire pour garantir
une bonne supervision de l'état des serveurs.
4.2) Les caractéristiques du module.
Bien que les langages et les environnements de développement qui m'ont
permis la réalisation de ces deux modules soient différents, les modules
possèdent les mêmes caractéristiques graphiques.
→ un moyen visuel de surveiller les serveurs.
→ des boutons cliquable pour interagir avec les serveurs.
→ un onglet pour obtenir des statistiques sur les bases de données.
4.3) Préférence par rapport à la réalisation du
module
De nombreuses possibilités s'offraient à nous par rapport à la réalisation du
module. Nous avons fait le choix de développer l'application de manière
native.
Pour le premier module, grâce à l'environnement de développement Xcode
et avec le langage propre à Apple : SWIFT.
Pour le second module, nous avons utilisé l'environnement de
développement Visual Studio et le langage C#.
Il aurait été possible de créer un application Web, ainsi que d'utiliser les
langages Xamarin, JAVA, Objectif++, Ruby.
17/28
18. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4.3.1) Le choix des environnements de développement
Xcode : Cet environnement de développement est aujourd'hui la solution
la plus simple pour développer sur OSX.
Le Design d'une application géré grâce à la StoryBoard permet une prise
en main rapide.
Les éléments graphiques sont directement reliés au code source, on utilise
le terme de « Binding » pour définir cette action.
Grâce aux éléments graphiques (un bouton cliquable par exemple), il est
possible d'exécuter une action par l'intermédiaire du code source, le
langage Swift permet donc d'utiliser une programmation événementielle.
Le debuger présent sur Xcode nous indique de manière clair et simpliste
qu'elles sont les erreurs présentes dans notre programme. Cela permet un
réel gain de temps.
La possibilité d'accéder aux prototypes des méthodes que nous utilisons est
rapide grâce à la fonctionnalité « jump to definition ».
Visual Studio : Cet environnement de développement nous a permit de
développer une application bureautique.
Nous l'avons choisis car c'est l’environnement de développement standard
sous Windows.
Dans le cadre du développement de ce module, nous avons fait le choix de
développer une application Windows Forms, une interface graphique
disponible sous Visual Studio.
18/28
19. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4.3.2) Le choix des languages de programmation :
Swift : Le langage Swift est développé par la société Apple. Il est destiné à
la programmation d'applications sur les système d'exploitation IOS, OSX,
watchOS et tvOS. Le module étant destiné pour OSX, nous nous sommes
naturellement tourné vers ce langage informatique.
Ce langage de programmation orienté objet est particulièrement intéressant
car il y a la possibilité d'utiliser l'héritage des classes, cela nous a permit de
créer un code générique et donc plus légé.
Selon Apple ce langage est 3,5x plus rapide que son prédécesseur :
l'objective C, en plus d'être plus léger, plus moderne et beaucoup plus
accessible.
C# :un language de programmation orienté objet, commercialisé depuis
2002 par Microsoft et destiné principalement à la programmation
d'applications web, applications bureau, services web.
Ce langage de programmation à pour avantage de disposer de la
bibliothèque de classe du framework .Net, cette dernière à la particularité
d'être riche, bien documenté et conçu d'une manière simple d'utilisation.
Un autre point sur lequel est intéressant le c# est la gestion de mémoire, en
effet celle ci se fait de manière automatique.
C'est le langage principalement utilisé chez GFC Atlantic, il existe 1576
projets développé en c# pour un total de 4 325 784 lignes de codes.
19/28
20. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4.4) surveillance CouchBase
Module réalisé par le stagiaire - Surveillance CouchBase
4.4.1) description du besoin
Ce module nous permet d'interroger l'état des services CouchBase ainsi
que d'interagir avec les services CouchBase et SyncGateway.
(arrêt/démarrage/re-démarage).
Le module nous indique de manière globale si l'ensemble des services
fonctionnent ou non.
Cette IHM est déclinée en trois versions qui correspondent aux
environnements de développement, test et production.
20/28
21. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4.4.2) Réalisation
L'interface Homme Machine du module à été réalisée par l'intermédiaire
de Xcode.
Pour cela nous avons utiliser le StoryBoard, une fonctionnalité intégrée à
Xcode qui permet d'obtenir un cycle d'utilisation ainsi qu' une
représentation graphique des vues qui composent une application OSX
ainsi que les transitions de navigation entre ces vues.
Nous devions obtenir des informations sur l'état des serveurs. Il était
nécessaire d’exécuter des commandes sur les serveurs linux via SSH (un
protocole de communication sécurisé nommé Secure shell).
Pour pouvoir exécuter les commandes via ssh nous avons générés une clé
SSH :
id_dsa : fichier dans lequel est contenu une clé privée
id_dsa.pub : fichier dans lequel est contenu une clé public
Afin de pouvoir établir une connexion entre les serveurs et les Macs, il fut
nécessaire de déployer les clés SSH dans tout les ordinateurs Apple qui
étaient amenés à travailler sur le projet Syncoc.
Il nécessaire de faire approuver la clé publique sur les serveurs UNIX.
Pour bénéficier de la connexion avec les serveurs, l'équipe de
développement doit obligatoirement se loguer avec un compte AD.
Un compte Active Directory est la mise en œuvre de service LDAP
(Lightweight Directory Access Protocol ), un protocole permettant
l'interrogation des services d'annuaire.
L' Annuaire regroupe des informations sur les membres du groupe
Atlantic.
21/28
22. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
La connexion avec le serveurs Linux est établie et l'utilisateur bénéficie
d'un compte Syncoc lui même référencer dans le fichier sudoers.
Cela aboutit à la possibilité d'exécuter des commandes en tant que root
(super utilisateur qui peut exécuter des tâches qui ne sont pas disponible
pour un utilisateur normal) depuis mac OS sans devoir renseigner le mot
de passe.
Enfin, pour savoir si le service est activé ou non, on exécute une
commande : « sudo /ect/init.d/couchbase-sync-gateway_init.d status»
Si cette commande nous retourne « running » alors le serveur est activé,
dans le cas contraire ce n 'est pas le cas.
L'inconvénient du développement de ce module sous Visual Studio est que
les pc Windows ne disposent pas de clé ssh installé sur le poste
(contrairement aux systèmes UNIX). Il a donc été nécessaire de fournir des
clés ssh à la librairie Renci par l'intermédiaire d'un stream (flux) pour se
connecter en SSH.
Module réalisé par le stagiaire- Collecte de Statistiques.
22/28
23. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4.5) Collecte de Statistiques
4.5.1) description du besoin
Le module SyncOC, a besoin de détecter les modifications qui ont été
apportées par Ariane Web dans les bases de données Oracle (12 172
tables).
Pour cela, dans les bases de données Oracles, des triggers (événement qui
provoque l'exécution d'un algorithme) ont été crées pour les ordres
insert/update/delete.
Ceux ci créent des enregistrements dans une table spécifiques appelé
« CB_MODIF ».
Le module SyncOC analyse les enregistrements de la table CB_MODIF
pour en déduire les modifications de documents Json à effectuer dans
CouchBase.
Quand Syncoc est capable d'absorber sa charge de travail, il n'y pas
d'enregistrement à traiter dans la table CB_MODIF.
Dans le cas contraire, Si Syncoc n'est pas suffisamment rapide, (et/ou) qu'il
y a des conflits (documents modifiés à la fois dans ArianeWeb et
ArianeTablette), les documents s'accumulent dans la table CB_MODIF.
La surveillance de cette table est donc primordiale.
Le module réalisé par le stagiaire nous permet donc, base de donné par
base de donné de connaître le nombre d'enregistrement en attente dans la
table CB_MODIF.
Le nombre d'enregistrement est affiché d'une manière simple et détaillé.
Le détail de la table Oracle concerné ainsi que la priorité de
l'enregistrement sont visibles dans la partie « détails ».
23/28
24. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
4.5.2) réalisation
Un onglet sur le module nous permet d'obtenir des statistiques sur les bases
de données à l'aide des webservices WCF (Windows Communication
Foundation). Le modèle de programmation de WCF est une couche
d'abstraction qui unifie et simplifie la mécanique d'intégration des services
Web.
Le service Web que nous avons utilisé est programmé en C#.
Ce dernier s’exécute sur un serveur Windows par l'intermédiaire d'IIS.
Internet Information Services est le logiciel de serveurs services Web des
différents systèmes d'exploitation Windows.
Notre service Web expose des fonctionnalités selon le protocole de
transmission de messages entre objets distants SOAP et non pas REST.
En effet GFC Atlantic privilégie SOAP pour des raisons de gestions de
transactions et de cryptage de bout en bout.
Réalisation sous Mac : Actuellement le langage Swift ne dispose pas de
librairies spécifiques pour gérer le service web SOAP, il était donc
nécessaire de générer les enveloppe SOAP manuellement.
Après avoir fait appel au Service Web (depuis un navigateur web) ce
dernier nous retourne un fichier wsdl (Web service Description language)
avec la liste de fonction disponible et la manière de les utilisés.
Ce fichier wsdl contient du XML (Extensible Markup Language).
Ce langage permet de facilité l'échange de contenu complexes.
La fonction GetCBModifItemStat présente dans le service web utilisé nous
retourne du XML.
Nous avons donc traiter des données XML avec un parseur adapté ce qui
nous a permit de récupérer les statistiques sur la base de donné puis
d'afficher les informations nécessaire à l'utilisateur dans l'onglet Stat.
24/28
25. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Réalisation sous Windows : Le service Web wcf étant de type .Net, c'est à
dire un produit de Microsoft. Il à été plus évident de se connecter à ce
dernier avec l'environnement de développement Visual Studio (Microsoft)
que sous Xcode.
On peut noter que la connexion aux Services Web, l'appel de la fonction et
la récupération du résultat se fait par l’intermédiaire de classes générées
par un outil d’accès au service web simplement en renseignant l'url du
service web dans l'outil qui génère les classes.
25/28
26. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Partie 2 : Convaincre le responsable de stage.
26/28
27. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Arthur BACKOUCHE Vendredi 18 Décembre 2015
10 rue Baronie Thierry Le Bohec
31 000 Toulouse Développeur Informatique
Objet : demande d'entretien.
Monsieur,
Jeune stagiaire Informatique, passionné par le développement sur produits Apple,
j'aimerais pouvoir intégrer l'équipe de développement de votre nouveau projet : l'
application permettant aux employés de trouver la salle dans laquelle ils ont réunion
grâce à leur smartphone.
Cette application m'intéresse tout particulièrement non seulement d'un point de vue
technique, mais aussi car elle permet un réel gain de temps aux employés.
Mon stage m'a permis d'acquérir une expérience et des notions dans le langage de
programmation SWIFT, ainsi qu'une maîtrise de l'environnement de développement
Xcode.
J'ai mené à bien lors de mon stage la réalisation d'un module de supervision des
serveurs développé en SWIFT.
Curieux de savoir qu'elles sont les différences au niveau du développement entre un
logiciel Mac et une application iPhone, je souhaiterais mettre mes compétences au
profit de la réalisation de votre projet.
Le stage effectué sous votre encadrement m'a permis d'acquérir rigueur et méthode
nécessaire pour participer à un projet d'une telle ampleur.
Il me semble logique que mon intégration à votre équipe de travail soit optimale car
j'ai étudié le fonctionnement de votre organisation, la méthode Agile.
Motivé par le fait de compléter mon bagage technique, avoir la possibilité de
participer au développement de cette application iPhone me serait réellement
bénéfique.
Je vous serais reconnaissant de bien vouloir m'intégrer à ce projet, et je me tiens à
votre disposition pour convenir un rendez vous.
Dans cette attente, je vous prie de croire Monsieur, à l'assurance de toute ma
considération.
Arthur Backouche
27/28
28. Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Conclusion
Pour conclure, je commencerais par dire que ce stage m'a permis
d'acquérir de nouvelles compétences, plus particulièrement en matière de
programmation C# et SWIFT. Je pense que la durée de 6 mois est vraiment
nécessaire pour mener à bien un tel projet.
Je suis satisfait d'avoir pu mettre mes connaissances au service de
l'entreprise et d'autant plus d'avoir travaillé sur un logiciel directement
destiné à être utilisé par les membres du service informatique. Je tiens
donc à remercier mon maître de stage pour l'encadrement et la confiance
accordée.
Pour finir, je pourrais dire que ce stage m'a conforté dans ma perspective
d'avenir qui est d'obtenir un baguage technique complet en informatique.
28/28