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 local
  • manifeste['espace'] présente les paramètres de publication
  • manifeste['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
  • 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}