Skip to main content

CEC → GNU Info

CI Release Licence GPL-3.0-or-later

Convertit le Catéchisme de l'Église catholique publié par le Vatican (IntraText, version française) en manuel GNU Texinfo / Info, PDF et EPUB 3. La sortie Info est directement lisible dans Emacs.

Dépendances (Debian)

sudo apt install python3-bs4 texinfo

pandoc n'est pas nécessaire.

La génération PDF demande également une installation TeX fournissant texi2dvi et un convertisseur DVI vers PDF (par exemple texlive sur Debian).

Le projet peut aussi être installé dans un environnement Python :

python3 -m venv .venv
. .venv/bin/activate
python -m pip install -e .
cec2info --help

Utilisation

make

Le script crée :

  • .cec-cache/ : cache local des pages HTML ;
  • catechisme.texi : source Texinfo ;
  • catechisme.info : manuel GNU Info ;
  • catechisme.pdf : version PDF ;
  • catechisme.epub : livre EPUB 3 ;
  • generation-report.json : rapport de génération exploitable par un outil.

Pour ne produire qu'un format :

make info
make pdf
make epub

Les tests locaux se lancent avec make test.

La génération vérifie que les paragraphes 1 à 2865 sont tous présents une seule fois avant de compiler les formats finaux. Les pages IntraText absentes du sommaire sont récupérées automatiquement grâce aux liens Suivant. Pour un autre corpus, adaptez la borne avec --expected-last-paragraph, ou utilisez la valeur 0 pour désactiver ce contrôle.

Un rapport lisible est toujours affiché à la fin. Pour demander explicitement un rapport JSON avec la commande installée :

cec2info --compile --pdf --epub --report-json generation-report.json

Le JSON contient la source, le nombre d'entrées, les pages liées et orphelines, la couverture des paragraphes, ainsi que le chemin et la taille de chaque sortie.

Architecture

Le point d'entrée cec2info.py conserve l'interface publique et orchestre la commande. Les responsabilités internes sont séparées sans modifier son usage :

  • cec2info_network.py : téléchargement, reprises et cache atomique ;
  • cec2info_parser.py : analyse du sommaire et des pages HTML IntraText ;
  • cec2info_output.py : Texinfo, validation, rapports et compilation ;
  • cec2info_model.py : arbre du document et normalisation partagée.

Les fonctions historiquement importables depuis cec2info y restent réexportées pour préserver la compatibilité.

Pour forcer un nouveau téléchargement :

make refresh

make clean retire les sorties et auxiliaires de compilation ; make distclean retire aussi le cache HTML et les caches Python.

Intégration continue

Le workflow GitHub Actions .github/workflows/ci.yml teste Python 3.10 et 3.13 sous Ubuntu, ainsi que Python 3.13 sous macOS et Windows. Il vérifie le code avec Ruff, contrôle la commande cec2info et construit une wheel sans télécharger le corpus du Vatican. Ubuntu impose en plus au moins 95 % de couverture de branches et compile réellement les sorties Info/PDF/EPUB ; les autres plateformes exécutent les tests Python et ignorent ces tests lorsque les outils Texinfo/TeX ne sont pas installés. Localement, make check reproduit les contrôles de qualité Python.

Publication

Un tag vX.Y.Z correspondant à la version de pyproject.toml déclenche les tests, construit le wheel et le paquet source, puis publie une GitHub Release.

La publication PyPI utilise Trusted Publishing (OIDC), sans secret permanent. Le publisher PyPI doit cibler le propriétaire fmaillar, le dépôt cec-info, le workflow release.yml et l'environnement GitHub pypi. La variable de dépôt PYPI_PUBLISH active cette étape lorsqu'elle vaut true.

Lecture dans Emacs

(info "/chemin/vers/catechisme.info")

Installation dans le répertoire Info utilisateur

mkdir -p ~/.local/share/info
cp catechisme.info ~/.local/share/info/
install-info ~/.local/share/info/catechisme.info ~/.local/share/info/dir

Puis, si ce répertoire n'est pas déjà connu d'Emacs :

(add-to-list 'Info-default-directory-list
             (expand-file-name "~/.local/share/info/"))

Ensuite : M-x info, puis m Catéchisme.

Navigation

  • n, p, u : suivant, précédent, parent ;
  • m : sélectionner une entrée du menu ;
  • i RET 2270 RET : aller à l'entrée d'index du § 2270 ;
  • s RET eucharistie RET : recherche plein texte.

Le script utilise automatiquement les pages __P*.HTM du système IntraText : ce sont les variantes de lecture sans les milliers de liens de concordance.

Licence et droits sur le texte

Le convertisseur est distribué sous la licence GNU GPL version 3 ou toute version ultérieure. Consultez le fichier LICENSE.

Cette licence ne couvre pas le texte du Catéchisme. Le projet ne distribue que le convertisseur ; le texte est téléchargé depuis le site officiel du Vatican au moment de la génération et reste soumis aux droits indiqués par son éditeur.

Metadata

Release files for cec2info 3.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cec2info 3.4.0
File Size Uploaded
cec2info-3.4.0.tar.gz 33.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cec2info 3.4.0
File Interpreter ABI Platform
cec2info-3.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 63.0 kB

Release files / cec2info-3.4.0.tar.gz

Download URL cec2info-3.4.0.tar.gz
Size 33.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3f4006f3e676ecc802f1406671cded787357f5b54761dfa0ad4f7cb7be470425
BLAKE2b-256 checksum
How to use checksums
78a7221063ac37d382d591b1fa6d33429f16b69a0151e9fc73296f30cf51a89d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.

Transparency log

Release files / cec2info-3.4.0-py3-none-any.whl

Download URL cec2info-3.4.0-py3-none-any.whl
Size 29.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15f7e27e96caf6c9295608b0bdf57a41af953a7d3f23ca7616afdf67e16943c8
BLAKE2b-256 checksum
How to use checksums
b6e24827d8d3ec964efc1f1d00a252c6d0c6719ec8b9d248531d8a196c62869a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 15, 2026.

Transparency log

Release history Release notifications | RSS feed

3.6.0

2 release files

3.5.0

2 release files

This release

3.4.0 This release

2 release files

3.3.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page