maintenance.init_mathCours
Ce module code et présente le manifeste du dépôt math-cours
.
Modifié le 30/03/23 @author: remy
Le manifeste d'un dépôt décrit
- les conventions de nommage des fichiers permettant leur traitement local avant publication et contextualisation,
- les commandes de traitement local,
- les données du serveur de publication spécifique au dépôt,
- les données du serveur de contextualisation spécifique au dépôt.
Ce module définit un dictionnaire manifeste
.
manifeste['nom']
présente le nom du dépôt : 'math-pbs'manifeste['execloc']
présente les paramètre de traitement localmanifeste['espace']
présente les paramètres de publicationmanifeste['context']
présente les paramètres de contextualisation
Conventions de nommage
Ce dépôt comprend deux types de fichiers LateX dont les noms commencent par C
(désignés comme fichiers "C") ou par S
(fichiers "S").
Les fichiers "C" sont des textes de cours. Le nom d'un fichier de ce type est de la forme Cnnnn.tex
où "nnnn" désigne 4 (ou 5)chiffres. La raison de cette convention se perd dans l'histoire du maquis et ne correspond à rien actuellement. Le titre pertinent du texte est à extraire directement du fichier LateX.
Comme pour les autres dépôts, les fichiers Cnnnn_1.asy
, Cnnnn_1.pdf
, ... sont attachés à des figures du texte.
Les fichiers "S" sont formés à partir du programme 2018 de la classe de MPSI et permettent de constituer les 30 programmes de colles de la classe de MPSI B en 2019-2020. Ces fichiers n'ont pas à être modifiés.
Traitement local
Avant publication
- les fichiers "C" sont compilés en pdf et placés dans
pdfdir
- les fichiers "C" sont compilés en pdf et placés dans
Avant contextualisation
- Les fichiers "C" sont scannés pour associer les titres aux noms des fichiers.
- Les fichiers
*.idx
sont scannés pour extraire les index.
Publication
Voir le sous-module espace
pour la mise en oeuvre de la publication.
Ce sous-module ne définit en clair que les paramètres publics du serveur de publication.
Les credentials secrets sont définis dans le fichier local ~/.aws
.
Contextualisation
Noeuds
Un noeud labélisé Document
est associé à un texte de cours "C" et caractérisé par sa propriété titre qui est égale au titre dans le fichier Latex et pas au nom du fichier.
Des noeuds sont aussi associés aux fichiers "S" mais ils ne seront pas mis à jour à cours terme et ne seront pas modifiés.
Arêtes
Scénarios de travail admissibles
- modifier un fichier
C
- ajouter un index dans un fichier
C
1# -*- coding: utf-8 -*- 2""" 3Ce module code et présente le *manifeste* du dépôt `math-cours`. 4 5Modifié le 30/03/23 @author: remy 6 7Le manifeste d'un dépôt décrit 8- les conventions de nommage des fichiers permettant leur traitement local avant publication et contextualisation, 9- les commandes de traitement local, 10- les données du serveur de publication spécifique au dépôt, 11- les données du serveur de contextualisation spécifique au dépôt. 12 13 14Ce module définit un dictionnaire `manifeste`. 15- `manifeste['nom']` présente le nom du dépôt : 'math-pbs' 16- `manifeste['execloc']` présente les paramètre de traitement local 17- `manifeste['espace']` présente les paramètres de publication 18- `manifeste['context']` présente les paramètres de contextualisation 19 20### Conventions de nommage 21Ce dépôt comprend deux types de fichiers LateX dont les noms commencent par `C` (désignés comme fichiers "C") ou par `S` (fichiers "S"). 22 23Les fichiers "C" sont des textes de cours. Le nom d'un fichier de ce type est de la forme `Cnnnn.tex` où "nnnn" désigne 4 (ou 5)chiffres. La raison de cette convention se perd dans l'histoire du maquis et ne correspond à rien actuellement. Le titre pertinent du texte est à extraire directement du fichier LateX. 24Comme pour les autres dépôts, les fichiers `Cnnnn_1.asy`, `Cnnnn_1.pdf`, ... sont attachés à des figures du texte. 25 26Les fichiers "S" sont formés à partir du programme 2018 de la classe de MPSI et permettent de constituer les 30 programmes de colles de la classe de MPSI B en 2019-2020. Ces fichiers n'ont pas à être modifiés. 27 28### Traitement local 29 30- Avant publication 31 - les fichiers "C" sont compilés en pdf et placés dans `pdfdir` 32 33- Avant contextualisation 34 - Les fichiers "C" sont scannés pour associer les titres aux noms des fichiers. 35 - Les fichiers `*.idx` sont scannés pour extraire les index. 36 37 38### Publication 39 40Voir le sous-module [`espace`](espace.html) pour la mise en oeuvre de la publication. 41 42Ce sous-module ne définit en clair que les paramètres publics du serveur de publication. 43Les credentials secrets sont définis dans le fichier local `~/.aws`. 44 45 46### Contextualisation 47#### Noeuds 48Un noeud labélisé `Document` est associé à un texte de cours "C" et caractérisé par sa propriété titre qui est égale au titre dans le fichier Latex et pas au nom du fichier. 49 50Des noeuds sont aussi associés aux fichiers "S" mais ils ne seront pas mis à jour à cours terme et ne seront pas modifiés. 51#### Arêtes 52 53### Scénarios de travail admissibles 54- modifier un fichier `C` 55- ajouter un index dans un fichier `C` 56""" 57 58import os 59 60# nouvelle organisation 61 62execloc = { 63 'relative_path': '../math-cours/', 64 'modulespec': 'exl_mathCours', 65 'commandes': [ 66 {'ext': '.tex', 67 'patterns': ['C*.tex'], 68 'imgdir': 'pdfdir/', 69 'imgext': '.pdf', 70 'command': [ 71 "latexmk", 72 "-pdf", 73 "-emulate-aux-dir", 74 "-auxdir=auxdir", 75 "-outdir=pdfdir" 76 ] 77 }, 78 {'ext': '.asy', 79 'patterns': ['*_fig.asy'], 80 'imgdir': '', 81 'imgext': '.pdf', 82 'command': [ 83 "asy", 84 "-f", 85 "pdf" 86 ] 87 }, 88 {'ext': '.py', 89 'patterns': ['*_fig.py'], 90 'imgdir': '', 91 'imgext': '.pdf', 92 'command': [ 93 "python3" 94 ] 95 }, 96 ], 97 'publish_data': { 98 'patterns': ['pdfdir/C*.pdf', 'S*.pdf'] 99 }, 100 'context_data': { 101 'idx_path_pattern': 'C*.idx', 102 'cours_path_pattern': 'C*.tex' 103 } 104 } 105 106espace = { 107 'credentials': { 108 'region_name': 'fra1', 109 'endpoint_url': 'https://fra1.digitaloceanspaces.com', 110 'bucket': 'maquisdoc-math', 111 'prefix': 'math-cours/', 112 }, 113 'uri_esp': 'https://maquisdoc-math.fra1.digitaloceanspaces.com/' 114 } 115 116context = { 117 'credentials': { 118 'URI': os.getenv('NEO4J_URL'), 119 'user': os.getenv('NEO4J_USERNAME'), 120 'password': os.getenv('NEO4J_PASSWORD') 121 }, 122 'modulespec': 'bdg_mathCours' 123 } 124 125manifeste = {'nom': 'math-cours', 126 'execloc': execloc, 127 'espace': espace, 128 'context': context}