Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ La formation s'adresse à deux types de public avec des environnements différen

**Public A - VM distante SSH** : une VM Linux est mise à disposition du stagiaire. Un client SSH est configuré avec accès par paire de clés. L'installation est immédiate, la connexion se fait depuis le premier jour.

**Public B - VirtualBox sur poste Windows (CID)** : les postes sont figés sur C: (les applications installées sont supprimées à chaque redémarrage : "le freeze") ; seul D:\ est conservé. Le stagiaire travaille dans D:\PrenomNOM\, avec deux sous-dossiers : `sources\` (installeur VirtualBox, Extension Pack, image DVD de Debian 13, script `installer_virtualbox.bat` ; Visual C++ Redistributable inutile au CID car déjà présent dans l'image des postes, le script le détecte) et `VirtualBox\` (la VM). VirtualBox est réinstallé à chaque séance par le script `ressources/scripts/installer_virtualbox.bat` (double-clic), qui réenregistre la VM puis lance VirtualBox (mode Basic, liste des machines). La VM FormationLinux (4 cœurs, 8 Go de RAM, disque de 30 Gio) exécute Debian 13 avec le bureau GNOME, en réseau par pont (accessible en SSH depuis Windows).
**Public B - VirtualBox sur poste Windows (CID)** : les postes sont figés sur C: (les applications installées sont supprimées à chaque redémarrage : "le freeze") ; seul D:\ est conservé. Le stagiaire travaille dans D:\PrenomNOM\, avec deux sous-dossiers : `sources\` (installeur VirtualBox, Extension Pack, image DVD de Debian 13, script `installer_virtualbox.bat` ; Visual C++ Redistributable inutile au CID car déjà présent dans l'image des postes, le script le détecte) et `VirtualBox\` (la VM). Avec le module additionnel Git sous Windows s'y ajoutent `PortableGit\` (Git portable) et `formation_linux\` (clone du dépôt), et le lanceur `sources\lancer_installation.bat` remplace le double-clic sur le script : il met le clone à jour puis lance la version du script du dépôt en lui passant `sources\` en paramètre. VirtualBox est réinstallé à chaque séance par le script `ressources/scripts/installer_virtualbox.bat` (double-clic), qui réenregistre la VM puis lance VirtualBox (mode Basic, liste des machines). La VM FormationLinux (4 cœurs, 8 Go de RAM, disque de 30 Gio) exécute Debian 13 avec le bureau GNOME, en réseau par pont (accessible en SSH depuis Windows).

##Plan de formation

Expand Down Expand Up @@ -90,6 +90,15 @@ Les modules additionnels sont des modules complémentaires qui peuvent être sui
*Prérequis : Modules 1-4 (navigation et manipulation de fichiers)*
*Durée : 6-8 heures*

**Module additionnel Git sous Windows** (public B, postes du CID)
- Chapitre Git sous Windows 1 : Les concepts de Git
- Chapitre Git sous Windows 2 : Installer Git sur le lecteur D (version portable, Git Bash, Git GUI, gitk)
- Chapitre Git sous Windows 3 : Cloner le dépôt de la formation dans D:\PrenomNOM\formation_linux
- Chapitre Git sous Windows 4 : Un lanceur toujours à jour dans sources

*Prérequis : annexe d'installation VirtualBox ; module autonome (les concepts de Git y sont réexpliqués, exception assumée au principe de non-répétition)*
*Durée : 2 heures*

**Module additionnel Docker : Conteneurisation**
- Chapitre Docker 1 : Introduction et concepts de base
- Chapitre Docker 2 : Images et conteneurs personnalisés
Expand Down Expand Up @@ -145,6 +154,11 @@ formation_linux/
02_commandes_base.md
03_branches_fusion.md
04_travail_collaboratif.md
module_git_windows/ (Git portable au CID, clone, lanceur)
01_concepts_git.md
02_installer_git_portable.md
03_cloner_depot.md
04_lanceur_sources.md
module_docker/
01_introduction_docker.md
02_images_conteneurs.md
Expand Down Expand Up @@ -174,6 +188,7 @@ formation_linux/
installation/ (captures VirtualBox et installeur Debian des annexes)
scripts/
installer_virtualbox.bat (réinstallation de VirtualBox au CID, fins de ligne CRLF)
lancer_installation.bat (lanceur pour sources\ : git pull puis script du dépôt, CRLF)
outils/
captures/ (scripts de production des captures, hors CI)
pdf/ (chaîne de génération PDF)
Expand All @@ -189,7 +204,7 @@ formation_linux/
plans/ (plans d'implémentation)
```

**Remarque** : `archives/cours_2025/` contient l'ancien matériau du cours de base issu de la version précédente. Ne plus le modifier et ne plus le générer en PDF. Tout nouveau contenu de cours va dans `cours_2026/`. `supports/` et `travaux_pratiques/` ne contiennent plus que les modules additionnels Git et Docker, toujours actifs.
**Remarque** : `archives/cours_2025/` contient l'ancien matériau du cours de base issu de la version précédente. Ne plus le modifier et ne plus le générer en PDF. Tout nouveau contenu de cours va dans `cours_2026/`. `supports/` et `travaux_pratiques/` ne contiennent plus que les modules additionnels (Git, Git sous Windows, Docker), toujours actifs.

## Template de chapitre

Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@ Introduction à Git : concepts de base, workflow local, branches et fusion, trav
Contenu : `supports/modules_additionnels/module_git/`
TP : `travaux_pratiques/tp_additionnels/tp_git/`

### Module Git sous Windows (2h)

Pour les stagiaires du CID : concepts de Git, installation de Git portable sur `D:` (Git Bash, Git GUI, gitk), clonage du dépôt de la formation, lanceur qui tient à jour le script d'installation de VirtualBox.

Contenu : `supports/modules_additionnels/module_git_windows/`

### Module Docker -- Conteneurisation (12-15h)

Introduction à Docker : images et conteneurs, volumes et réseaux, Docker Compose.
Expand Down Expand Up @@ -123,6 +129,7 @@ formation_linux/
+-- supports/
| +-- modules_additionnels/ # Modules additionnels (contenu)
| +-- module_git/
| +-- module_git_windows/
| +-- module_docker/
|
+-- travaux_pratiques/
Expand Down
20 changes: 17 additions & 3 deletions cours_2026/annexes/installation_virtualbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,11 @@ Si le résumé signale une erreur, lire le message affiché au-dessus :
il indique la cause et la marche à suivre. En cas de doute, appliquer la
procédure manuelle ci-dessous.

Le script de `sources\` est une copie : il ne profite pas des
améliorations publiées ensuite. Le module additionnel « Git sous
Windows » installe un lanceur qui met à jour une copie du dépôt de la
formation, puis lance la dernière version du script.

### Procédure manuelle de secours

Si le script ne fonctionne pas, faire ses étapes à la main, dans cet
Expand Down Expand Up @@ -811,6 +816,12 @@ rem VC_redist.x64.exe (facultatif, voir ci-dessous)
rem 2. Double-cliquer sur le fichier. Si Windows demande une
rem autorisation, repondre Oui.
rem
rem Parametre facultatif : le dossier des installeurs. Sans parametre,
rem c'est le dossier du script. Le lanceur lancer_installation.bat
rem (module Git sous Windows) s'en sert pour executer la version du
rem script tenue a jour dans le depot clone, avec les installeurs de
rem sources\.
rem
rem Le script :
rem - installe Visual C++ 2015-2022 x64 s'il manque sur le poste (au
rem CID, il fait deja partie de l'image : VC_redist.x64.exe n'est
Expand Down Expand Up @@ -850,10 +861,13 @@ set "NOM_VM=FormationLinux"
set "VBOXMANAGE=%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe"
set "VIRTUALBOX_EXE=%ProgramFiles%\Oracle\VirtualBox\VirtualBox.exe"
rem Dossier du script (D:\PrenomNOM\sources\, avec la barre finale)
rem et dossier parent (D:\PrenomNOM).
rem Dossier des installeurs (D:\PrenomNOM\sources\, avec la barre
rem finale) et dossier parent (D:\PrenomNOM). Par defaut le dossier du
rem script ; sinon le dossier passe en parametre (barre finale ajoutee).
set "SOURCES=%~dp0"
for %%I in ("%~dp0..") do set "BASE=%%~fI"
if not "%~1"=="" set "SOURCES=%~f1"
if not "%SOURCES:~-1%"=="\" set "SOURCES=%SOURCES%\"
for %%I in ("%SOURCES%..") do set "BASE=%%~fI"
set "DOSSIER_VMS=%BASE%\VirtualBox"
set "FICHIER_VM=%DOSSIER_VMS%\%NOM_VM%\%NOM_VM%.vbox"
set "JOURNAL=%SOURCES%installation_virtualbox.log"
Expand Down
8 changes: 8 additions & 0 deletions pdf/documents.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@ documents:
- travaux_pratiques/tp_additionnels/tp_git/tp02_branches_fusion.md
- travaux_pratiques/tp_additionnels/tp_git/tp03_collaboration.md
- travaux_pratiques/tp_additionnels/tp_git/exercices_supplementaires.md
- fichier: module_additionnel_git_windows.pdf
titre: "Git sous Windows"
sous_titre: Module additionnel
sources:
- supports/modules_additionnels/module_git_windows/01_concepts_git.md
- supports/modules_additionnels/module_git_windows/02_installer_git_portable.md
- supports/modules_additionnels/module_git_windows/03_cloner_depot.md
- supports/modules_additionnels/module_git_windows/04_lanceur_sources.md
- fichier: module_additionnel_docker.pdf
titre: "Docker : conteneurisation"
sous_titre: Module additionnel
Expand Down
3 changes: 2 additions & 1 deletion pdf/tests/test_documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ def test_selectionne_les_documents_demandes():
"module_07_reseaux.pdf",
"module_08_automatisation.pdf",
"module_additionnel_git.pdf",
"module_additionnel_git_windows.pdf",
"module_additionnel_docker.pdf",
"annexe_installation_ssh.pdf",
"annexe_installation_virtualbox.pdf",
Expand All @@ -91,7 +92,7 @@ def catalogue_du_depot():
return generer.charger_documents(generer.DOSSIER_PDF / "documents.yaml", generer.RACINE)


def test_le_catalogue_du_depot_declare_les_12_pdf():
def test_le_catalogue_du_depot_declare_les_13_pdf():
assert [document.fichier for document in catalogue_du_depot().documents] == ATTENDUS


Expand Down
15 changes: 12 additions & 3 deletions ressources/scripts/installer_virtualbox.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ rem VC_redist.x64.exe (facultatif, voir ci-dessous)
rem 2. Double-cliquer sur le fichier. Si Windows demande une
rem autorisation, repondre Oui.
rem
rem Parametre facultatif : le dossier des installeurs. Sans parametre,
rem c'est le dossier du script. Le lanceur lancer_installation.bat
rem (module Git sous Windows) s'en sert pour executer la version du
rem script tenue a jour dans le depot clone, avec les installeurs de
rem sources\.
rem
rem Le script :
rem - installe Visual C++ 2015-2022 x64 s'il manque sur le poste (au
rem CID, il fait deja partie de l'image : VC_redist.x64.exe n'est
Expand Down Expand Up @@ -52,10 +58,13 @@ set "NOM_VM=FormationLinux"
set "VBOXMANAGE=%ProgramFiles%\Oracle\VirtualBox\VBoxManage.exe"
set "VIRTUALBOX_EXE=%ProgramFiles%\Oracle\VirtualBox\VirtualBox.exe"

rem Dossier du script (D:\PrenomNOM\sources\, avec la barre finale)
rem et dossier parent (D:\PrenomNOM).
rem Dossier des installeurs (D:\PrenomNOM\sources\, avec la barre
rem finale) et dossier parent (D:\PrenomNOM). Par defaut le dossier du
rem script ; sinon le dossier passe en parametre (barre finale ajoutee).
set "SOURCES=%~dp0"
for %%I in ("%~dp0..") do set "BASE=%%~fI"
if not "%~1"=="" set "SOURCES=%~f1"
if not "%SOURCES:~-1%"=="\" set "SOURCES=%SOURCES%\"
for %%I in ("%SOURCES%..") do set "BASE=%%~fI"
set "DOSSIER_VMS=%BASE%\VirtualBox"
set "FICHIER_VM=%DOSSIER_VMS%\%NOM_VM%\%NOM_VM%.vbox"
set "JOURNAL=%SOURCES%installation_virtualbox.log"
Expand Down
86 changes: 86 additions & 0 deletions ressources/scripts/lancer_installation.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
@echo off
rem ======================================================================
rem lancer_installation.bat -- Formation Linux (CID)
rem
rem Lanceur a placer dans D:\PrenomNOM\sources\, a cote des installeurs.
rem Il met a jour le depot de la formation clone dans
rem D:\PrenomNOM\formation_linux (git pull), puis lance la version a jour
rem du script installer_virtualbox.bat du depot, en lui indiquant le
rem dossier sources\ ou se trouvent les installeurs.
rem
rem Prerequis (module additionnel "Git sous Windows") :
rem - Git portable dans D:\PrenomNOM\PortableGit ;
rem - le depot clone dans D:\PrenomNOM\formation_linux.
rem
rem Sans reseau ou sans Git, la mise a jour est sautee et la version du
rem script deja presente dans le depot est utilisee.
rem
rem Messages sans accents, chemins entre guillemets, aucune variable lue
rem dans le bloc qui la modifie : memes precautions que dans
rem installer_virtualbox.bat.
rem ======================================================================

setlocal EnableExtensions
title Mise a jour et installation - Formation Linux

rem Dossier du lanceur (D:\PrenomNOM\sources\) et dossier parent.
set "SOURCES=%~dp0"
for %%I in ("%~dp0..") do set "BASE=%%~fI"
set "GIT=%BASE%\PortableGit\cmd\git.exe"
set "DEPOT=%BASE%\formation_linux"
set "SCRIPT=%DEPOT%\ressources\scripts\installer_virtualbox.bat"

echo ======================================================================
echo Mise a jour du depot de la formation
echo ======================================================================
echo.
echo Depot : %DEPOT%
if not exist "%DEPOT%\.git\" goto sans_depot
if not exist "%GIT%" goto sans_git

rem --ff-only : la mise a jour ne fait qu'avancer la copie locale. Si des
rem fichiers du depot ont ete modifies a la main, elle refuse sans rien
rem casser, et la version presente est utilisee.
"%GIT%" -C "%DEPOT%" pull --ff-only
if errorlevel 1 goto echec_mise_a_jour
echo OK : depot a jour.
goto lancer

:sans_git
echo [ATTENTION] Git introuvable : %GIT%
echo Mise a jour sautee, la version presente du script est utilisee.
goto lancer

:echec_mise_a_jour
echo [ATTENTION] Mise a jour impossible (pas de reseau, ou fichiers du
echo depot modifies a la main). La version presente du script est utilisee.
goto lancer

:lancer
echo.
if not exist "%SCRIPT%" goto sans_script
rem Le dossier sources\ est passe sans sa barre finale.
call "%SCRIPT%" "%SOURCES:~0,-1%"
endlocal
exit /b

rem ======================================================================
rem Erreurs bloquantes
rem ======================================================================

:sans_depot
echo [ERREUR] Depot introuvable : %DEPOT%
echo Le cloner d'abord (module Git sous Windows), ou lancer directement
echo installer_virtualbox.bat s'il est present dans ce dossier.
goto fin_erreur

:sans_script
echo [ERREUR] Script introuvable dans le depot :
echo %SCRIPT%
goto fin_erreur

:fin_erreur
echo.
pause
endlocal
exit /b 1
Loading