Aller au contenu principal

21 documents tagués avec "Outil"

Pages présentant un outil spécifique.

Voir tous les tags

Branches & fusion

Une branche Git n'est rien d'autre qu'un pointeur mobile vers un commit — c'est ce qui rend le branching quasi instantané et peu coûteux (contrairement à d'autres VCS où créer une branche pouvait dupliquer tout le projet). Travailler avec des branches permet d'isoler des fonctionnalités en cours sans jamais perturber la branche principale.

Cycle de vie d'une image et d'un conteneur

Comprendre la différence entre une image (figée, en lecture seule) et un conteneur (une instance en cours d'exécution) est la clé pour ne pas se perdre dans les commandes Docker.

Dépôt & historique

Un dépôt Git enregistre l'état d'un projet à travers une série de commits — des instantanés (snapshots) reliés entre eux, formant un historique complet et immuable. Comprendre les trois zones de travail (working directory, staging area, repository) est la clé pour comprendre toutes les commandes qui suivent.

Dépôts distants & collaboration

Un dépôt distant (remote) est simplement une copie du dépôt hébergée ailleurs — sur GitHub, GitLab, ou un serveur privé. Comme Git est distribué, un dépôt distant n'a rien de spécial techniquement : c'est un dépôt Git comme un autre, désigné par convention comme la référence commune sur laquelle l'équipe se synchronise.

Docker Compose

Dès qu'une application dépend de plusieurs conteneurs (un serveur web, une base de données, un cache...), lancer chacun à la main avec docker run devient vite ingérable. Compose décrit toute une application multi-conteneurs dans un seul fichier YAML, démarrable/arrêtable en une commande.

Dockerfile — référence complète

Un Dockerfile est une recette texte, exécutée instruction par instruction, où chaque instruction qui touche au système de fichiers crée une nouvelle couche. Comprendre ça explique la plupart des bonnes pratiques d'écriture.

GitLab : merge requests, CI/CD & registre

GitLab est une plateforme construite autour de Git : elle héberge les dépôts, mais ajoute toute une couche collaborative — revue de code via les merge requests, automatisation via CI/CD, et un registre d'images intégré. Contrairement à Git (protocole/outil), GitLab est un produit, disponible en SaaS (gitlab.com) ou auto-hébergé.

Images & système de fichiers en couches

Une image Docker n'est pas un gros fichier monolithique : c'est un empilement de couches (layers), chacune représentant un diff du système de fichiers. C'est ce qui rend le partage d'images efficace — plusieurs images peuvent partager des couches identiques.

Installation & configuration de Git

Git est un gestionnaire de version distribué, créé par Linus Torvalds en 2005 pour les besoins du noyau Linux (après la fin de l'accord de licence avec BitKeeper). Contrairement à un système centralisé (SVN, CVS), chaque clone d'un dépôt Git contient l'historique complet — il n'y a pas de serveur unique indispensable pour travailler.

Installation de Docker sur Linux

Deux approches existent : le paquet docker.io fourni par la distribution (souvent en retard sur la dernière version) ou le dépôt officiel Docker, recommandé pour avoir des versions à jour et cohérentes. Ce cours couvre l'installation via le dépôt officiel sur une distribution basée Debian/Ubuntu.

Introduction & architecture de Docker

Docker (2013) n'a pas inventé les conteneurs — les namespaces et cgroups existaient déjà, et LXC les combinait depuis 2008. Sa contribution a été de rendre les conteneurs faciles à utiliser : un format d'image portable, une commande unique pour construire/lancer/partager, et un écosystème complet autour (Docker Hub, Compose...).

LXD & Incus — la couche de gestion moderne

Comme vu dans le cours Introduction & concepts, Incus (fork communautaire de LXD) est aujourd'hui l'interface recommandée pour gérer des conteneurs LXC au quotidien : un démon avec API REST, une CLI unifiée, des images prêtes à l'emploi, et la gestion intégrée du stockage/réseau. Les commandes ci-dessous utilisent incus, quasi identiques avec lxc sous LXD (il suffit généralement de substituer le nom de la commande).

Mémo GitLab — infographie (Git & GitLab en 16 catégories)

Aide-mémoire imprimable (recto-verso) : 16 catégories, de la configuration initiale de Git jusqu'au Container Registry de GitLab — commandes git au quotidien au recto, plateforme GitLab (merge requests, glab, CI/CD, releases, registry) au verso.

Podman — l'alternative sans daemon

Développé par Red Hat, Podman répond à deux critiques historiques de l'architecture Docker une expérience CLI quasi identique à docker, sans ces deux contraintes.

R5.04 — Autoformation Git : des premiers pas au travail à plusieurs

Support d'autoformation (BUT Réseaux & Télécommunications, IUT d'Aix-Marseille, module R5.04) : installer et configurer Git, dépôt/commit/aire d'indexation, branches et fusion, puis travail avec un dépôt distant — avec points de contrôle et quiz auto-corrigés à chaque étape.

Référence complète des commandes Docker

Aide-mémoire exhaustif des commandes docker sur Linux, organisé par thème. Pour les concepts derrière chaque commande, voir les cours dédiés (Images, Volumes, Networks...).

Référence complète des commandes lxc-*

Aide-mémoire des outils bas niveau liblxc (préfixés lxc-). Pour l'usage quotidien, la couche LXD/Incus est recommandée, mais connaître ces commandes reste utile pour comprendre ce qui se passe en dessous — et Incus/LXD s'appuient dessus.

Registres d'images (Registries)

Un registre est un serveur qui stocke et distribue des images, conformément à la spécification OCI distribution-spec (voir OCI). Docker Hub est le registre public par défaut, mais l'écosystème en compte beaucoup d'autres.

Réseaux Docker

Chaque conteneur reçoit par défaut sa propre pile réseau isolée (un network namespace). Docker gère la connectivité entre conteneurs et vers l'extérieur via des drivers réseau configurables.

Volumes & persistance des données

Comme vu dans le cours Cycle de vie, la couche inscriptible d'un conteneur disparaît avec lui. Pour toute donnée qui doit survivre à la suppression d'un conteneur (base de données, fichiers uploadés...), il faut un mécanisme de stockage externe à cette couche.