Dernière publication:17/03/2026à 14:46BéréniceMaurel
Présentation
L'export maquette est disponible au format DOC et XLS.
Il existe une version différentielle de ce rapport.
Un fichier est généré pour chaque formation, il est possible de le lancer directement depuis une formation, mais aussi de générer toutes les maquettes de formation d'une composante.
Surcharge
Cet export se base sur une vue nommée report-maquette. Cette vue est disponible dans chacun des types de contenu de l'ODF.
Il est possible d'ajouter et d'enlever des données de l'export via cette vue mais cela n'est pas suffisant. Il est également nécessaire de surcharger les XSL de rendu.
Organisation des XSL
Les XSL de rendus peuvent être surchargées dans le dossier WEB-INF/stylesheets/pilotage/report.
Il y a plusieurs fichiers disponibles :
maquette2doc.xsl : Rendu DOC de l'export des maquettes
maquette2xls.xsl : Rendu XLS de l'export des maquettes
maquettediff2doc.xsl : Rendu DOC de l'export des maquettes différentiel (basé sur l'export simple)
maquettediff2xls.xsl : Rendu XLS de l'export des maquettes différentiel (basé sur l'export simple)
maquette/legende2doc.xsl : Légende pour le format DOC
maquette/legende2xls.xsl : Légende pour le format XLS
params/maquette.xsl : Paramétrage commun comme les tables de référence prise en compte pour l'affichage dans la légende par exemple
Pour chacune des XSL surchargées, il est nécessaire d'importer son équivalent noyau :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
<xsl:import href="plugin:odf-pilotage://stylesheets/pilotage/report/[chemin restant de la XSL]"/>
<xsl:import href="plugin:odf-pilotage://stylesheets/pilotage/report/[chemin restant de la XSL]"/>
<xsl:import href="plugin:odf-pilotage://stylesheets/pilotage/report/[chemin restant de la XSL]"/>
Structure principale
Chaque rendu est composé de deux parties : les données (match="program") et la légende (name="legende").
Dans la partie données, il y a :
des variables pour définir le nombre de colonnes (pour les fusions de colonnes) :
nbColumnsBefore : nombre de colonnes avant les heures d'enseignement
nbColumnsAfter : nombre de colonnes après les heures d'enseignement
titleColumnPosition : position de la colonne contenant le titre, à garder à jour pour permettre de bons alignements
des entêtes intermédiaires : formation (match="program"), parcours (match="subProgram"), conteneur de type année (match="container[nature/code = 'annee']"), et autre conteneur (match="container")
un tableau pour chaque liste de premier niveau (match="courseList") avec :
les entêtes de colonnes (name="table-head") dont :
les colonnes affichées avant les heures d'enseignement (name="before-course-parts")
les colonnes des heures d'enseignement
les colonnes affichées après les heures d'enseignement (name="after-course-parts")
les données (name="table-body") dont chaque sous élément est exploré (mode="child")
chaque type de liste d'ELP peut définir une ligne spécifique (mode="courselist-header")
et les ELP définissent les cellules affichées sur leur ligne (match="course")
Comment procéder ?
Ajouter ou supprimer les données de la ou les vues report-maquette de chaque type de contenu.
Pour modifier un entête, il faut aller modifier également le template concerné par l'entête : match="program" ou match="subProgram" ou match="container[nature/code = 'annee']" ou match="container"
Pour modifier les colonnes du tableau, il faut modifier les templates before-course-parts ou after-course-parts en fonction de là où est la colonne afin d'ajouter / modifier / supprimer l'entête. Attention aux largeurs des colonnes dans la version DOC. Et également modifier les cellules traitées par chaque ELP. Dans le cas d'une suppression de colonne, il est recommandé de vider le template concernant la donnée directement : match="course" mode="cell-*". Dans le cas d'un ajout de colonne, il faudra surcharger le template match="course" pour ajouter le template de traitement de la donnée.
Enfin, les variables nbColumnsBefore, nbColumnsAfter et titleColumnPosition doivent être mises à jour si nécessaire.
Pour compléter, il est possible de mettre à jour la légende.
Exemple
Imaginons le cas d'ajout d'une colonne pour afficher le nombre d'heures saisi sur l'ELP.
Il faut déjà ajouter la donnée à la vue report-maquette voir même ici à report-maquette-compare (qui sont les données comparables) dans le fichier WEB-INF/param/content-types/_override/org.ametys.plugins.odf.Content.course.xml :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Ensuite, il faut surcharger le rendu DOC avec WEB-INF/stylesheets/pilotage/report/maquette2doc.xsl en modifiant le nombre de colonnes avant les heures d'enseignement nbColumnsBefore, en ajoutant l'entête de colonne dans le template before-course-parts et en modifiant le template match="course" mode="cell-shared" pour ajouter les cellules manquantes :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.