Skip to content

Configuration

Pourbaix edited this page May 20, 2022 · 11 revisions

Conventions et bonnes pratiques pour le repository

Convention pour l'organisation des fichiers dans le repository:

Pour garantir une certaine facilité de navigation dans les fichiers de notre GitHub, nous avons créé une structure de dossiers assez intuitive. En effet, dans notre répository, on peut trouver un dossier pour chaque service. Cela rend la navigation plus simple quand on cherche un certain fichier de configuration, il suffit alors d'aller dans le dossier concernant le service du fichier recherché et dans la plupart des cas, il est trouvé très rapidement.

Cependant, pour certains services (les plus imposants généralement), nous avons dû ajouter des sous-dossiers pour faciliter la recherche des fichiers. Prenons pour exemple le dossier SERVICE INTERNE. Ce service contient énormément de sous-services comme du partage de fichiers, de la résolution de nom, un SOA et une DB. Si nous avions mis tous les fichiers de ces sous-services dans un seul et même dossier se serait la pagaille. C'est pour cela que nous avons créé des sous-dossiers dans le cas des plus gros services comme le service interne.

Dernièrement, cette organisation permet aussi de faciliter la localisation des Dockerfile. En effet, ceux-ci sont stockés à la racine du dossier concernant leur service.

Convention pour les fichiers de configuration des services:

Lors de la configuration des services, on essaye de respecter des conventions quand on crée ou édite des fichiers:

  1. Commenter les fichiers de configuration pour augmenter leurs compréhension.
  2. Donner des noms logiques et compréhensifs aux fichiers (quand il n'y a pas de nomenclature pour ces derniers => noms des fichiers de zones DNS ou sites web).
  3. Aérer et bien indenter le code.

Workflow de développement

Explication + schéma de toutes les étapes depuis l'édition d'un fichier de configuration en local jusqu'au déploiement dans un container sur un VPS.

Lors de la configuration d'un service, beaucoup d'étapes sont à prendre en compte. Voici comment nous passons d'un fichier de configuration à un service déployé sur le VPS:

SchémaCycleDev drawio

Différentes étapes:

  1. Modification ou création d'un fichier de configuration pour n'importe quel service. Le membre du groupe sauvegarde juste son travail dans le dossier correspondant au service.

  2. Création de l'image sur base du Dockerfile. Le membre du groupe crée l'image grace à la commande docker build à partir dur Dockerfile. Si il a créé un nouveau fichier il faut qu'il ajoute des directives dans le Dockerfile pour que la nouvelle image créée utilise son nouveau fichier de configuration.

  3. Conteneurisation de l'image créée grâce à la commande docker run ou via l'interface graphique de Docker Desktop. Après avoir créé le conteneur on peut tester si la configuration fonctionne correctement. Si c'est le cas, on peut passer à l'étape suivante sinon on peut revenir au point 1 et recommencer.

  4. Mise en ligne de l'image sur DockerHub avec la commande docker push. Une fois l'image mise en ligne, elle est accessible partout sur internet.

  5. On télécharge l'image, précédemment pushée, depuis DockerHub.

  6. Finallement, on peut éxecuter l'image dans un conteneur avec la même commande qu'au point 3: docker run.

Nous utilisons donc les Dockerfiles pour faciliter la configuration des services grâce à l'automatisation de la création des images. Cela permet de repartir d'une image "saine" assez simplement.

Etat d'avancement et de fonctionnement du prototype par services

Voici pour chaque service, le niveau d'avancement:

Service DNS :

  • Analyse: Terminée ✔️
  • Configuration: Terminée ✔️
  • Documentation: Terminée ✔️
  • Sécurisation: En cours Problème avec le DNSSec ❌

Service WEB:

  • Analyse: Terminée ✔️
  • Configuration: PAS PRISE EN COMPTE
  • Documentation: Terminée ✔️
  • Sécurisation: En cours

Service Mail :

SERVICE PAS PRIS EN COMPTE

Service interne :

  • Analyse: PAS PRISE EN COMPTE
  • Configuration: En cours Finalisation avec l'installation des postes clients ❌
  • Documentation: En cours
  • Sécurisation: PAS PRISE EN COMPTE

Service VoIP :

  • Analyse: ✔️
  • Configuration: En cours
  • Documentation: PAS PRISE EN COMPTE
  • Sécurisation: Pas encore commencée

Prototype :

  • Analyse: ✔️
  • Configuration: En cours
  • Documentation: En cours
  • Sécurisation: En cours

Clone this wiki locally