Les étapes de la construction de ce MOOC

  • Formateur: Philippe Dessus
  • Etablissement: Espé-UJF, Univ. Grenoble Alpes

Choix de l’environnement Sphinx

Détaillons ici rapidement pourquoi Sphinx est un environnement adéquat pour la création rapide de contenus de cours.

  • Open Source et gratuit (de nombreux contributeurs et forums d’aide)
  • fondé sur des fichiers textes (ReStructuredText) et le langage Python
  • permet de convertir le contenu en de nombreux formats (PDF, LaTeX, HTML, aide, diapositives S5, epub, etc.)
  • de nombreuses extensions disponibles (gestionnaire de bibliographies, éditeurs de schémas, de formules mathématiques, etc.)
  • permet d’adapter facilement certaines variables (nom du formateur, établissement)
  • permet d’adapter certains contenus du cours (directive :only:)
  • permet de changer très rapidement la présentation du cours (en agissant sur les CSS)

Installation des logiciels

Les logiciels ci-dessous sont indispensables à la création des différentes fonctionnalités du site.

  • Sphinx : le cœur du système
  • sphinxcontrib-bibtex : créations de références bibliographiques
  • hieroglyph : création de diaporamas

Concernant hieroglyph. Son installation ne suffit pas.

Il est nécessaire d’ajouter les lignes suivantes à la fin du fichier ‘make.bat’, de manière à ce que la commande “make slides” fonctionne et produise les diapositives:

if "%1" == "slides" (
        %SPHINXBUILD% -b slides %ALLSPHINXOPTS% %BUILDDIR%/slides
        if errorlevel 1 exit /b 1
        echo.
        echo.Build finished. The HTML slides pages are in %BUILDDIR%/slides.
        goto end
)

et les lignes ci-dessous à la fin du fichier ‘makefile’

slides:
        $(SPHINXBUILD) -b slides $(ALLSPHINXOPTS) $(BUILDDIR)/slides
        @echo "Build finished. The HTML slides are in $(BUILDDIR)/slides."

Enfin, le fichier conf.py doit contenir les informations suivantes:

# -- Hieroglyph Slide Configuration ------------
extensions += ['hieroglyph',
        ]
slide_theme = 'single-level'
slide_levels = 3
slide_numbers = True
# Place custom static assets in the _static directory and uncomment
# the following lines to include them
# slide_theme_options = {
#     'custom_css': 'custom.css',
#     'custom_js': 'custom.js',
# }
# ----------------------------------------------

Références

La doc. complète de Sphinx : Une page rassemblant les principales fonctionnalités de Sphinx : http://docutils.sourceforge.net/docs/user/rst/cheatsheet.txt