Etude de cas pour la conteurisation
Etude de cas pour la conteurisation
Etude de cas pour la conteurisation
1. CAHIER DE CHARGES
1.1. Contexte
Le Groupe DELASALLE est un ensemble de deux entreprises et d’une association
exerçant dans le domaine de l’informatique. Notre stage a été effectué dans l’entreprise
DELASALLE. Dans cette dernière, nous avons réalisé une étude sur le fonctionnement
interne de l’entreprise ainsi que sur son système informatique. Nous avons à cet effet soulevé
un certain nombre de points faibles.
Il s’agit notamment de l’absence d’une plateforme favorisant la communication interne de
l’entreprise, l’utilisation des applications grand public pour effectuer des réunions en audio
et vidéoconférence, la rédaction et l’envoi des rapports journaliers et Dashboards de façon
fastidieuse, l’absence d’une source centralisée pour le stockage des données. De plus, nous
avons constaté l’absence d’une source d’alimentation redondance qui entrainait
l’indisponibilité du système informatique en cas de coupure d’énergie électrique. Enfin, le
fait qu’en en cas de déplacement l’employer ne puisse pas avoir accès aux services et
informations de l’entreprise constitue un réel frein au télétravail. Il nous a donc été confié la
tâche de mettre sur pied une plateforme hautement disponible avec un minimum de
ressources informatiques qui sera en mesure de pallier à ces différentes préoccupations.
3.1.2. Problématique
Au regard des multiples limites que peut présenter la communication au sein d’une
entreprise, le stockage des données, l’accès distant aux services et données de l’entreprise et
la gestion des rapports journaliers, nous nous posons des questions suivantes :
1.3. Objectifs
L’objectif principal de notre travail est de mettre en place une plateforme hautement
disponible et sécurisée en vue de faciliter la communication interne, le travail collaboratif et
le télétravail entre les employés de DESALLE. De cet objectif principal, découle plusieurs
objectifs secondaires. On peut citer :
Les atteintes de ces objectifs sont gouvernées par un certain nombre de contraintes.
1.4. Contraintes
Pour la réalisation de ce travail, la contrainte majeure a été au niveau des ressources
informatiques très limitées de l’entreprise. En effet, la structure ne disposait que d’un PC qui
fera office de serveur pour la mise en place de notre architecture. De plus le respect des dates
d’échéance pour chaque lot de travail car nous ne disposions pas d’assez de temps compte
tenue de la période de stage relativement courte.
Comme tout projet, la mise en place de notre plateforme nécessite un ensemble de ressources
humaines, matérielles et logicielles à savoir :
1.5. Outils
Les ressources logicielles dont nous avons besoin et leur rôle sont présentées dans le
tableau suivant :
Un serveur C’est lui qui offrira les services d’intranet aux utilisateurs.
Un routeur Il permet la communication entre le réseau local et Internet.
Un switch Il permet d’interconnecter les ordinateurs, serveurs ou tout autre
équipement physique appartenant à un même réseau physique.
Des câbles réseau Il assure la connexion entre les équipements réseau de l’entreprise.
Un onduleur Il permet, en cas de coupure d'électricité, de prendre le relais avec
ses batteries et alimenter vos appareils en électricité.
De plus tous les nœuds ou machines virtuelles du cluster ont les caractéristiques suivantes :
Tableau 3. 5: Caractéristiques des nœuds du cluster
Caractéristiques Valeurs
CPU 3
Les conteneurs qui exécutent sur ces différents nœuds contiennent les images docker
de notre solution. Il est donc important de présenter ces images que nous avons choisies en
spécifiant leurs rôles et fichier de configuration.
Les images dockers ainsi présentées, nous allons passer à la conception proprement
dites de notre solution qui consiste à exécuter les conteneurs grâce aux images docker situées
ci-dessus via la rédaction d’un fichier YAML.
Ce script décrit les commandes à exécuter pour mettre en marche les différents
services nécessaires au fonctionnement de notre plateforme. Le premier est le service « proxy
». Il utilise l'image de jwilder/nginx-proxy. L’option « Labels » est utilisé pour spécifier que
le conteneur Let's Encrypt sera utilisé afin de générer les certificats pour le conteneur proxy.
La section « Volumes » est utilisée par le conteneur pour configurer l'hôte virtuel Nginx et
accéder aux certificats générés par le conteneur compagnon Let's Encrypt. Ensuite, on a le
service let’sEnscrypt qui assure la génération automatique des certificats SSL. Il utilise
exactement les mêmes volumes le conteneur proxy afin qu’il génère les certificats dans /etc
/nginx/certs. Ces certificats seront utilisés par le service proxy afin de sécuriser les échanges
d’informations entre le serveur Web et le client http.
Le service db est le suivant. Il utilise l’image Mariadb. Mariadb est le moteur de bases de
données qui va nous permettre de sauvegarder les métadonnées et données des utilisateurs.
Elle dispose de plusieurs variables d’environnement : le nom de la base de données, le nom
d’utilisateur et le mot de passe que le service Nextcloud utilisera pour utiliser les informations
de la base de données. Enfin, nous avons défini le service Nextcloud. Pour qu’il fonctionne
correctement, nous l’avons lié à la base de données MariaDB et définit le volume Nextcloud.
Ce volume permet d’éviter une perte de données occasionnée par le redémarrage du
conteneur. Nous avons mappé le port 80 du serveur sur le port 80 du conteneur, mettant ainsi
sur pied une permettant aux hôtes de se connecter au service via le port 80.