The published course material of the Media Engineering Architecture & Deployment course, at backup.archidep.ch.
This repository is two things at once:
- The backup site. The course is taught from archidep.ch, an application that can be down. What is here is a complete, static copy of the material that needs nothing but a web server — no login, no dashboard, no database. Students can read it whenever the main site is unreachable.
- The archive. The course is taught once a year, and the repository the material is written in holds one edition at a time. A finished edition is copied here when it ends, and this is where it stays.
<year>/— one directory per edition, e.g.2025/for the 2025–2026 academic year. This is the material itself: the chapters, their slides and the cheatsheets.index.html,404.html,favicon.ico,favicons/— the home page of the edition currently being taught, and the few files a site answers for at its root.CNAME,.nojekyll— how GitHub Pages serves the rest. Deleting either takes the site down.
The generated PDFs of an edition are not in this tree. They are release
assets, one release per edition, tagged pdf/<year>. They are megabytes that
never repeat from one year to the next, and keeping them out is what keeps this
repository cheap to clone.
The whole tree is generated by the course repository and pushed here by its continuous integration. Editing a page here would be overwritten without warning, and would make the copy disagree with the site it is a copy of. Fix the source instead.
Each edition records where it came from: <year>/version.json names the commit
it was rendered from, and that commit is tagged archive/<year> in the course
repository — or archive/<year>.2, archive/<year>.3 and so on, if a mistake
was found after the edition was published and it had to be frozen again. Those
tags are only ever added, never moved.
An edition is rendered once, when its year ends, and the bytes are the artifact from then on.
This is deliberate. A published page is a product of the material and of everything that turned it into a page: the renderer, the theme, the stylesheets, the syntax highlighting, the toolchain. Only the material is in a git tag. Rebuilding a past edition years later would run it through whatever those have since become, silently rewriting a year that was supposed to be finished — and nobody would notice, because nobody re-reads a finished year closely enough.
So a past edition keeps serving its own pages at its own URLs, exactly as its students read them. Every one of those pages carries a link to the current version of itself, for a reader who arrived at an old one and wants the material as it is taught now.
This repository is meant to outlive the application. If archidep.ch
is retired, what is here goes on being the whole site, and if the domain above
ever lapses, GitHub serves it at
archidep.github.io once the CNAME file is
removed.