Les étapes de la construction de ce MOOC ======================================== .. Inclure le fichier mentionnant les remplacements .. include:: inclure_infos.txt * Formateur: |PhD| * Etablissement: |etablissement| 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 (voir détails techniques ci-dessous) ; * graphviz : création de graphiques Indications pour installer Sphinx --------------------------------- Il existe deux manières d'installer Sphinx. Soit l'installer dans un répertoire au sein de Python, soit de l'installer dans un environnement virtuel, avec la commande `virtualenv`. La seconde est de loin préférable car elle permet d'installer Sphinx et ses extensions de façon étanche. Voici la procédure (les chevrons de début de ligne indiquent que ce qui suit doit être tapé dans le Terminal, sans les chevrons eux-mêmes):: # Crée un répertoire dans lequel Sphinx va être installé >> mkdir sphinx # Va dans ce répertoire >> cd sphinx # Active l'environnement (à faire à chaque fois qu'on travaille sous Sphinx) >> source bin/activate # Installe Sphinx >> pip install sphinx # Installe le générateur de références bibliographiques (optionnel) >> pip install sphinxcontrib-bibtex (bibliographies) # Installe hieroglyph, le générateur de présentations (optionnel) >> easy_install hieroglyph # Installe le convertisseur de PDF (optionnel) >> pip install rst2pdf Edition ------- N'importe quel éditeur de textes convient pour travailler sur des fichiers ReST (puisque sauvegardables en .txt). Toutefois, `Haroopad _` Travail collaboratif -------------------- Il est possible, via le système Open Source :file:NoTex (https://github.com/hsk81/notex) de créer un serveur d'édition collaborative de documents. NoTex utilise Sphinx dans sa sortie HTML, mais peut tout aussi bien faire des exports des documents sous LaTeX, PDF, ou simplement texte. Ensuite Détails techniques pour intégrer Hieroglyph ------------------------------------------- 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