Vous êtes sur la page 1sur 70

REPUBLIQUE TOGOLAISE

Travail-Liberté-Patrie
MINISTERE DU PLAN ET DE LA
COOPERATION

Institut Africain d’Informatique Universal Trade Services (UTS)

Représentation du Togo Tel : +228 90 91 92 92

Tél : +(228) 22 20 47 07 E-Mail : contact@utservices.tk

07 BP 12456 Lomé 07, Togo Site Web : www.utservices.tk

Site web : www.iai-togo.tg Agoè-Assiyéyé face à l’EPP

E-mail : iaitogo@iai-togo.tg

MEMOIRE DE FIN DE FORMATION POUR L’OBTENTION DU DIPLOME


D’INGENIEUR DES TRAVAUX INFORMATIQUES
OPTION :
ADMINISTRATION SYSTEMES ET RESEAUX
THEME DE STAGE :

MISE EN PLACE D’UNE PLATEFORME CLOUD


COMME SERVICE

Période : Du 03 août au 30 Septembre 2020


Rédigé et Présenté Par :

AVONYO SENYO ANTOINE


Année Universitaire : 2019-2020

Superviseur Maître de stage


Mr EKOUE KOVI YAO JEROME Mr AGBOGAN YONAM ELIUD
Responsable informatique a NSIA Chef Système d’Information
Assurances et enseignant a IAI-
TOGO
Je dédie ce mémoire : A mes parents AVONYO Valentin et Ocrane Emefa,
je ne saurais trouver les mots appropriés pour vous remercier de votre
amour, vos sacrifices, soutien moral et surtout financier pour me hisser à
cette étape de ma vie. Trouver en ce travail l’expression de ma profonde
gratitude et mon amour pour vous.

A mes Frères et sœurs : Justin, Marie pour le soutien qu’ils m’ont apportés.

i|Page
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

REMERCIEMENTS

La réalisation de ce mémoire a été possible grâce au concours de plusieurs


personnes à qui je voudrais témoigner toute ma reconnaissance.
Nous tenons tout d’abord à remercier Dieu le tout puissant et miséricordieux, qui
nous a donné la force et la patience de réaliser ce modeste travail.
Mes remerciements vont également à :
❖ Mes parents pour m’avoir encouragé et soutenu tout au long de notre
formation
❖ Mes frères et sœurs pour leurs mots d’encouragements, leurs prières et leurs
soutiens ;
❖ Monsieur Kodjo AGBETI, Directeur Général de l’IAI-TOGO, pour la formation
reçue et pour leurs sages conseils ;
❖ Tout le corps professoral et administratif de l’IAI-TOGO, pour la formation
reçue et pour leurs sages conseils ;
❖ Monsieur STERDAM SENOU Directeur Général d’UTS ;
❖ Monsieur ELIUD YONAM AGBOGAN, mon maître de stage pour sa
disponibilité, son écoute et surtout ses conseils ;
❖ Mon superviseur Monsieur EKOUE KOVI YAO JEROME, pour m’avoir
encadré durant ces trois (3) mois de stage et surtout m’avoir aidé pour la
réalisation de ce projet ;
❖ Tous mes camarades de la promotion ;
❖ Toutes les personnes qui d’une manière ou d’une autre, ont contribué à notre
formation.
Que chacun d’entre vous, y trouve un motif de satisfaction, et puisse Dieu
Tout Puissant vous rendre au centuple tous vos bienfaits.

ii | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

AVANT-PROPOS
L’Institut Africain d’Informatique (IAI) est une institution internationale, créée en 1971
à Fort-Lamy actuelle N’Djamena, capitale de la République de Tchad par onze (11)
pays à savoir le Bénin, le Burkina Faso, le Cameroun, la Côte d’Ivoire, la Centrafrique,
la République du Congo, le Gabon, le Niger, le Sénégal, le Tchad et le Togo. Son
siège se trouve à Libreville au Gabon. L’IAI forme des ingénieurs informaticiens à
Libreville et des ingénieurs des travaux informatiques dans ses représentations.

L’IAI-TOGO est ouvert depuis 2002 et forme en trois (3) ans des ingénieurs des
travaux informatiques dans trois filières : Génie Logiciel (GL), Administration Système
& Réseaux (ASR) et Infographie (M-TWI). Il intègre à la fin de cette formation, un stage
de trois (3) mois en entreprise pour l’obtention du diplôme d’ingénieur des travaux
informatiques. L’objectif de ce stage est de permettre aux étudiants de mettre en
pratique les connaissances acquises au cours de la formation, afin de devenir des
ingénieurs efficaces et qualifiés sur le marché de l’emploi. Dans cet ordre d’idées, notre
stage a été effectué dans les locaux de L’Universal Trade Service (UTS) en vue de
réaliser notre projet de fin de formation.

iii | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

RESUME
Le présent document constitue une synthèse du projet de fin d’étude effectué au sein
du département informatique de l’Universal Trade Services (UTS). En effet, la société
fait le choix stratégique de mettre en place un système de web services avec Openshift
et docker afin de simplifier et automatiser les processus de test et de déploiement des
applications internes et externes. Ainsi, le projet consiste à mettre en place un système
de gestion de code et un système de déploiement automatisé. Tout cela va demander
l’utilisation de plusieurs web services qu’il faudrait mettre en place correctement. Le
système de gestion de code a été principalement supporté par GitHub.

Docker a été surtout utile pour la configuration des différents environnements à utiliser.
Le coût de la mise en place d’un tel système devra être minime pour éviter les
répercussions sur les coûts de maintenance.

iv | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

ABSTRACT
This document is a summary of the end of study project carried out within the IT
department of Universal Trade Services (UTS). Indeed, the company has made the
strategic choice to implement a web services system with Openshift and docker
technology to simplify and automate the process of testing and deploying internal and
external applications. Thus, the project consists of setting up a code management
system, and an automated deployment environment. All this will require the use of
several web services that should be implemented properly. The code management
system was mainly supported by GitHub. Docker was especially useful for configuring
different environments to use. The cost of setting up such a system should be minimal
to avoid the impact on maintenance costs.

v|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

PARTICIPANTS AU PROJET
Le tableau ci-dessous comporte la liste de toutes les personnes ayant participées à
l’élaboration de ce projet de mémoire.

Tableau 1: Participant au projet

PARTICIPANTS FONCTION Rôles

Responsable informatique a
Mr EKOUE KOVI YAO NSIA Assurances et Superviseur
JEROME enseignant a IAI

Mr AGBOGAN YONAM ELIUD Chef Système d’Information Maitre de stage

Mr AVONYO SENYO ANTOINE Etudiant à l’IAI-TOGO Réalisateur

vi | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

LISTE DES TABLEAUX

Tableau 1 : Participant au projet .................................................................................vi


Tableau 2 : Avantages et inconvénients de Docker ................................................. 15
Tableau 3 : Avantages et inconvénients de LXC ...................................................... 16
Tableau 4 : Avantages et inconvénients de runC ..................................................... 17
Tableau 5 : Comparaison des différentes alternatives de Docker............................. 17
Tableau 6 : Avantages et inconvénients de VMware ESX ....................................... 18
Tableau 7 : Avantages et inconvénients de l'Hyper-V .............................................. 19
Tableau 8 : Tableau comparatif entre Docker et VM ................................................ 21
Tableau 9 : Tableau comparatif entre GitLab et GitHub ............................................23
Tableau 10 : Tableau comparatif entre Microsoft Azure et Openshift....................... 25

vii | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

LISTE DES FIGURES

Figure 1 : Organigramme de L’IAI-TOGO....................................................................5


Figure 2 : Plan de localisation de L’IAI-TOGO.............................................................7
Figure 3 Situation géographique d'UTS.......................................................................9
Figure 4 Organisation structurelle d'UTS...................................................................10
Figure 5 Architecture réseau d'UTS...........................................................................12
Figure 6 Comparaison entre Docker et VM................................................................20
Figure 7 Logo de Github.............................................................................................22
Figure 8 Logo de Gitlab..............................................................................................22
Figure 9 Logo de Openshift........................................................................................24
Figure 10 Logo de Microsoft Azure............................................................................25
Figure 11 Logo de Docker..........................................................................................28
Figure 12 Création d'un dépôt GitHub........................................................................32
Figure 13 Logo de CentOS.........................................................................................34
Figure 14 Résultat des mises à jour...........................................................................36
Figure 15 Résultat de la commande de test de Docker............................................ 37
Figure 16 Vérification d’installation d’Openshift......................................................... 38
Figure 17 Résultat de la commande de démarrage d'Openshift................................39
Figure 18 Interface d'authentification d'openshift.......................................................39
Figure 19 Page d'accueil d'openshift..........................................................................40
Figure 20 Présentation des caractéristiques de la machine virtuelle.........................40
Figure 21 démarrage de l'installation de CentOS7 ....................................................41
Figure 22 Interface de configuration de l'installation de CentOs7..............................41
Figure 23 Choix du fuseau horaire.............................................................................42
Figure 24 Choix de la langue du système..................................................................42
Figure 25 Choix du type de clavier.............................................................................43
Figure 26 Interface su choix de la source d'installation..............................................44
Figure 27 Interface du choix du type d'installation.....................................................45

viii | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 28 Interface du choix du stockage d'installation du système..........................46


Figure 29 Interface de configuration des carte réseau...............................................46
Figure 30 création du mot de passe...........................................................................47
Figure 31 Interface d'authentification.........................................................................48
Figure 32 Configuration des fichiers de Docker.........................................................49
Figure 33 Référentiel de notre projet..........................................................................50
Figure 34 Création de notre projet sur Openshift.......................................................50
Figure 35 Configuration du service MySQL sur Openshift........................................ 51
Figure 36 Création du service phpMyAdmin avec un référentiel GitHub....................52
Figure 37 Application PhpMyAdmin...........................................................................52
Figure 38 Création de notre projet web..................................................................... 53
Figure 39 Présentation des Applications déployer dans le projet...............................53
Figure 40 résultat de la commande pour voir les variables d'environnement de
MYSQL ......................................................................................................................54

Figure 41 configuration des variables d'environnements dans le projet déployé.......54


Figure 42 paramétrage du fichier de connexion de notre projet.................................55
Figure 43 recompilation du projet...............................................................................55
Figure 44 Page d'accueil de notre projet....................................................................56

ix | P a g e
Rédigé par AVONYO SENYO ANTOINE
INTRODUCTION

L’informatique est un domaine qui connaît énormément d’évolution depuis ses débuts.
Ces évolutions sont parfois marquées par des ruptures. Depuis quelques années
le « Cloud computing » se développe et s’impose aux professionnels mais aussi au
grand public. Rarement un terme supposé s’adresser uniquement au professionnel de
l’informatique n’aura connu une telle démocratisation dans l’espace public. L’objectif
du projet est de mettre en place une Plateforme de cloud computing permettant de
déployer rapidement les projets et d’exécuter des codes en lignes.
A cet effet nous avons effectué notre stage à Universal Trade Services.
Notre mission consistait à mettre en place une plateforme pour exécuter les codes
en ligne d’où le thème : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME
SERVICE.
Le présent document présente les résultats de notre stage de trois (3) mois effectué
au sein du service informatique de l’entreprise et se structure en cinq (5) parties. La
première partie présentera les établissements de provenance et d’accueil, la
seconde partie présentera une étude préalable du projet quand la troisième parlera
des outils et services à déployer. La quatrième partie concernera la mise en œuvre
et la cinquième partie s’achèvera avec le guide d’utilisation.

1|Page
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

PARTIE I: PRESENTATIONS

2|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

I.1 Présentation de L’IAI


I.1.1 Historique
L’IAI-Togo, Institut Africain d’Informatique représentation du Togo, a vu le jour le 22
octobre 2002. L’IAI-Togo est une école inter-Etats d’enseignement supérieur en
informatique. Il est membre du réseau IAI (Institut Africain d’Informatique) créé le 29
janvier 1971 à Fort Lamy (actuel N’Djamena) en république de Tchad, sous l’initiative
des chefs d’Etat de l’ancienne Organisation Commune Africaine, Malgache et
Mauricienne (OCAM). Le siège fut fixé à Libreville au Gabon. L’Institut Africain
d’Informatique est composé de 11 pays membres que sont : le Benin, le Burkina-Faso,
le Cameroun, le Congo, la côte d’ivoire, le Gabon, le Niger, la République
Centrafricaine, le Sénégal, le Tchad et le Togo.

Le Togo est membre du Conseil d’Administration de l’IAI. Ainsi depuis le 24 Octobre


2002, le Centre Nationale d’Études et de Traitements Informatiques (C.E.N.E.T.I)
héberge la représentation de l’IAI au Togo sous l’appellation d’IAI-Togo. Il forme, en
trois (3) ans, des Ingénieurs de Travaux informatiques ; une formation qui constitue le
cycle préparatoire des cycles d’Ingénieurs concepteurs en Informatique et de celui des
titulaires de Maîtrise en Informatique appliquée à la Gestion (MIAGE) à Libreville. Une
innovation est le lancement du cycle d’Ingénieur de conception (Master) au Togo
depuis l’année dernière, en collaboration avec le Centre Informatique de Calcul (CIC)
de l’Université de Lomé et l’UTBM (Université de Technologie de Belfort-Montbéliard)
de France.

I.1.2 Objectifs de L’IAI-TOGO


Dans le domaine de l’Informatique et des Nouvelles Technologies de l’information et
de la Communication, l’IAI concourt :

➢ A la formation professionnelle ;
➢ A la formation de qualité aux étudiants ;
➢ De produire des ingénieurs de travaux très compétents ;
➢ A la certification à l’Académie CISCO.

3|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

I.1.3 Formation à l’IAI-TOGO


L’IAI-Togo forme des Ingénieurs des Travaux informatiques pour une durée de trois
(3) ans dans trois (3) filières : Génie Logiciel (GL), Administration Système & Réseaux
(ASR) et Infographie (M-TWI) en collaboration avec l’Université de Technologie de
Belfort-Montbéliard en France. Par ailleurs il propose aussi une formation modulaire
Cisco. En effet toujours soucieux de former des cadres compétents répondant aux
besoins du terrain, une nouvelle formation a été ajoutée au panel de l’Institut, le 14
mai 2012. Les cours Cisco, découpé en quatre (4) modules CCNA1, CCNA2, CCNA3
et CCNA4, aussi accessibles via Internet. Cette formation est destinée aux techniciens
réseaux, revendeurs de produits Cisco et à toute personne désirant approfondir ces
connaissances en réseau.

I.1.4 Structure Organisationnelle de L’IAI-TOGO


L’Institut Africain d’Informatique est doté d’une structure organisationnelle de type
hiérarchique et comprend :

❖ La direction Générale, à la tête de laquelle régit le Représentation Résident.


Cette direction est composée de plusieurs cellules et services à savoir :
✓ Secrétariat Central
✓ Secrétariat Particulier
✓ Cellule de Contrôle Interne
✓ Cellule de Communication et des Relations Extérieur
❖ La direction des Affaires Académiques et de la Scolarité (DAAS),
❖ La direction Administrative et Financière (DAF)
❖ La direction de Développement et de recherche (R&D) comme le montre
l’organigramme ci-dessous. (Figure 1)

4|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 1 Organigramme de l’IAI-TOGO

5|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

I.1.5 Plan de localisation de l’IAI-TOGO


IAI-Togo se trouve à Lomé dans le quartier administratif sur la rue de la Kozah derrière
l’immeuble de SUNU Assurance dans les locaux du Centre National d’Etudes et de
Traitements Informatiques (CENETI) comme l’indique le plan de localisation (Figure
2).

Figure 2 Plan de Localisation de l'IAI-TOGO

6|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

I.2 Présentation D’Universal Trade Services


I.2.1 Statut
Universal Trade Services (UTS) est une structure qui se spécialise dans les domaines
de l’immobilier, de la communication et de l’ingénierie informatique. Le service
immobilier se charge de la location, de la vente et de la gestion de biens immobiliers.
La section communication a pour mission la gestion de bout en bout d’évènement, la
fourniture de personnel (Hôtesses, agents de sécurité...) de matériel (voitures, déco
...) ou de services de communication (visuels, campagnes pub ...) pour une
manifestation de tout type. Le département informatique, lui se charge de fournir des
services à la pointe de la technologie autant aux clients qu’en interne avec les
différents logiciels et systèmes métiers internes.

I.2.2 Vision d’UTS


UTS a pour ambition d’être un pôle reconnu pour ses services de qualité dans les
trois domaines où œuvre son équipe. Concernant le domaine technologique en
particulier, UTS a la forte volonté d’accompagner cette révolution du numérique en
apportant des outils à la pointe de la technologie, des experts qualifiés, mais et
surtout un support sans faille au-delà d’assurer une intégration de la haute
technologie tout en s’adaptant aux besoins locaux.

I.2.3 Activités
Les activités seront citées par domaine :

❖ Technologie
Dans le domaine de la technologie :
- Conception, développement et déploiement des systèmes informatiques
- Conception, développement et déploiement d’application mobiles et
desktop
- Développement web
- Conception, administration et services réseaux
- Réalité virtuelle

7|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

❖ Communication

Dans le domaine de la communication nous avons comme activité :


- Organisation et gestion d’évènement
- Hôtesses d’accueil
- Décoration
- Photographie
- Communication digitale, Branding
❖ Immobilier

Dans le domaine de l’immobilier nous avons comme activité :

- Gestion Locative
- Gestion de chantier
- Architecture bâtiment
- Décoration d’intérieur.

I.2.4 Réalisations

Bien qu’étant récemment établis sur le marché, nous vous présentons nos projets
phare dans le domaine technologique :

✓ Blanchisserie mobile : Plate-forme qui permettra aux clients d’avoir accès


à des services de blanchisserie en ligne.

✓ L’ImmoVR : pour faciliter la visite de ses biens immobiliers sans se soucier


des frontières.

✓ TomorrowLand by Africa : une plate-forme web qui permettra aux


utilisateurs de suivre des concerts en live depuis chez eux, via vidéo 4k ou
réalité virtuelle.

✓ DockerNet : services réseaux ressources dédies au développement web


avec la technologie de virtualisation docker.

8|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

I.2.5 Le service d’accueil


Le stage a été effectué au sein de la section systèmes et réseaux, sous la tutelle de la
direction du système d’information.

I.2.6 Situation géographique et contact


La représentation social UTS est situé à Lomé au TOGO dans le quartier Agoè
Minamadou, dans la seconde rue à gauche, après la station Minamadou 2. Une
filiale existe à Cotonou, au BENIN.

Figure 3 Situation géographique d'UTS

9|Page
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

I.2.7 Organisation structurelle

Présentation de l’organisation structurelle d’UTS

Figure 4 Organisation structurelle d'UTS

10 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

PARTIE II: ETUDE PREALABLE DU


SUJET

11 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.1 ETUDE DE L’EXISTANT


Pour mieux comprendre le fonctionnement du département, nous avions fait un état
des lieux pour mieux cerner et mettre en place une problématique à laquelle nous
allons appliquer nos compétences pour proposer une solution adéquate et adaptée.

II.1.1 Architecture Réseau


Une architecture de réseau informatique correspond à l'architecture (physique ou
logique) de celui-ci, définissant les liaisons entre les équipements du réseau et une
hiérarchie éventuelle entre eux.
Elle peut définir la façon dont les équipements sont interconnectés et la représentation
spatiale du réseau (topologie physique). Elle peut aussi définir la façon dont les
données transitent dans les lignes de communication (topologie logique).

Figure 5 Architecture réseau d'UTS

12 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.2 CRITIQUE DE L’EXISTANT


Les entreprises emploient des administrateurs systèmes et font recours à des
développeurs internes ou externes pour leur développer des applications qui seront
intégrées au Système d’information. Bien que les installations et systèmes
d’exploitation avec lesquels fonctionnent les équipements soient à jour, il y a des
complications majeures qui surviennent lors des déploiements des applications
développées à cause de la différence entre l’environnement de développement et
l’environnement de déploiement ou d’une petite dépendance négligée ou encore d’une
différence de version à cause d’une simple mise à jour récente. Aussi pour faire tourner
certaines applications, il y a nécessité de faire communiquer plusieurs machines
physiques ce qui retarde les opérations la plupart du temps. Ainsi, la problématique
majeure c’est : « comment faciliter le déploiement des applications ou
services sans se soucier de l’environnement de développement et les
dépendances requises. Et aussi comment faire fonctionner plusieurs
applications en virtuel tout en assurant une bonne interaction entre elles ».

II.3 PROBLEMATIQUE
L’analyse de la structure du réseau informatique nous révèle un manque
d’infrastructure pour les tests des projets, des bugs d’incompatibilité, la vérification de
code n’étant pas faite, les codes déployés par les développeurs et les administrateurs
systèmes pour des phases de test ne sont pas optimal. De ce fait plusieurs questions
se posent :

➢ Quelles mesures pouvons-nous prendre pour garantir la rapidité des


déploiements de code ?
➢ Quelles configurations doivent être mise en place ?
➢ Quel système doit-on mettre en place pour éviter le manque d’infrastructure
pour les tests des projets ?
➢ Comment procèderons-nous à l’analyse des bugs afin de prendre le pas sur ce
genre d’handicap qui tue nos développeurs et ralentit leurs travaux ?

13 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.4 INTERET DU SUJET

II.4.1 Objectifs
Ici sont présentés nos objectifs :

➢ Proposer une technologie qui facilitera le déploiement des applications ;


➢ Simplifier et automatiser les processus de tests et de déploiement des projets
informatiques ;
➢ Alléger les besoins en ressources physiques pour l’hébergement des projets ;
➢ Améliorer le suivi des projets ;

II.4.2 Résultats attendus


➢ Déploiement facile quelque-soit l’environnement de déploiement car le projet
est toujours sur les infrastructures de notre agence et pas encore en production
;
➢ Totale gestion en locale des codes sources des projets ;
➢ Ressources optimisées ;

II.5 PROPOSITION DE SOLUTIONS


Afin de mieux répondre aux attentes et besoins d’UTS, nous aurons à utiliser plusieurs
catégories d’outils ayant des rôles spécifiques et complémentaires. Nous avons de ce
fait les outils de virtualisation, ensuite des outils pour la gestion des codes et nous
allons choisir un logiciel de conteneurisation.

II.5.1 La virtualisation
Nous avons étudié deux types de virtualisation : la virtualisation par conteneur et la
virtualisation classique.

14 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.5.1.1 Virtualisation par conteneur


Pour la virtualisation par conteneur on dispose entre autres de :
✓ DOCKER
Docker est une plateforme lancée en mars 2013 permettant aux développeurs et aux
administrateurs système de développer, déployer et exécuter des applications avec
des conteneurs, plus précisément la plateforme permet d'embarquer une
application avec toutes ses dépendances dans un process isolé (nommé conteneur)
qui peut être ensuite exécutée sur n'importe quelle machine avec n'importe quel
système d'exploitation compatible avec le moteur Docker. La plateforme Docker est
distribuée en tant qu’édition communautaire gratuite (CE) ainsi qu’en tant que version
Entreprise payante (EE).
Avantages et Inconvénients :

Tableau 2 Avantages et inconvénients de Docker

Avantages Inconvénients

Docker prend en charge différents Le moteur Docker ne prend en charge


systèmes d’exploitation et plateformes que son propre format de conteneur.
de Cloud.

La plateforme Docker offre déjà des Le logiciel est disponible sous la forme
outils natifs d’orchestration et de gestion d’un fichier programme monolithique
de clusters. contenant toutes les caractéristiques.

Le Docker Hub fournit aux utilisateurs - Les conteneurs Docker n’isolent


un registre local central pour les que les processus individuels.
ressources de Dockers. - Les conteneurs système
complets ne sont pas pris en
charge.
L’écosystème sans cesse croissant
fournit aux utilisateurs divers outils de
docker, plugins et composants
d’infrastructure.

15 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

✓ LXC
L’alternative de Docker, LXC, est un ensemble d’outils, de templates, de bibliothèques
et de binding de langage, qui forment ensemble une interface d’espace utilisateur
(userspace) avec les fonctions de conteneur natives du noyau Linux. LXC offre aux
utilisateurs Linux un moyen pratique de créer et de gérer des applications et des
systèmes de conteneurs. Le but du projet LXC est de créer un environnement pour les
conteneurs logiciels qui diffère le moins possible d’une installation Linux standard. En
plus des projets open source LXD, LXCFS et CGManager, LXC est développé dans le
cadre du projet LinuxContainers.org.

Avantages et inconvénients

Ce tableau nous présente les avantages et inconvénients de LXC.

Tableau 3 Avantages et Inconvénients de LXC

Avantages Inconvénients

LXC est optimisé pour l’exploitation de Le fonctionnement des conteneurs


systèmes complets de conteneurs. d’application ne fait pas partie du
fonctionnement standard.

Il n’y a pas d’implémentation native pour


les systèmes d’exploitation autres que
Linux

✓ runC
Concernant runC, il s’agit moins d’une alternative à Docker qu’un spin-off de
l’environnement d’exploitation de conteneurs développé par Docker en un
projet open source indépendant sous le patronage de l‘Open Container
Initiative (OCI). En tant qu’organisation à but non lucratif de la Fondation
Linux, l’OCI 2015 a été lancée par Docker et d’autres sociétés de conteneurs
afin d’établir une norme industrielle libre pour les conteneurs de logiciels.
Actuellement, l’OCI fournit des spécifications pour un environnement

16 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

d’exécution de conteneur runtime-spec et un format d’image de conteneur


image-spec.

Avantages et inconvénients
Ce tableau présente les avantages et inconvénients de runC
Tableau 4 Avantages et inconvénients de runC

Avantages Inconvénients

runC est base sur le standard industriel Des outils externes sont nécessaires
de l’Open Container Initiative (OCI). pour créer des images de conteneurs.

• Comparaison des différentes alternatives de Docker :


Le tableau ci-dessous présente les comparatifs de Docker :

Tableau 5 comparaison des différentes alternatives de Docker

Types Docker LXC runC

Technologies de OS-Level, OS-Level OS-Level


virtualisation Hypervisor
Full System Container Non Oui Non

App Container Oui Non Oui

Licence Apache 2.0 GNU LGPL v.2.1+ Apache 2.0


Format de conteneur Appc, Docker- Linux Container OCI Bundle
Container (LXC)
Plateforme supportée Linux, Windows, Linux Linux
MacOS
Dernière version Février 2017 Janvier 2017 Mars 2017

Patch du noyau Linux Non Non Non


requis
Langage de Go C, Python 3, Go
programmation Shell, Lua

17 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.5.1.2 Virtualisation classique


Pour la virtualisation classique on dispose entre autres de :
➢ VMware ESX

VMware ESX est le système d’Hypervision de VMware. Contrairement à d’autres


produits d’Hypervision, il s’agit d’un système à part entière, qui s’affranchit donc de
tout autre système d’exploitation. Ce dernier, en tant qu’hyperviseur, assure bien
évidemment la liaison entre un ou plusieurs systèmes virtualisés, avec l’ensemble
du matériel.

Avantages et inconvénients

Tableau 6 Avantages et inconvénients de VMware ESX

Avantages Inconvénients

- Reduction des coûts de matériel, Implémentations et achats coûtent hyper


chers.
d’alimentation et de
refroidissement grâce à
l’exécution de plusieurs systèmes
d’exploitation
- Consolidation des ressources
matérielles.

18 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

➢ Hyper-V
Hyper-V est une plateforme de virtualisation basée sur l’hyperviseur et une
technologie pour l’une des fonctionnalités Windows Server texte défilant,
Migration dynamique. Avec Hyper-V, Windows Server est capable de la
Migration rapide, ce qui peut déplacer des machines virtuelles entre des
hôtes physiques avec seulement quelques secondes de temps d’arrêt.
Avantages et inconvénients
Ce tableau présente les avantages et inconvénients de Hyper-V

Tableau 7 Avantages et inconvénients de l’Hyper-V

Avantages Inconvénients

Consolidation des ressources - Configuration matérielle requise


matérielles prend en charge pleinement en raison des besoins de
parti des ressources matérielles consolidation des ordinateurs
déployé. virtuels
- Hyper-V a tendance à
consommer plus en mémoire et
nécessitent la bande passante
d’entrée et sortie de disque.

- La consolidation et la centralisation des Configuration logicielle requise tandis


que la plupart des logiciels de Microsoft
ressources simplifie l’administration
sont prise en charge en cours
-L’implémentation est prise en charge d’exécution sur des ordinateurs virtuels
beaucoup plus facilement. Hyper-V.

Réduction des coûts significatifs

Facilité de déploiement et de gestion

19 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.5.1.3 Comparaison entre virtualisation de conteneur et virtualisation classique


Ces deux solutions sont envisageables dans le cas de la création d’environnement
de tests. Cependant Docker présente un grand avantage contrairement aux
machines virtuelles classique notamment les performances.

Figure 6 Comparaison entre Docker et VM

20 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Présentons un tableau montrant les avantages et inconvénients de la VM et de


Docker :

Tableau 8 Comparatif entre Docker et VM

Types Avantages Inconvénients


Permet : - Difficulté de gérer un
Docker - D’accélérer et de faciliter le grand nombre de
déploiement ; conteneur
- De transporter une application simultanément
de façon fluide entre les - Les conteneurs
différents environnements et est n’isolent que les
plus facile à migrer ou à processus individuels
télécharger. Les conteneurs systèmes complets ne
sont pas pris en charge.
Permet : - L’exécution de
- De tester un système plusieurs machines
d’exploitation virtuelles entraines
Machine - De faire fonctionner plusieurs des performances
Virtuelle OS en parallèles instables du fait du
(VM) - De travailler en toute sécurité système hôte
- De réduire les coûts liés à - Les hyperviseurs ne
l’exploitation sont pas aussi
- De réduire les coûts des efficaces qu’un
matériaux système d’exploitation
installé sur une
machine physique

21 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.5.2 Le Gestionnaire de code


II.5.2.1 GitHub
GitHub est un service gratuit et disponible au public qui nécessite que tout le code
(sauf si vous avez un compte payant) soit ouvert. Tout le monde peut voir le code que
vous transmettez à GitHub et proposer des améliorations. GitHub héberge
actuellement le code source de dizaines de milliers de projets open source.

Figure 7 Logo de GitHub

II..5.2 Gitlab
GitLab est un service similaire à GitHub que les organisations ou entreprises
peuvent utiliser pour assurer la gestion interne des référentiels git. Il s’agit d’un
système de gestion de référentiels Git auto-hébergé qui garde le code de l’utilisateur
privé et peut facilement déployer les modifications du code.

Figure 8 Logo de Gitlab

22 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Tableau comparatif entre GitLab et GitHub

Tableau 9 Comparatif entre Gitlab et Github

Caractéristique GitLab GitHub

Libéré Septembre 2011 Avril 2008

Plans gratuits Nombre illimité de dépôts Gratuit pour les dépôts


publics et privés publics uniquement

Plans payés Commence à 4$ par Commence à 4$ par


Utilisateur et par mois Utilisateur et par mois

Fonction de révision de Oui Oui


code

Wiki Oui Oui

Suivi de bogues et des Oui Oui


problèmes

Agence Privée Oui Oui

Construire le Système Oui Oui (avec service tiers)

Importer des projets Oui Non

Oui Non
Projet d’exportation

Suivi du temps Oui Non

23 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.5.3 Logiciel de Conteneurisation (PaaS)


II.5.3.1 Openshift

OpenShift est un service de plate-forme en tant que service de la société Red Hat qui
permet de déployer des projets dans des containers. Pour ce faire, OpenShift utilise
les technologies Docker et Kubernetes.

Une version appelée "Red Hat OpenShift Container Platform" est proposée pour
l'hébergement en site propre ou en cloud computing.

OpenShift supporte également des applications web, si elles-mêmes sont supportées


par Red Hat Enterprise Linux.

Figure 9 Logo de Openshift

Avantages de Openshift
➢ Déploiements rapides des solutions en production
➢ Supporte une multitude de langage
➢ Administration et supervision simplifiée
➢ Déploiement aisé dans le cloud

24 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Inconvénients de Openshift
➢ Ne prend pas en charge le contrôle/Permission d’accès
➢ Ne prend en charge le développement mobile
➢ Tous les dépendances et applications à être installées sont à la charge de
l’utilisateur
➢ Il faut beaucoup dépenser pour son implémentation et la durée de mise en
place beaucoup plus importante.

II.5.3.1 Microsoft Azure


Microsoft Azure (Windows Azure jusqu’en 2014) est la plate-forme applicative en
nuage de Microsoft. Son nom évoque le « cloud computing », ou informatique en
nuage (l'externalisation des ressources informatiques d'une entreprise vers
des datacenters distants).

Figure 10 Logo de Microsoft Azure

Tableau comparatif entre Microsoft Azure et Openshift

Tableau 10 Tableau comparatif entre Microsoft Azure et Openshift

Openshift Microsoft Azure

- Web - Web
Plateforme prises en - Windows - Iphone
charge - Android
- Windows

Offres Possible - Abonnement - Abonnement


- Gratuit
- Open source

25 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.6 Choix de solution

Au vu de toutes les propositions et après avoir analysé les recherches que nous
avons eu à mener, nous avons opté pour Docker en ce qui concerne la technologie
de virtualisation, GitHub pour la gestion de code car il est plus utilisé par nos clients,
quand nos clients veulent avoir un œil sur leur base de code, ils créent eux-mêmes
leurs dépôts et nous donnent un accès. Nous avons aussi choisi comme outil de
conteneurisation Openshift, pour ce qui concerne le système d’exploitation nous
avons opté pour CentOS7. Ils sont ceux qui répondent le plus à nos besoins et plus
précisément aux attentes de l’Universal Trade Services.

De plus, le travail régulier d’UTS surtout au niveau de département de technologie,


induit un échange de code fréquent. Docker répond à ce besoin grâce à ses images,
idéales pour reproduire les mêmes environnements de tests qu’à UTS mais
également d’y inclure directement des applications prêtes à l’emploi.

26 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

PARTIE III: GENERALITES OU


RECHERCHES SUR LES SERVICES A
DEPLOYER

27 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.1 Docker
III.1.1 Présentation de Docker
La virtualisation s’est de plus en plus intégrée aux habitudes des professionnels
avec les avantages qu’apportent les capacités d’émulation de matériel. Ils ont
désormais une solution pour pallier aux manques de ressources physiques.
Cependant, cette technologie a aussi des faiblesses qui se situent justement dans
ses capacités d’émulations de matériels. Pour fonctionner, elle a besoin d’émuler
tout un lot de matériels qui ne sont pas forcements nécessaires dans le cadre du
cas d’utilisation. Il y a donc surcharge, une surcharge que veut lever Docker.

Figure 9 Logo de Docker

Docker est un logiciel libre qui permet de déployer des applications dans des
conteneurs logiciels. Il repose sur le kernel Linux et sur des conteneurs Linux LXC,
qui permet de faire fonctionner des environnements Linux isolés les uns des autres,
mais partageant le noyau et les ressources du système hôte. Ces conteneurs, isolés
les uns des autres et du reste de système, permettent donc d’embarquer et de
travailler sur des applications avec un environnement similaire.

28 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.1.2 Utilisation de Docker


Docker Inc. a été fondée par Solomon Hykes et Sebastien Pahl lors du groupe
d'incubation de la start-up Y Combinator Été 2010 et a été lancée en 2011. Hykes a
lancé le projet Docker en France en tant que projet interne au sein de dotCloud, une
société de plateforme en tant que service. Les contributeurs initiaux étaient d'autres
ingénieurs de dot Cloud, notamment Andrea Luzzardi et François-Xavier Bourlet. Jeff
Lindsay s'est également impliqué en tant que collaborateur indépendant.

Docker a fait ses débuts au public à Santa Clara à PyCon en 2013. Il a été publié
comme source ouverte en mars 2013. À cette époque, il utilisait LXC comme
environnement d'exécution par défaut. Un an plus tard, avec la publication de la
version 0.9, Docker a remplacé LXC par son propre composant, écrit dans le langage
de programmation Go. Docker est un ensemble de produits PaaS (Platform-as-a-
Service) qui utilisent la virtualisation au niveau du système d'exploitation pour fournir
des logiciels dans des packages appelés conteneurs. Il repose sur le kernel Linux et
sur des conteneurs Linux LXC, qui permettent de faire fonctionner des environnements
Linux isolés les uns des autres, mais partageant le noyau et les ressources du système
hôte. Ces conteneurs, isolés les uns des autres et du reste de système, permettent
donc d’embarquer et de travailler sur des applications avec un environnement similaire
quel que soit le système d’exploitation. Longtemps limité aux systèmes d’exploitation
Linux, Docker est maintenant utilisable également sur Windows et Mac.

III.1.3 Conteneur et image


Comme indiqué précédemment, les conteneurs Docker permettent d’embarquer
des applications dans des environnements personnalisés isolés du système. Ces
conteneurs sont construits à partir d’une image Docker. Par exemple, une image
Docker peut contenir un système d’exploitation Ubuntu avec les différentes librairies
nécessaires au bon fonctionnement de l’application. Les images Docker reposent
sur l’héritage. En effet, une image peut être construite à partir d’une autre image,
qui elle-même a été construite grâce à une troisième image.

29 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.1.4 Construction d’une image


Plusieurs méthodes permettent de créer une image : Il est possible de construire une
image en lançant un conteneur, effectuer une suite d’actions à l’intérieur, puis
sauvegarder les changements apportés. Une autre méthode plus simple existe
également : le Dockerfile. Contrairement à la première méthode, le Dockerfile permet
de créer une image à partir d’une image initiale, sans avoir à lancer un conteneur au
préalable. On y ajoute une série d’actions, qui permettront la construction de l’image.

Voici quelques exemples de commandes que l’on peut trouver dans un Dockerfile. Il
en existe évidemment bien d’autres.

- FROM : La commande FROM permet de définir l’image à partir de


laquelle on part. Dans l’exemple, on part d’une image contenant le
système d’exploitation Ubuntu.

- RUN : La commande RUN permet d’écrire des commandes qui le


seront exécutées lors de la construction de l’image. On peut par
exemple penser à l’installation de librairies nécessaires au bon
fonctionnement de l’application embarquée.

- ADD : permet d’ajouter des fichiers à l’intérieur de l’image.

- WORKDIR : permet de définir le répertoire courant de l’image, où


seront exécutées les commandes qui suivent.

- CMD : permet de définir la commande qui sera exécutée au


lancement du conteneur.

30 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.2 GITHUB
Github est un service web d'hébergement et de gestion de développement de logiciels,
utilisant le logiciel de gestion de versions Git. Ce site est développé en Ruby on
Rails et Erlang par Chris Wanstrath, PJ Hyett et Tom Preston-Werner. GitHub propose
des comptes professionnels payants, ainsi que des comptes gratuits pour les projets
de logiciels libres. Le site assure également un contrôle d'accès et des fonctionnalités
destinées à la collaboration comme le suivi des bugs, les demandes de fonctionnalités,
la gestion de tâches et un wiki pour chaque projet.

Une grande partie des dépôts hébergés sur GitHub sont publics, ce qui signifie que
n’importe qui peut télécharger le code de ces dépôts et contribuer à leur
développement en proposant de nouvelles fonctionnalités.

III.2.1 Caractéristiques de GitHub


GitHub possède plusieurs caractéristiques comme :

➢ GitHub a la possibilité d’hébergement gratuitement vos projets.


➢ Le site offre la possibilité de suivre des personnes ou des projets ainsi que
des graphes de réseaux pour les dépôts.
➢ GitHub offre aussi la possibilité de créer un wiki et une page web pour chaque
dépôt.
➢ GitHub propose aussi l'intégration d'un grand nombre de services externes,
tels que l'intégration continue, la gestion de versions, badges, chats basés sur
les projets, etc.

III.2.2 Fonctionnement de GITHUB


Il existe deux faces de GitHub : la première méthode consiste à la création de dépôt
sur GitHub afin que des gens collaborent dessus et la deuxième méthode consiste à
contribuer aux projets publics d’autres personnes.

31 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.2.2.1 Création d’un dépôt GitHub


Pour créer un nouveau dépôt sur GitHub, il suffit de cliquer sur l’icône “+” située en
haut à droite puis sur “new repository”. Une page s’ouvre vous permettant de créer un
nouveau dépôt.

Note : vous pouvez également importer un dépôt en cliquant sur “import repository”.

Figure 10 Création d'un dépôt GitHub

Sur la page de création de dépôt, vous devez renseigner un nom et une description
pour le dépôt. Vous avez également une option « Initialise with a README », qui est
un fichier qui sera ajouter à votre projet pour dire à d'autres personnes pourquoi votre
projet est utile, ce qu'elles peuvent faire avec votre projet et comment elles peuvent
l'utiliser.

32 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.2.2.2 Contribuer à un projet GitHub ou le copier


GitHub est une gigantesque plateforme collaborative qui héberge des dépôts Git. Pour
rechercher des dépôts auxquels contribuer ou pour rechercher des fonctionnalités
intéressantes qu’on aimerait récupérer, on peut aller dans l’onglet “explore” où
chercher un dépôt en particulier grâce à la barre de recherche en haut du site.

III.3 Openshift Container plateforme


Il s’agit d’une PaaS (Platform-as-a-Service) possédant une offre publique.

Avec Openshift, les développeurs possèdent un moyen simple pour construire,


déployer et exécuter des applications dans des conteneurs.

Les deux premières versions d’OpenShift utilisent un moteur et un orchestrateur


de conteneurs maison développés par RedHat.

Pour utiliser Openshift, il vous suffit d’une base de code hébergé dans un référentiel
GitHub ainsi que de la spécification de nos scripts de construction, de test et de
déploiement.

III.3.1 Caractéristiques
➢ Il Intègre un registre privé paramétrable pour séparer les images par projet

➢ Il propose une interface utilisable par un « non-administrateur »


➢ Il propose des routeurs vers les applications
➢ Il gère les droits, restriction, authentification, etc…
➢ Son déploiement aisé dans le Cloud
III.3.2 Version de Openshift
Il existe deux versions de OpenShift :

• OpenShift Origin est la version communautaire. Cette version propose les


dernières évolutions développées. Elle est toutefois moins stable étant donné
la jeunesse et la fréquence des avancées. Red Hat ne propose pas de support
sur cette version.
• OpenShift Container Platform est la version stabilisée et supportée. Elle est un
peu moins avancée en termes de fonctionnalités nouvelles mais bénéficie de
l’expérience des administrateurs, en plus du support de Red Hat, et est donc
complètement adaptée à des environnements en production.

33 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

III.4 Le système d’exploitation CentOS


Le système d’exploitation CentOS est une distribution Linux qui fournit une connexion,
la plateforme de calcul soutenue par la communauté fonctionnellement compatible
avec son amont source Red Hat Entreprise Linux. Il s’agit d’une distribution Open
source dont la première version est parue il y a seize (16) ans. La dernière version de
CentOS sortie il y a deux (02) mois est la 8.2.2004.

Figure 11 Logo de CentOS

34 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

PARTIE IV : MISE EN ŒUVRE

35 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

IV.1 LES DIFFERENTES INSTALLATIONS

L’installation des prés-requis est souvent délicate. Car les prés-requis dépendent
souvent aussi d’autres paquets à installer. C’est pour cette raison qu’avant
d’installer ces prés-requis nous allons faire une mise à jour du système pour
s’assurer que nous avons une bonne base pour démarrer. Pour cela nous ouvrons
un terminal et nous nous connectons en tant que root puis nous exécutons les
commandes suivantes :

• Conditions préalables pour l’installation de Openshift et Docker


Serveur Centos 7
Mémoire RAM minimale 4 Go - pour de meilleures performances, utilisez 8 Go
Privilèges root

[Antoine@antoine ~] $ sudo yum update

Figure 12 Résultat des mises à jour

IV.1.1 INSTALLATION DE DOCKER


La commande pour installer docker est :

36 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

sudo yum install -y docker-ce docker-ce-cli containerd.io

Pour vérifier si docker s’est bien installé on tape la commande :


[root@antoine antoine]# docker version

Figure 13 Résultat de la commande de test de Docker

IV.1.2 INSTALLATION D’OPENSHIFT

➢ Pour démarrer on télécharge le paquet de Openshift (3.1)

Wget
https://github.com/openshift/origin/releases/download/v3.1
1.0/openshift-origin-client-tools-v3.11.0-0cbc58b-linux-
64bit.tar.gz

37 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

➢ Après le téléchargement du paquet on décompresse les fichiers et on déplace


les fichiers oc et kubectl dans leurs répertoires.

cd openshift-origin-client*/

sudo mv oc kubectl /usr/local/bin/

➢ Vérification d’installation d’Openshift

Figure 14 Vérification d’installation d’Openshift

➢ Démarrage du cluster local d’OpenShift

Pour démarrer openshift on tape la commande :

$ oc cluster up

La commande ci-dessus va :
• Démarrer l'écoute du cluster OKD sur l'interface locale - 127.0.0.1:8443
• Démarrer une console Web à l'écoute de toutes les interfaces à
/console (127.0.0.1:8443).
• Lancer les composants système Kubernetes.
• Démarrer le cluster d’Openshift.

38 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 15 Résultat de la commande de démarrage d'openshift

➢ On ouvre alors notre navigateur et on saisit l’adresse qui nous a été donnée
sur la figure 18 (ici https://127.0.0.1:8443)

Figure 16 Interface d'authentification d'openshift

Par défaut les informations d’authentification sont ‘’developer’’ en tant que username
et mot de passe.

39 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

➢ Après avoir saisi nos informations d’authentification on accède à la page


d’accueil d’openshift.

Figure 17 Page d'accueil d'openshift

Sur la figure 20 on pourra créer un projet et choisir les services à déployer.

IV.2 LES DIFFERENTES CONFIGURATIONS


Une fois les installations faites, nous allons passer aux configurations proprement
dites des différents fichiers des outils installés pour la mise en œuvre de notre projet.

IV.2.1 Configuration de Docker


Avant d'installer Docker Engine-Community pour la première fois sur un nouvel
ordinateur hôte, nous devons configurer le référentiel Docker. Nous pouvons ensuite
installer et mettre à jour Docker à partir du référentiel.

Apres l’installation on configure le Docker Daemon avec ces paramètres :

40 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 18 Configuration des fichiers de Docker

IV.2.2 Configuration du firewall


Nous devons assurer que notre pare-feu autorise les conteneurs à accéder aux points
de terminaison API maître OpenShift (8443 / tcp) et DNS (53 / udp).

DOCKER_BRIDGE=`docker network inspect -f "{{range


.IPAM.Config }}{{ .Subnet }}{{end}}" bridge`

sudo firewall-cmd --permanent --new-zone dockerc

sudo firewall-cmd --permanent --zone dockerc --add-source


$DOCKER_BRIDGE

sudo firewall-cmd --permanent --zone dockerc --add-


port={80,443,8443}/tcp

sudo firewall-cmd --permanent --zone dockerc --add-


port={53,8053}/udp

sudo firewall-cmd --reload

41 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

IV.3 TEST
Afin de tester la mise en place du web service avec Docker nous avons mise en place
un scenario :

❖ Tout d’abord on héberge un code sur GitHub (ici nous avons développé un site
en PHP permettant la gestion d’une clinique)

Figure 19 Référentiel de notre projet

❖ Après on démarre Openshift et on créer un nouveau projet

42 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 20 Création de notre projet sur Openshift

❖ Etant donné que notre projet utilise une base de données MySQL nous avons
ajouté le service MySQL à notre projet

43 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 21 Configuration du service MySQL sur Openshift

❖ Nous avons aussi ajouté PhpMyAdmin comme service PHP pour gérer les
bases de données de MySQL

44 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 22 Création du service phpMyAdmin avec un référentiel GitHub

Figure 23 Application PhpMyAdmin

45 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

❖ On ajoute après le lien de notre référentiel GitHub dans le projet Openshift

Figure 24 Création de notre projet web

Figure 25 Présentation des Applications déployer dans le projet

❖ On va dans le service de MYSQL et on tape la commande ’ env |grep MYSQL’


pour vérifier les variables d’environnement
46 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 26 résultat de la commande pour voir les variables d'environnement de MYSQL

❖ On spécifie les variables d’environnements de la requête précédente dans le


déploiement de notre projet

Figure 27 configuration des variables d'environnements dans le projet déployé

47 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

❖ On retourne sur le référentiel GitHub de notre projet et on paramètre le fichier


de connexion du projet pour qu’il puisse prendre en paramètre les variables
ajoutées précédemment dans le déploiement.

Figure 28 paramétrage du fichier de connexion de notre projet

❖ On recompile notre projet pour prendre en compte les modifications

Figure 29 recompilation du projet

48 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Sur la figure 29 on voit que la compilation s’est bien passée.


❖ On lance alors notre projet grâce à la route qui a été automatiquement créée
lors de la compilation

Figure 30 Page d'accueil de notre projet

49 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

IV.4 EVALUATION FINANCIERE


L’évaluation financière du projet a été réalisée en fonction de trois éléments : les
ressources humaines, les re1

ssources matérielles et le coût lié à la maintenance. Du point de vue ressources


matérielles, pour l’implémentation de la solution l’UTS devra se procurer un ensemble
de matériels (voir annexe).

Désignation Quantité Prix Unitaire Prix total


Abonnement 12 mois 25.000 FCFA par mois 300.000 FCFA
à Openshift

Formation 20 heures 10.000 FCFA/ heure 200.000 FCFA

Maintenance 12 mois 80.000 FCFA/Semestre 160.000 FCA

Total 660.000 FCA

50 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

PARTIE V : GUIDE D’UTILISATION

51 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Le guide d’utilisation est un document nécessaire pour la prise en main d’une


application ou d’un service. Il permet de se familiariser aux fonctionnalités
principales et il est d’une grande utilité dans le cadre de la formation des futurs
utilisateurs.

Tout d’abord il faut :


1- Aller sur l’adresse GitHub.com et créer un compte
2- Se connecter et créer un référentiel et uploader son projet

Figure 31 Création du référentiel GitHub

3- Se connecter à son navigateur et aller à l’adresse spécifier par Openshiift


par défaut c’est https://127.0.0.1:8443/

52 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 32 Lien de Connexion à l'interface web de Openshift

4- Se connecter à l’aide de ses identifiants Openshift

Figure 33 Page d'authentification de Openshift

5- Créer son projet et commencer par y ajouter les applications dont on a


besoins

53 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 34 Création de Projet Openshift

54 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Figure 35 Catalogue des services d'Openshift

55 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

CONCLUSION

Lors de notre parcours au sein de l’entreprise Universal Trade Services (UTS), nous
avons été confrontés à des problèmes de communication entre le département de
développement et le département d’administrateur système. Ces problèmes étaient
liés au fait que les codes ne sont pas gérés en local, qu’il n’y avait aucune vérification
avant le déploiement, les testeurs ne sont pas des techniciens ce qui demande la
présence permanente des développeurs pendant les tests et un manque
d’infrastructure pour les tests des projets. Tous ces problèmes nous ont poussé à
réfléchir et nous ont conduit à travailler sur un thème qui est la MISE EN PLACE
D’UNE PLATEFORME CLOUD COMME SERVICE.

Ce thème nous a permis de mettre en place un environnement de test basé sur docker
où se fera le déploiement des applications et services, un gestionnaire de code GitHub
qui sera déployé en local où nos développeurs feront les mises à jour de leurs travaux,
applications ou services.

Ces trois (3) mois de stage académique à l’Universal Trade Services m’a permis
d’améliorer mes connaissances théoriques et pratiques acquises durant ces années
passées à l’IAI-TOGO et de me familiariser encore plus avec le monde professionnel.

56 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

BIBLIOGRAPHIE

Notes de cours :
➢ Administration Réseaux, M. ALI-MOUZOU semestre 5 (2019 - 2020), IAI-TOGO
➢ Administration Système, M. GBOKPA semestre 5 (2019 - 2020), IAI-TOGO

Sites web consultés :

https://www.redhat.com/fr/topics/cloud-computing/what-is-paas visité le 12/08/20 à


12h03
https://fr.wikipedia.org/wiki/Platform_as_a_service visité le 14/08/20 à 12h03
https://www.memoireonline.com/01/13/6713/m_Etude-et-mise-en-place-dune-
solution-cloud-computing--privee-dans-une-entreprise-moderne-cas9.html visité le
17/09/20 à 14h03
https://openclassrooms.com/fr/courses/4810836-decouvrez-le-cloud-avec-amazon-
web-services/4811374-choisir-le-bon-type-de-cloud visité le 18/08/20 à 12h03
https://www.youtube.com/watch?v=xawtaL_6XYE visité le 20/08/20 à 12h03
https://www.youtube.com/watch?v=aqXSbDZggK4&ab_channel=OpenShift visité le
24/078/20 à 12h03
https://www.oracle.com/ca-fr/cloud/what-is-paas/ visité le 26/08/20 à 12h03
https://www.youtube.com/watch?v=is-eg2X5ru4 visité le 29/08/20 à 12h03
https://www.youtube.com/watch?v=Kc5x6zIrU2o&ab_channel=RedAakash visité le
05/09/20 à 12h03
https://www.redhat.com/fr/topics/linux/what-is-selinux visité le 12/09/20 à 12h03
https://www.system-linux.eu/index.php?post/2016/03/09/Activer-D%C3%A9sactiver-
SELinux visité le 20/09/20 à 12h03
https://www.youtube.com/watch?v=1KU_IWpAiDE visité le 21/09/20 à 12h03
https://docs.docker.com/engine/install/centos/ visité le 22/09/20 à 12h03
https://dzone.com/articles/openshift-311-multi-nodes-installation-on-centos-7 visité le
26/09/20 à 12h03
https://blog.wescale.fr/2017/08/30/openshift-3-partie-1-le-b-a-ba/ visité le 12/09/20 à
12h03
https://www.pierre-giraud.com/ visité le 12/09/20 à 12h03
https://www.pierre-giraud.com/git-github-apprendre-cours/presentation-utilisation-
github/ visité le 12/09/20 à 12h03

57 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

https://www.youtube.com/watch?v=pFUQpDR7qtc&ab_channel=TomekServlets
visité le 12/09/20 à 12h03
https://computingforgeeks.com/setup-openshift-origin-local-cluster-on-centos/ visité le
12/09/20 à 12h03

Table des matières


REMERCIEMENT ..................................................................................................................................ii
AVANT-PROPOS...................................................................................................................................iii
RESUME ................................................................................................................................................. iv
ABSTRACT .............................................................................................................................................v
PARTICIPANTS AU PROJET ............................................................................................................... vi
LISTE DES TABLEAUX...................................................................................................................... vii
LISTE DES FIGURES ........................................................................................................................ viii
INTRODUCTION ................................................................................................................................. 1
I.1 Présentation de L’IAI ...................................................................................................................... 3
I.1.1 Historique ................................................................................................................................. 3
I.1.2 Objectifs de L’IAI-TOGO ......................................................................................................... 3
I.1.3 Formation à l’IAI-TOGO .......................................................................................................... 4
I.1.4 Structure Organisationnelle de L’IAI-TOGO ........................................................................ 4
I.1.5 Plan de localisation de l’IAI-TOGO ....................................................................................... 6
I.2 Présentation D’Universal Trade Services.................................................................................... 7
I.2.1 Statut.......................................................................................................................................... 7
I.2.2 Vision d’UTS ............................................................................................................................. 7
I.2.3 Activités ..................................................................................................................................... 7
I.2.4 Réalisations .............................................................................................................................. 8
I.2.5 Le service d’accueil ................................................................................................................. 9
I.2.6 Situation géographique et contact......................................................................................... 9
I.2.7 Organisation structurelle ....................................................................................................... 10
II.1 ETUDE DE L’EXISTANT ............................................................................................................ 12
II.1.1 Architecture Réseau ............................................................................................................. 12
II.2 CRITIQUE DE L’EXISTANT ....................................................................................................... 13
II.3 PROBLEMATIQUE ...................................................................................................................... 13
II.4 INTERET DU SUJET................................................................................................................... 14
II.4.1 Objectifs ................................................................................................................................. 14
II.4.2 Résultats attendus ................................................................................................................ 14

58 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

II.5 PROPOSITION DE SOLUTIONS .......................................................................................... 14


II.5.1 La virtualisation ..................................................................................................................... 14
II.5.1.1 Virtualisation par conteneur ......................................................................................... 15
II.5.1.2 Virtualisation classique ................................................................................................. 18
II.5.1.3 Comparaison entre virtualisation de conteneur et virtualisation classique ........... 20
II.5.2 Le Gestionnaire de code ..................................................................................................... 22
II.5.2.1 GitHub ............................................................................................................................. 22
II..5.2 Gitlab ................................................................................................................................. 22
II.5.3 Logiciel de Conteneurisation (PaaS) ................................................................................. 24
II.5.3.1 Openshift (OKD) ............................................................................................................ 24
II.5.3.1 Microsoft Azure .............................................................................................................. 25
II.6 Choix de solution.......................................................................................................................... 26
III.1 Docker .......................................................................................................................................... 28
III.1.1 Présentation de Docker ...................................................................................................... 28
III.1.2 Utilisation de Docker ........................................................................................................... 29
III.1.3 Conteneur et image ............................................................................................................. 29
III.1.4 Construction d’une image................................................................................................... 30
III.2 GITHUB ........................................................................................................................................ 31
III.2.1 Caractéristiques de GITHUB ............................................................................................. 31
III.2.2 Fonctionnement de GITHUB ............................................................................................. 31
III.2.2.1 Création d’un dépôt GitHub ........................................................................................ 32
III.2.2.2 Contribuer à un projet GitHub ou le copier ............................................................... 33
III.3 Openshift Container plateforme ............................................................................................ 33
III.3.1 Caractéristiques ............................................................................................................... 33
III.3.2 Version de Openshift....................................................................................................... 33
III.4 Le système d’exploitation CentOS ....................................................................................... 34
IV.1 LES DIFFERENTES INSTALLATIONS ................................................................................. 36
IV.1.1 INSTALLATION DE DOCKER .......................................................................................... 36
IV.1.2 INSTALLATION D’OPENSHIFT ....................................................................................... 37
IV.1.3 Installation de CentOS ................................................................. Erreur ! Signet non défini.
IV.2 LES DIFFERENTES CONFIGURATIONS ......................................................................... 40
IV.2.1 Configuration de Docker ................................................................................................ 40
IV.2.2 Configuration du firewall ................................................................................................. 41
IV.3 TEST ........................................................................................................................................ 42
CONCLUSION ..................................................................................................................................... 56
BIBLIOGRAPHIE ................................................................................................................................ 57

59 | P a g e
Rédigé par AVONYO SENYO ANTOINE
THEME : MISE EN PLACE D’UNE PLATEFORME CLOUD COMME SERVICE

Notes de cours : .............................................................................................................................. 57


Sites web consultés : ..................................................................................................................... 57

60 | P a g e
Rédigé par AVONYO SENYO ANTOINE

Vous aimerez peut-être aussi