SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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
Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
« Création d'un logiciel de supervision de serveurs de
l'entreprise. »
2/28
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
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
Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
PARTIE 1 : Un nouvel arrivant dans la
société.
5/28
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche
Partie 2 : Convaincre le responsable de stage.
26/28
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
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

Contenu connexe

Tendances

Rapport de stage (3)
Rapport de stage (3)Rapport de stage (3)
Rapport de stage (3)Hamza Chater
 
Page de garde PFE
Page de garde PFEPage de garde PFE
Page de garde PFErimabf
 
Standardisation, maitrise et optimisation du système de pilotage de la perfor...
Standardisation, maitrise et optimisation du système de pilotage de la perfor...Standardisation, maitrise et optimisation du système de pilotage de la perfor...
Standardisation, maitrise et optimisation du système de pilotage de la perfor...oumaimazizi
 
11930173rapport 20de-stage-pdf
11930173rapport 20de-stage-pdf11930173rapport 20de-stage-pdf
11930173rapport 20de-stage-pdfYoussef Dreid
 
Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport HAFID Ait Bihi
 
Presentation finale stage ing
Presentation finale stage ingPresentation finale stage ing
Presentation finale stage ingNoura BELAID
 
Audit de marque SNCF (privatisation)
Audit de marque SNCF (privatisation)Audit de marque SNCF (privatisation)
Audit de marque SNCF (privatisation)Michel Stawniak
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étudeDonia Hammami
 
Présentation kaizen et poka yoke
Présentation kaizen et poka yokePrésentation kaizen et poka yoke
Présentation kaizen et poka yokefaiz ayoub2
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stageL Mehdi
 
Rapport de stage de fin d'etudes du DUT
Rapport de stage de fin d'etudes du DUTRapport de stage de fin d'etudes du DUT
Rapport de stage de fin d'etudes du DUTKarim Souabni
 
Analyse stratégique Cosumar
Analyse stratégique CosumarAnalyse stratégique Cosumar
Analyse stratégique CosumarLamiae Kabbaj
 
Rapport de projet de fin d etude
Rapport de projet de fin d etude Rapport de projet de fin d etude
Rapport de projet de fin d etude Aya IDRISSI
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Demande de stage
Demande de stageDemande de stage
Demande de stagediadiallo
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique MehdiOuqas
 
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...Ayoub Minen
 
Rapport d’activité professionnelle
Rapport d’activité  professionnelleRapport d’activité  professionnelle
Rapport d’activité professionnelleMBS Montpellier
 

Tendances (20)

Rapport de stage (3)
Rapport de stage (3)Rapport de stage (3)
Rapport de stage (3)
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Page de garde PFE
Page de garde PFEPage de garde PFE
Page de garde PFE
 
Standardisation, maitrise et optimisation du système de pilotage de la perfor...
Standardisation, maitrise et optimisation du système de pilotage de la perfor...Standardisation, maitrise et optimisation du système de pilotage de la perfor...
Standardisation, maitrise et optimisation du système de pilotage de la perfor...
 
11930173rapport 20de-stage-pdf
11930173rapport 20de-stage-pdf11930173rapport 20de-stage-pdf
11930173rapport 20de-stage-pdf
 
Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport Rapport de stage Office National des Aéroport
Rapport de stage Office National des Aéroport
 
Presentation finale stage ing
Presentation finale stage ingPresentation finale stage ing
Presentation finale stage ing
 
Audit de marque SNCF (privatisation)
Audit de marque SNCF (privatisation)Audit de marque SNCF (privatisation)
Audit de marque SNCF (privatisation)
 
Demande de stage
Demande de stageDemande de stage
Demande de stage
 
Présentation projet de fin d'étude
Présentation projet de fin d'étudePrésentation projet de fin d'étude
Présentation projet de fin d'étude
 
Présentation kaizen et poka yoke
Présentation kaizen et poka yokePrésentation kaizen et poka yoke
Présentation kaizen et poka yoke
 
Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Rapport de stage de fin d'etudes du DUT
Rapport de stage de fin d'etudes du DUTRapport de stage de fin d'etudes du DUT
Rapport de stage de fin d'etudes du DUT
 
Analyse stratégique Cosumar
Analyse stratégique CosumarAnalyse stratégique Cosumar
Analyse stratégique Cosumar
 
Rapport de projet de fin d etude
Rapport de projet de fin d etude Rapport de projet de fin d etude
Rapport de projet de fin d etude
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Demande de stage
Demande de stageDemande de stage
Demande de stage
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
Rapport projet de fin d'études: Elaboration d’un tableau de bord et politique...
 
Rapport d’activité professionnelle
Rapport d’activité  professionnelleRapport d’activité  professionnelle
Rapport d’activité professionnelle
 

Similaire à Stage GFC Atlantic

conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...Sid Ahmed Benkraoua
 
Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau JennellyHollywood Shookou
 
Accélérer la transformation via une approche outils intégrée (ERP de l’IT)
Accélérer la transformation via une approche outils intégrée (ERP de l’IT)Accélérer la transformation via une approche outils intégrée (ERP de l’IT)
Accélérer la transformation via une approche outils intégrée (ERP de l’IT)itSMF France
 
Accélérez itSMF 2013
Accélérez itSMF 2013Accélérez itSMF 2013
Accélérez itSMF 2013itSMF France
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
Etude Uima Gate Open Nlp
Etude Uima Gate Open NlpEtude Uima Gate Open Nlp
Etude Uima Gate Open NlpRadwenAniba
 
portail_captif.pdf
portail_captif.pdfportail_captif.pdf
portail_captif.pdfnabila201151
 
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014PRONETIS
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis abouaalexis
 
PRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docxPRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docxAlbanHenovi
 

Similaire à Stage GFC Atlantic (20)

conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 
Rapport de fin de stage maintenance info
Rapport de fin de stage  maintenance infoRapport de fin de stage  maintenance info
Rapport de fin de stage maintenance info
 
Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau Maintenance equipement info dans un environnement reseau
Maintenance equipement info dans un environnement reseau
 
Rapport de fin de stage maintenance info
Rapport de fin de stage  maintenance infoRapport de fin de stage  maintenance info
Rapport de fin de stage maintenance info
 
Cacti
CactiCacti
Cacti
 
Accélérer la transformation via une approche outils intégrée (ERP de l’IT)
Accélérer la transformation via une approche outils intégrée (ERP de l’IT)Accélérer la transformation via une approche outils intégrée (ERP de l’IT)
Accélérer la transformation via une approche outils intégrée (ERP de l’IT)
 
Accélérez itSMF 2013
Accélérez itSMF 2013Accélérez itSMF 2013
Accélérez itSMF 2013
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Etude Uima Gate Open Nlp
Etude Uima Gate Open NlpEtude Uima Gate Open Nlp
Etude Uima Gate Open Nlp
 
portail_captif.pdf
portail_captif.pdfportail_captif.pdf
portail_captif.pdf
 
Temoignages clients
Temoignages clientsTemoignages clients
Temoignages clients
 
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014Etude de cas de securite  wifi vpn ssl camera ip video surveillance 2014
Etude de cas de securite wifi vpn ssl camera ip video surveillance 2014
 
Parc info
Parc infoParc info
Parc info
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
cv_hamidi
cv_hamidicv_hamidi
cv_hamidi
 
Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis Rapport version finale kouakou aboua pokou alexis
Rapport version finale kouakou aboua pokou alexis
 
PRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docxPRESENTTION_DU_PROJET_DE_SUPER_021337.docx
PRESENTTION_DU_PROJET_DE_SUPER_021337.docx
 

Stage GFC Atlantic

  • 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