GitHub Codespaces — Migration from GitPod#
The cours-devops-docker repository has migrated its recommended cloud development environment from GitPod to GitHub Codespaces. The migration was tracked in GitHub issue #256 and landed in PR #258 (merged 2025-10-15) .
Reason: GitPod's free tier became impractical (10 h/month, requiring LinkedIn account linkage), whereas GitHub Codespaces offers 60 h/month free on standard accounts and 120 h/month with the GitHub Student Developer Pack .
What Changed#
| Before | After |
|---|---|
content/chapitres/dev-env.adoc contained ~115 lines of GitPod setup | GitPod section removed; replaced with an include:: directive |
| No Codespaces content | New ~1 100-line file at content/chapitres/sous-chapitres/dev-env/github-codespaces.adoc |
The current dev-env.adoc is now 15 lines, delegating to three sub-chapters via include::. The new Codespaces guide covers 14 pedagogical slides: prerequisites, step-by-step setup, VSCode interface tour, Docker verification, .devcontainer configuration, quota management, and limitations .
Residual GitPod References#
Despite the migration being marked complete, GitPod text remains in several content files:
content/chapitres/docker-base.adocline 9 — exercise prompt still reads "Allez dans Gitpod"content/chapitres/sous-chapitres/docker-base/interactif.adocline 70 — exercise asks "Quelle distribution Linux est utilisée dans le terminal Gitpod ?" and uses/workspacepaths that are GitPod-specific (lines 70–80)content/chapitres/git-base.adocline 72 — Git exercise 1.1 opens with "Dans le terminal de votre environnement GitPod"
These references point students to GitPod rather than Codespaces and should be updated to match the new environment.
Duplicated / Overlapping AsciiDoc Attribute#
content/attributes.adoc line 35 declares:
:gitpod_github_repo_url: https://github.com/gounthar/cours-devops-docker
This attribute overlaps in purpose with the generic {repositoryUrl} variable (or similar built-in references used elsewhere in the course). The :gitpod_github_repo_url: name is now semantically misleading because:
- The attribute value is just the repository URL — nothing GitPod-specific.
- Its name implies a GitPod context that no longer applies.
If this attribute is still referenced in any slide content, it should be either renamed (e.g., :course_repo_url:) or replaced with an existing canonical variable to avoid confusion.
Slide Rendering Fixes Applied During Migration#
Three AsciiDoc/Reveal.js issues were corrected in PR #258 :
| Problem | Root Cause | Fix (commit) |
|---|---|---|
| Slides navigated horizontally instead of vertically | leveloffset=0 kept Codespaces slides at level-2 | Changed to leveloffset=+1 (aa5aeeb) |
| Docker section and Codespaces intro appeared on the same slide | Missing level-2 heading before the include:: | Added == Environnement Cloud : GitHub Codespaces ☁️ (fb418bb) |
| Introduction slide overloaded with headings | Redundant heading inside github-codespaces.adoc | Removed first heading (a8c43f9) |
Pending Items#
- Placeholder image:
content/media/codespaces-interface-placeholder.pngis referenced but not created; AsciiDoc will render alt text if absent . - Screen captures: See
content/chapitres/sous-chapitres/dev-env/IMAGES-NEEDED.mdfor specifications. - Remaining GitPod text: Three files listed above still reference GitPod (see docker-base.adoc:9, interactif.adoc:70, git-base.adoc:72).
Key Files & References#
| Resource | Link |
|---|---|
| Migration plan | CODESPACES-MIGRATION-PLAN.md |
| Codespaces slide content | github-codespaces.adoc |
| Environment chapter entrypoint | dev-env.adoc |
| Global AsciiDoc attributes | content/attributes.adoc |
| Migration PR | #258 |
| GitHub Codespaces docs | https://docs.github.com/en/codespaces |