Support de formation OpenShift on-premise, en français, pour administrateurs Kubernetes qui passent à OpenShift et ingénieurs plateforme. Format hybride : HTML interactif (source unique) sans dépendance, ouvrable en double-clic ; export PowerPoint. Disponible en français et anglais (sélecteur de langue FR | EN).
Hors périmètre : OpenShift managé (ROSA/ARO/OSD) en détail, développement applicatif.
OpenShift on-premise training course for Kubernetes administrators and platform engineers. 16 modules covering K8s vs OCP, architecture, installation, configuration, networking, storage, security, CI/CD, backup, and operations. Bilingual course (French / English) with a language selector (FR | EN toggle, keyboard shortcut l, URL parameter ?lang=en).
Format: Interactive HTML (standalone, no dependencies, opens with double-click) + PowerPoint export (one .pptx per language: -fr.pptx and -en.pptx). See CONVENTIONS.md section « Langues » for the i18n contract and how to contribute.
- Vitrine en ligne : https://ccoupel.github.io/openshift-course/
- Télécharger : page Releases → version 1.0.0 (stable)
openshift-course-X.Y.Z.zip: cours HTML complet (bilingue fr/en)openshift-course-X.Y.Z-fr.pptx: PowerPoint françaisopenshift-course-X.Y.Z-en.pptx: PowerPoint anglais
- Ouvrir le cours : extraire le ZIP, double-clic sur
index.html(navigateur, hors ligne, sans installation)- Sélecteur de langue : FR | EN dans la barre du haut (raccourci clavier :
l) ; langue mémorisée (localStorage) - Lien partiel :
…/openshift-course/?lang=en#m07/5(langue + slide + fragments révélés)
- Sélecteur de langue : FR | EN dans la barre du haut (raccourci clavier :
- Vérifier l'intégrité :
sha256sum -csur les fichiers.sha256fournis avec la release (SHA256 du ZIP et des deux PPTX)
| # | Titre | # | Titre |
|---|---|---|---|
| 00 | Environnement de lab | 08 | Stockage |
| 01 | K8s vs OCP | 09 | Sécurité avancée |
| 02 | Architecture | 10 | CI/CD & GitOps |
| 03 | Installation | 11 | Backup & reprise d'activité |
| 04 | Configuration | 12 | Opérations jour 2 |
| 05 | Supervision & monitoring | 13 | Virtualisation & Serverless |
| 06 | HBAC / RBAC | 14 | Best practices |
| 07 | Réseau | 15 | Aide-mémoire & quiz final |
1 105 minutes ≈ 18 h 25 sur 3 jours pour les modules 01 à 15 (exposés 13 h 50 + labs 4 h 35). Le module 00 (environnement de lab, ≈ 30 min plus l'installation du cluster, 2 à 3 h) se prépare avant le jour 1 et n'est pas compté.
- OpenShift 4.20 EUS (Kubernetes 1.33)
- Note : 4.22 mentionnée où pertinent
- E0 : poste de travail seul, OpenShift Local (ex-CRC) ou tout cluster avec
cluster-admin; suffit pour les labs E0 (modules 01, 03, 06, 10 selon le plan), mais pas pour tout : un seul nœud, pas de Machine API, pas de mise à jour - E1 : Single Node OpenShift (SNO) sur KVM, vSphere ou bare metal ; recommandé pour suivre presque tout le cours (essai de 60 jours possible, conditions à vérifier)
- E2 : Compact 3 nœuds (ou 3 masters + 2 workers)
- E3 : Bare metal ou virtualisation imbriquée
Voir module 00 pour les prérequis détaillés.
.
├── index.html # Entrée HTML (charge le moteur + modules)
├── CLAUDE.md # Cadrage du projet et consignes pour l'assistant Claude Code
├── CONVENTIONS.md # Schéma des modules et des blocs
├── VERSION # Version courante (X.Y.Z)
├── CHANGELOG.md # Historique
├── LICENSE # Licence MIT
├── package.json # Dépendances de dev (pptxgenjs, jszip)
├── package-lock.json # Verrouillage des dépendances
├── assets/ # Moteur et style
│ ├── engine.js # Navigation, rendu, bilingue (vanilla JS)
│ ├── i18n.js # Localisation : libellés du moteur et de l'export (fr/en)
│ ├── plan.js # Manifeste des 16 modules (titres fr/en)
│ └── style.css # Thème
├── modules/ # Modules du cours
│ ├── fr/ # Français (mNN-*.js)
│ └── en/ # English (mNN-*.js)
├── tools/ # Outils de dev
│ ├── validate.js # Validateur (schéma, HTML, parité fr/en, --strict-i18n, --root)
│ ├── i18n-hash.js # Synchronisation empreinte source (modules en)
│ ├── export-pptx.js # Export PowerPoint par langue (--lang fr|en)
│ └── check-pptx.js # Contrôle de l'export (des deux langues)
├── docs/
│ ├── PLAN.md # Plan détaillé (périmètre, durées, environnements)
│ ├── i18n/
│ │ └── GLOSSARY.md # Glossaire et guide de style (traduction fr→en)
│ └── mockup/ # Maquette et décisions de conception
├── tests/ # Index et métriques des tests
├── .github/workflows/ # CI/CD (ci.yml, release.yml, pages.yml)
└── .claude/ # Configuration Claude Code (agents, mémoire)
node tools/validate.js # Tous les modules (fr + en)
node tools/validate.js --strict-i18n # Contrôle strict : parité fr/en, empreintes (pour PR et release)
node tools/validate.js --root <dir> # Valider un sous-arbre
node tools/i18n-hash.js --check # Vérifier l'empreinte de source des modules en
node tools/i18n-hash.js --write mNN # Recalculer l'empreinte d'un module après mise à jour
node tests/i18n/run.js # 87 cas de test de parité fr/enSignale en erreur : schéma invalide, objectives (3 minimum) ou takeaways (4 minimum) manquants, balise HTML interdite, parité fr/en cassée (sous --strict-i18n) ; en avertissement : absence de quiz ou de lab (exigés pour tous les modules sauf le 15), nombre de slides hors cible, module en absent (sans --strict-i18n), empreinte périmée (sans --strict-i18n).
npm ci # Installer dépendances de dev (pptxgenjs, jszip)
node tools/export-pptx.js # Générer les deux : dist/openshift-course-X.Y.Z-fr.pptx et -en.pptx
node tools/export-pptx.js --lang fr # Français seul
node tools/export-pptx.js --lang en # Anglais seul
node tools/check-pptx.js # Contrôler les deux PPTX
node tools/check-pptx.js --lang en # Vérifier l'anglais seulLes fichiers .pptx utilisent les libellés de assets/i18n.js (couverture, pied de page, réponses de quiz, « À retenir » / « Key takeaways »).
Prérequis : Node.js LTS (la CI utilise lts/* ; aucune version minimale n'est déclarée). Le cours HTML lui-même n'a besoin d'aucun outil.
- Voir
CONVENTIONS.md: schéma des modules, 14 types de blocs, exigences de contenu, section « Langues » pour la traduction bilingue (contrat de parité fr/en, règles de synchronisation) - Voir
docs/PLAN.md: périmètre des 16 modules, frontières, renvois - Voir
docs/i18n/GLOSSARY.md: glossaire et guide de style pour la traduction (termes anglais, ton, formes grammaticales) - Points techniques incertains : marqués « à vérifier » / « to be verified » (convention du projet, comptés et synchronisés par
validate.js)
- Branches :
main+feature/*/bugfix/* - Commits : Conventional Commits (feat, fix, docs, refactor, test, chore)
- Issues bienvenues : suggestions, corrections, améliorations
À chaque push sur feature/**, bugfix/** et pull request sur main : syntaxe JavaScript (engine.js, plan.js), schéma modules, contrôle de l'export PowerPoint (check-pptx.js, avec auto-test).
Un tag vX.Y.Z déclenche :
- Vérification : tag SemVer strict (
X.Y.Z) et égal au fichierVERSION; syntaxe JS ; schéma des modules ; parité fr/en (validate.js --strict-i18n) - Export PowerPoint :
dist/openshift-course-X.Y.Z-fr.pptxet-en.pptx(deux fichiers, un par langue) - Archive ZIP : HTML + modules bilingues (
modules/fr/+modules/en/) + assets - Checksums SHA256 : zip + deux PPTX
- Création de la Release GitHub (marquée
prereleasesi version 0.x) avec les trois fichiers + checksums - Déploiement du site (appelé après succès de la Release)
Mise à jour après la création d'une Release sur un tag vX.Y.Z, ou par lancement manuel du workflow Pages (workflow_dispatch).
Le site reflète la dernière release : un push sur main ne le met pas à jour. Reprise manuelle : gh workflow run pages.yml --ref vX.Y.Z.
Format X.Y.Z (Semantic Versioning).
- Structure et cohérence : vérifiées par des tests automatisés (schéma, syntaxe, renvois, parité fr/en).
- Relecture technique : 8 faits OCP 4.20 relus et corrigés ; 66 marqueurs « à vérifier » / « to be verified » restent (relecture sur sources officielles Red Hat faite par agent automatisé, à compléter par une relecture humaine exhaustive). Avant toute procédure sensible (restauration etcd, mises à jour, configurations critiques), relire la documentation officielle Red Hat.
- Rendu : validation fonctionnelle seule ; pas de vérification visuelle en navigateur réel ou PowerPoint.
- Versioning : format
X.Y.Z(Semantic Versioning). Version 1.0.0 est stable (pré-versions 0.x antérieures marquéesprerelease).
Les noms OpenShift® et Red Hat® sont des marques de Red Hat, Inc. ; ce projet n'est pas affilié à Red Hat.
Ce dépôt (cours, documentation, code des outils et du moteur) est distribué sous licence MIT. Voir le fichier LICENSE.
- Vitrine : https://ccoupel.github.io/openshift-course/
- Dépôt GitHub : https://github.com/CCoupel/openshift-course
- Releases : https://github.com/CCoupel/openshift-course/releases