Supports de formation Cadoles
Go to file
Laurent Gourvenec c21ef4dee6 Initialisation de la formation 2022-05-16 10:14:07 +02:00
algo algo et data science 2018-08-24 14:09:25 +02:00
applications_web/moodle/programme Ajout de la durée 2015-03-26 15:19:38 +01:00
beamer-skel/img Ajout des nouvelles images 2017-01-23 14:33:30 +01:00
cesi Mise à jour notes formation NoSQL 2019-10-03 10:50:06 +02:00
content Espacement de l'adresse en pied de page 2022-05-10 11:06:19 +02:00
developpement React Native: ajout slides 2020-02-17 13:54:24 +01:00
diiage DIIAGE: session 23/03/2018 2018-03-23 11:51:43 +01:00
figures add images 2022-05-10 16:27:32 +02:00
inc Espacement de l'adresse en pied de page 2022-05-10 11:06:19 +02:00
infographie/blender Resctructuration pour faciliter la gestion des programmes. 2013-08-01 17:47:32 +02:00
javascript Exo ngResource 2015-04-10 01:46:41 +02:00
messagerie_électronique/programme Merge branch 'master' of https://forge.cadoles.com/Cadoles/formations 2017-09-29 16:02:54 +02:00
méthodes_Agiles/programme Correction du public pour les méthodes AGile 2017-09-29 16:05:30 +02:00
old_modules_EOLE_envole update 2022-05-06 12:06:16 +02:00
presentations Initialisation de la formation 2022-05-16 10:14:07 +02:00
programme-skel Ajout d'un modèle des fichiers pour les plans de formation. 2013-08-02 09:03:52 +02:00
python/python2 some cleaning 2018-09-13 10:09:32 +02:00
qualification Logomotion: Qualification 2018-03-20 14:03:21 +01:00
slides TC1: ajout d'une slide de présentation de l'exo de modification de config 2022-05-16 09:11:44 +02:00
styles Retour du style dans le dépôt 2017-09-29 13:16:31 +02:00
templates Ajouter un modèle pour des diapositives de corrigés 2022-03-11 12:38:34 +01:00
utils/hooks Add client-side hook 2020-09-08 09:21:18 +02:00
.gitignore Ne pas suivre les fichiers de pygmentize 2021-08-02 16:29:59 +02:00
Makefile ajouter l'option shell-escape à xelatex pour les exercices TC2 2018-12-20 15:24:13 +01:00
README.md Ajout de l’option -l dans la documentation (limitation du nombre de niveaux de titre dans le plan généré) 2021-07-19 12:44:25 +02:00
formation-ccpmb.tex modification plan et affichage formation 2015-08-04 11:15:47 +02:00
formation_interneTC1.tex orthographe et réorganisation formation TC1 2014-03-16 14:37:46 +01:00
formation_martinique.tex include des nouveaux slides 2013-10-04 15:21:07 +02:00
formation_versailles.tex reorganisation formation 2014-10-17 20:37:40 +02:00
programme.sh Mise à jour du tire de la formation 2017-09-29 12:58:36 +02:00
programme.tex Programme de formation pour l’ain 2019-05-10 10:49:45 +02:00
setup_main_tex_file.py Utilisation de python3 pour setup_main_tex_file.py 2022-05-10 10:31:25 +02:00
skell.tex formation nantes 2013-05-03 19:58:11 +02:00
tiramisu.tex ajout de la formation tiramisu 2013-08-02 12:15:44 +02:00

README.md

Formations

Dépendances

Paquets (sur Ubuntu 14.04)

  • texlive-xetex
  • latex-beamer
  • texlive-lang-french
  • texlive-latex-extra

** Police**

Générer le PDF de la présentation

make <formation>/<point_entrée_latex>.pdf

Générer les plans des formations

Lancer le script programme.sh à la racine du dépôt L'ensemble des plans est regroupé et compressé sous le nom plans_de_formation.tar.gz

Ajouter un plan de formation

  • créer un répertoire programme (l'endroit importe peu mais devrait être sous le répertoire de la formation)
  • créer les fichiers au format latex (listes, texte, tableau, etc. Les titres sont dans le fichier programme.tex)
    • contenu.tex
    • duree.tex
    • evaluation.tex
    • moyens.tex
    • objectifs.tex
    • prerequis.tex
    • public.tex
  • compléter ces fichiers

Penser à générer de nouveau les plans

Révision du processus de production des supports de formation

Organisation du dépôt

Le dépôt encourage autant que possible la réutilisation et la mutualisation du contenu. Les éléments de contenu à inclure sont dans les dossiers content et slides pour les documents de type article et beamer respectivement.

Les figures sont placées à part dans le répertoire figures.

Ces éléments de contenu sont inclus dans des fichiers principaux placés dans le répertoire presentations.

Le répertoire templates contient des modèles de document au format jinja utilisés par le script setup_main_tex_file.py.

setup_main_tex_file.py

Le script setup_main_tex_file.py permet dorganiser la procédure en proposant :

  • la création des fichiers maîtres pour une formation ;
  • la création des fichiers de contenu à inclure si nécessaire ;
  • la mise à jour du plan de formation en fonction des éléments inclus ;
  • la compilation des trois documents (diaporama, support de cours et programme) si lapplication rubber est installée.

Pour chacune de ses sous-étapes, le script propose une sous-commande.

Démarrer une formation (sous-commande init)

./setup_main_tex_file.py init -f beamer -a Cadoles -t "Formation personnalisée Scribe" -c "Conseil départemental" -d modules_EOLE_envole/Conseil_Départemental -i Cadoles -l cc-by-sa -n CD_Formation_Scribe

Les options obligatoires sont :

  • le format (beamer ou article) : -f
  • le titre qui apparaîtra sur la page de garde ou la première diapositive : -t
  • lemplacement, soit le sous-répertoire du répertoire presentations : -d
  • le nom du fichier (sans lextension) qui sera créé à lemplacement indiqué.

Les autres options prendront des valeurs par défaut si elles ne sont pas fournies :

  • lauteur est Cadoles par défaut
  • linstitut, qui détermine les logos à intégrer, est Cadoles par défaut
  • la licence est la Creative Commons CC-BY-SA v2 par défaut
  • le client est XXX par défaut

À noter, pour la licence, que seule la CC-BY-SA v2 est disponible dans les contenus à inclure pour linstant.

Lexécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/diaporama.tex.

Construire le contenu dune formation

On peut construire une formation en éditant le fichier maître créé précédemment.

Ce fichier présente la configuration du module skb

\documentclass{beamer}

\usepackage{skb}

\skbconfig[
    root = ../../../,
    rep = content,
    pub = presentations,
    fig = figures,
    sli = slides,
    acr = database/acr,
    bib = database/bib
]{skblocal.tex}

Ces variables sont utilisées pour linclusion des éléments de contenu répartis dans les différents sous-dossier du dépôt.

Le corps du document qui est principalement intéressant est minimaliste au départ

\begin{document}

\skbinput[from=sli]{style/title}

% Corps de la formation
%\skbinput[from=sli]{}

\skbinput[from=sli]{licences/license-cc-by-sa-2.0}

\end{document}

Pour ajouter du contenu, on ajoute principalement des directives skbinput avec loption from=sli (pour les documents de type beamer) et lemplacement du fichier à partir du répertoire slides (puisque from=sli et sli = slides dans la configuration skb)

On peut également structurer la présentation en intercalant des directives section, subsection, etc.

Ces directives section, subsection, ainsi que le contenu inclu permet ensuite de construire le plan.

Les directives skbinput peuvent pointer vers un fichier inexistant dans un premier temps (une tentative de compilation du document dans cet état échouera bien évidemment).

Consolider le contenu dune formation (sous-commande update)

Par exemple, avec le corps de document suivant

\section{Introduction}
\skbinput[from=sli]{modules_EOLE_envole/commun/intro}
\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes27}
\skbinput[from=sli]{modules_EOLE_envole/commun/panorama-module}
\skbinput[from=sli]{modules_EOLE_envole/scribe/description}
\section{Outils pédagogique Scribe}
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/eop}
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/eop-pratique}
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/veyon}
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/veyon-pratique}
\section{Les quatre phases}
\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases}
\skbinput[from=sli]{modules_EOLE_envole/eolebase/virtualbox}
\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/configuration-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config}
\skbinput[from=sli]{modules_EOLE_envole/commun/instance-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/du-contenu-inexistant}

La plupart du contenu existe déjà. Seule la dernière inclusion poserait problème lors de la compilation.

Pour permettre de lancer des compilations sans attendre que tout le contenu soit prêt, le script propose une sous commande qui prépare le terrain en créant les fichiers de contenu manquant.

./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental

Le seul argument de cette sous-commande update permet didentifier le sous-répertoire de presentations contenant le fichier maître diaporama.tex.

Cette commande traite toutes les directives skbinput et créer le fichier à inclure sil nexiste pas déjà. Elle affiche la liste des fichiers créés en retour de commande.

$ ./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental/ 
slides/modules_EOLE_envole/commun/du-contenu-inexistant.tex

Ce fichier contient du texte permettant de le repérer facilement dans le document généré

\begin{frame}
    \frametitle{du-contenu-inexistant.tex}
    fichier slides/modules\_EOLE\_envole/commun/du-contenu-inexistant.tex à éditer
    % contenu (pas trop long) de la diapositive
\end{frame}

Affichage du plan (sous-commande outline)

La sous-commande outline permet de créer un sommaire du diaporama sous la forme de listes imbriquées et de linclure dans le programme. Il est possible de restreindre le nombre de niveaux de titre utilisé pour le plan avec loption -l.

./setup_main_tex_file.py outline -d modules_EOLE_envole/Conseil_Départemental
Introduction
		EOLE
			En quatre points
			Ce qui caractérise EOLE
		Nouveautés 2.7
		Modules disponibles en 2.7.0
		Modules disponibles à partir de la 2.7.1
		Eclair
		Zéphir/Sentinelle
		Zéphir
		Seshat
		Thot
		Seth
		Hapy
		Scribe
Outils pédagogique Scribe
		EOP
			Mise en pratique
		Veyon
			Les fonctionnalités
			Préparation
			Mise en pratique
Les quatre phases
		La phase d'installation
		La phase de configuration
		La phase d'instanciation
		La phase dinstanciation
			les étapes de linstanciation
		Les comptes administrateurs locaux
		Les mots de passe
		La phase d'administration
		La phase dadministration
		VirtualBox
			Configuration de la VM Eolebase
		Configuration autonome
			Nature dune configuration
			Types de variables
			Contraintes
			Application de configuration du module
			Les modes de lapplication de configuration du module
			Les informations de debug
			sauvegarde et chargement de la configuration
			Instance

Génération du document

Comme alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer)

rubber --inplace --module=xelatex presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex

La sous-commande compile appelle rubber pour compiler les trois documents : diaporama, support et programme.

./setup_main_tex_file.py compile -d modules_EOLE_envole/Conseil_Départemental

Cette sous-commande nest disponible que si la commande rubber est installé et accessible (test du retour rubber --version).

Intégration avec git

Le script entreprend des actions complémentaires lorsque il détecte un environnement git.

Séparation et isolation des formations

La proposition est la suivante : séparer le contenu générique (contenu inclu dans les formations) et les fichiers maîtres spécifiques à des formations.

Une branche (master en loccurence) est utilisée comme pivot et contient les fragments de formations. Chaque formation spécifique est isolée dans une branche propre.

De fait, le contenu du dossier presentations est commité dans la branche spécifique, tandis que le reste (content et slides notamment) est commité dans master. Un hook git local est proposé pour limiter les commits dans les mauvaises branches, basé sur les chemins des fichiers créés ou modifiés.

Le script permet dautomatiser une partie de ce découpage, notamment la création des branches spécifiques et le commit dans les branches appropriées selon les actions entreprises.

action dinitialisation

Linitialisation doit être effectué depuis la branche master et exécute les actions suivantes :

  • création dune branche nommée daprès le répertoire de destination et suffixée avec xelatex/
  • création des fichiers propres à la formation (fichiers maîtres pour le diaporama, le support, le programme, etc.)
  • commit de ces fichiers dans la branche spécifique.

action de mise à jour du programme

Comme tout ce qui implique la mise à jour ou la création de contenu dans le répertoire presentations, le produit de la mise à jour du programme est commité dans la branche spécifique.