Skip to content

Instantly share code, notes, and snippets.

View DamienDabernat's full-sized avatar
🎯
Focusing

Damien Dabernat DamienDabernat

🎯
Focusing
View GitHub Profile
@DamienDabernat
DamienDabernat / solid.md
Created February 26, 2025 12:19
Les Principes SOLID

Les Principes SOLID

En programmation informatique, SOLID est un acronyme représentant cinq principes de base pour la programmation orientée objet. Ces cinq principes sont censés apporter une ligne directrice permettant le développement de logiciels plus fiables, plus robustes, plus maintenables, plus extensibles et plus testables.


@DamienDabernat
DamienDabernat / Solid-l-.md
Last active February 26, 2025 12:31
Arrêtez de développer n'importe comment ! - Le principe de substitution de Liskov

Arrêtez de développer n'importe comment ! (L du SOLID)

En programmation informatique, SOLID est un acronyme représentant cinq principes fondamentaux pour la programmation orientée objet. Ces principes aident à rendre le code plus fiable, maintenable, extensible et testable.

Aujourd'hui, nous nous intéressons au « L » de SOLID :

Tous les exercices sont faisables entièrement en ligne depuis site de Kotlin

Liskov Substitution Principle (LSP)

TP8 - Correction

Mettre en place le registry

L'idée est de lancer le registry en dehors du Swarm, pour simplifier un peu l'exercice

Création de la stack

Génère un fichier de mot de passe pour le registre Docker avec l'utilisateur "admin" et le mot de passe "admin"

htpasswd -Bbn admin admin > auth/registry.password

TP8 : Mise en place d'un cluster Docker Swarm et Rolling Update

1. Introduction

Dans ce TP, vous allez :

  • Créer un cluster Swarm avec plusieurs nœuds.
  • Déployer un service simple « ping » avec Nginx.
  • Mettre à l’échelle ce service.
  • Effectuer une mise à jour progressive vers un service « pong ».

TP 7 : Mise en place d'un registre Docker privé avec interface web

1. Intro

Dans ce TP, vous allez apprendre à :

  • Déployer un registre Docker privé pour stocker vos images.
  • Configurer une interface web pour gérer ce registre.
  • Pousser une image Docker vers votre registre privé.

TP 6 Composer des stacks multi-services avec Docker Compose

1.1 Introduction à Docker Compose

  • docker compose (ou docker-compose) permet de décrire des services, réseaux et volumes dans un fichier YAML.
  • On lance le tout par docker compose up -d.
  • Une application peut comporter une base de données, un backend et un frontend.
  • But de Docker Compose : Lancer, connecter et gérer tous ces services en une seule commande, avec gestion automatique des volumes et réseaux.

TP5 Comprendre la gestion du réseau avec Docker

Nous avons vu comment créer et lancer un conteneur, et comment construire une image et persister des données avec des volumes. Maintenant, intéressons-nous à la gestion du réseau pour faire communiquer plusieurs conteneurs.


1.1 Rappels basiques de réseau

  • IP privée : IP locale d’une machine sur un réseau local.
  • Publique : IP accessible depuis Internet.

TP4 Manipuler des volumes avec Docker

Nous avons vu comment créer et lancer un conteneur, ainsi que construire une image avec un Dockerfile.
Maintenant, intéressons-nous à la persistance des données dans un conteneur via les volumes.


1.1 Fonctionnement du système de fichiers d’un conteneur Docker

Rappel : chaque conteneur est basé sur une image dont les couches (layers) sont en lecture seule, et Docker utilise un Union File System (OverlayFS par exemple) pour appliquer une couche en écriture au-dessus de l’image.

TP3 Exercice pratique : Nginx et page HTML

  1. Créer un Dockerfile dans un dossier vide, qui se nomme Dockerfile :
    FROM nginx:alpine
    COPY index.html /usr/share/nginx/html
  2. Créer un fichier index.html :

TP2 Approfondir ses connaissances sur la conteneurisation et Docker

Objectif du TP :

  • Approfondir ses connaissances sur la conteneurisation et Docker.
  • Comprendre les enjeux de la conteneurisation.

Rendu :