9. De Jupyter Book infrastructuur#

i&i heeft een infrastructuur opgezet voor auteurs en docenten, voor het maken en aanpassen van lesmateriaal.

Het doel is om het docenten en auteurs zo gemakkelijk mogelijk te maken: installeren van software op de eigen computer is niet nodig.

Deze online omgeving bestaat uit de volgende onderdelen:

  • een Jupyter Hub server, als omgeving voor Jupyter Notebook cq. Jupyter Lab.

  • de Jupyter Book software op deze Jupyter Hub.

  • een webserver voor het publiceren van het materiaal, voor testdoeleinden.

  • GitHub, voor het opslaan van de broncode, en eventueel ook voor het publiceren van het materiaal.

Auteurs en docenten moeten enige kennis hebben van deze bouwstenen: Jupyter Notebook/Jupyter Lab, Jupyter Book (Markdown, MyST voor opmaak), en GitHub (en git-versiebeheer). Een GitHub account is noodzakelijk. (Cursus? Handleidingen?)

9.1. Jupyter Notebook en Jupyter Lab#

Via de Jupyter Lab UI (ingesteld als default) kun je notebooks en andere Jupyter Book-bestanden beheren, aanmaken en aanpassen. Hiermee kun je ook de opdrachten geven voor het aanmaken van een HTML-versie voor publicatie, en voor het synchroniseren van de bestanden met GitHub.

Met de Notebook UI (als keuze beschikbaar) kun je een enkel notebook bewerken.

9.2. Jupyter Hub, Jupyter Book#

Jupyter Hub is een multi-user server voor Jupyter Notebook en Jupyter Lab.

Op deze server is de Jupyter Book software geïnstalleerd, voor het genereren van de publiceerdbare HTML-code uit de beschrijving.

9.3. Webserver: publiceren van het materiaal#

Voor het publiceren van de resultaten: Jupyter Books in HTML-vorm, beschikt deze Jupyter Hub-server ook over een webserver voor statische websites.

Omdat het statische websites betreft kun je deze ook via GitHub Pages publiceren.

9.4. GitHub#

Het materiaal wordt opgeslagen op GitHub, in de keuzethemas organisatie. Dit zorgt ervoor dat:

  • het materiaal publiek beschikbaar is;

  • er versiebeheer op het materiaal plaatsvindt;

  • andere gebruikers eenvoudig een eigen, afgeleide versie (“fork”) kunnen maken, waarbij:

    • aanpassingen naderhand in het oorspronkelijke materiaal ook in het afgeleide materiaal verwerkt kunnen worden;

    • aanpassingen in de afgeleide versie ook in het oorspronkelijke materiaal verwerkt kunnen worden.

Zoals gezegd bewerk je de bestanden op de Jupyter Hub, via de Jupyter Lab UI, en synchroniseer je deze met keuzethemas op GitHub.