stage gfc atlantic

28
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

Upload: arthur-backouche

Post on 14-Apr-2017

434 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

Arthur BACKOUCHEBACKOU_A

Epitech ToulouseExpertise informatique2015-2016

Rapport de stage

« Création d'un logiciel de supervision de serveurs del'entreprise. »

01/07/2015 – 31/12/2015

Maître de stage: Thierry Le Bohec

1/28

Page 2: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

« Création d'un logiciel de supervision de serveurs del'entreprise. »

2/28

Page 3: Stage GFC Atlantic

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

Page 4: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

Sommaire

IntroductionI) Un nouvel arrivant dans la société.1)GFC Atlantic

1.1) Présentation générale1.2) GFC Atlantic en chiffre1.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 serveurs2.1.2) la gestion du réseau

2.2) Le support2.2.1) le support de premier niveau2.2.2) le support de second niveau

2.3) La MOA2.4) La MOE

3) Projet Ariane3.1) Contexte du projet3.2) Etat de l'existant

3.2.1) Architecture générale du projet Ariane3.2.2) Architecture d'Ariane Tablette

3.3) Organisation de l'équipe de travail3.3.1) fonctionnement de la méthode Agile3.3.2) avantages3.3.3) inconvénients

4) Module réalisé par le Stagiaire4.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éveloppement4.3.2) Le choix des langages de programmation

4.4) Surveillance CouchBase4.4.1) description du besoin4.4.2) réalisation de la connexion

4.5) Collecte de Statistiques4 .5.1) description du besoin

4.5.2) réalisation de la connexionII) Convaincre le maître de stage.Conclusion

4/28

Page 5: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

PARTIE 1 : Un nouvel arrivant dans lasociété.

5/28

Page 6: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

IntroductionLe 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 laventilation.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

Page 7: Stage GFC Atlantic

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éeen 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 chargela 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 financerelles 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

Page 8: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

2) Organisation de la société

2.1)Le SPICette 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 serveursNous 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 Oraclemais 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

Page 9: Stage GFC Atlantic

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 desfiliales 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 support2.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

Page 10: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

2.3) La MOALa 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 MOELa maîtrise d’œuvre est quant à elle choisie par le maître d’ouvrage afin deré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

Page 11: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

3)Le projet Ariane

3.1) Contexte du ProjetLes 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

Page 12: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

3.2) Etat de l'existant3.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 surdiffé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 dansCouchbase pour les reporter sur les bases Oracles.Le Syncoc doit être capable de gérer les conflits de modifications.

12/28

Page 13: Stage GFC Atlantic

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 dedonné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 encluster.Un cluster est une grappe de serveur, si l'un des serveurs est endommagé les autres prennent le relais.

13/28

Page 14: Stage GFC Atlantic

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

Page 15: Stage GFC Atlantic

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 AgileCette 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

Page 16: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

3.3.2) Les Avantages de la méthode AgileCette 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éveloppeursest toujours présente, le côté collaboratif est mit en avant.

3.3.3) Les Inconvénients de la méthode AgileCependant 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

Page 17: Stage GFC Atlantic

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 dumodule. 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 Xcodeet 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

Page 18: Stage GFC Atlantic

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 estrapide 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

Page 19: Stage GFC Atlantic

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éressantcar il y a la possibilité d'utiliser l'héritage des classes, cela nous a permit decré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, eneffet 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

Page 20: Stage GFC Atlantic

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 besoinCe 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

Page 21: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

4.4.2) RéalisationL'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

Page 22: Stage GFC Atlantic

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 queles 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 desclé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

Page 23: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

4.5) Collecte de Statistiques4.5.1) description du besoinLe 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'ily 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

Page 24: Stage GFC Atlantic

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 basesde 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é nousretourne 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

Page 25: Stage GFC Atlantic

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

Page 26: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

Partie 2 : Convaincre le responsable de stage.

26/28

Page 27: Stage GFC Atlantic

Epitech Toulouse – Rapport de Stage – Groupe Atlantic – Arthur Backouche

Arthur BACKOUCHE Vendredi 18 Décembre 201510 rue Baronie Thierry Le Bohec31 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

Page 28: Stage GFC Atlantic

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 vraimentné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