Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:python:sphinx:introduction [2025/02/26 20:37] – yoann | dev:python:sphinx:introduction [2025/02/27 15:25] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| - | ====== | + | ====== |
| - | Sphinx est un programme dédié à la génération de tous types de documentation associée à un projet: | + | Sphinx est un programme dédié à la génération de tout type de documentation associée à un projet: |
| - | * La documentation de référence (documentation des modules, classes et APIs); | + | * La documentation de référence |
| * les tutoriaux (documentation à objectifs pédagogiques); | * les tutoriaux (documentation à objectifs pédagogiques); | ||
| * Les How-To (documentation ayant pour objet la résolution de problèmes); | * Les How-To (documentation ayant pour objet la résolution de problèmes); | ||
| * Les documents explicatifs ayant pour objectif de faire connaître ou de justifier certains choix. | * Les documents explicatifs ayant pour objectif de faire connaître ou de justifier certains choix. | ||
| - | Souvent on pense à Sphinx comme à un outil de génération de documentation technique pour Python capable d' | + | Souvent on pense à Sphinx comme à un outil de génération de documentation technique pour Python capable d' |
| - | Plus généralement Sphinx peut prendre en entrée tout type de document texte et produire une sortie lisible. | + | Plus généralement Sphinx peut prendre en entrée tout type de documents textes |
| En général les fichiers texte en entrées utilisent le formatage **reStructredText** et la sortie produite par Sphinx est un ensemble de documents formatés en HTML. | En général les fichiers texte en entrées utilisent le formatage **reStructredText** et la sortie produite par Sphinx est un ensemble de documents formatés en HTML. | ||
| Ligne 76: | Ligne 76: | ||
| - | ===== Ajouter | + | ===== Ajouter |
| * Créer un fichier .rst dans le dossier de la documentation ; | * Créer un fichier .rst dans le dossier de la documentation ; | ||
| - | * Référencer | + | * Référencer |
| < | < | ||
| Ligne 94: | Ligne 94: | ||
| </ | </ | ||
| - | Le fichier index.rst | + | Le fichier index.rst |
| - | < | + | |
| + | < | ||
| .. toctree:: | .. toctree:: | ||
| : | : | ||
| Ligne 106: | Ligne 107: | ||
| * Le paramètre '': | * Le paramètre '': | ||
| * Le paramètre '': | * Le paramètre '': | ||
| - | * Attention a bien laisser la ligne vide qui sépare | + | * Attention a bien laisser la ligne vide séparant |
| ===== Introduction à la syntaxe reStructuredText ===== | ===== Introduction à la syntaxe reStructuredText ===== | ||
| - | La syntaxe reStructuredText, | + | La [[https:// |
| Pour l' | Pour l' | ||
| Ligne 121: | Ligne 122: | ||
| </ | </ | ||
| - | Pour les titres | + | ==== Les commentaires ==== |
| + | |||
| + | Commentaire simple | ||
| + | < | ||
| + | .. Un commentaire sur toute la ligne courante | ||
| + | |||
| + | Le texte présent est un autre bloc (un paragraphe). | ||
| + | Le commentaire ci-dessus n'est pas visible à la génération du document. | ||
| + | </ | ||
| + | |||
| + | Commentaire multi-lignes | ||
| + | < | ||
| + | |||
| + | .. | ||
| + | Un commentaire sur plusieurs lignes | ||
| + | Le texte de même indentation reste un commentaire | ||
| + | |||
| + | Un autre paragraphe dans le même commentaire | ||
| + | |||
| + | Le texte ici n'est plus un commentaire | ||
| + | </ | ||
| + | |||
| + | ==== Les titres et sections ==== | ||
| < | < | ||
| Ligne 137: | Ligne 160: | ||
| </ | </ | ||
| + | On définit un niveau de titre en le surlignant avec les caractères spéciaux. Par défaut, les niveaux de titres ne sont pas associés à un caractère particulier, | ||
| - | Pour une URL : | + | Par convention dans [[https:// |
| + | |||
| + | * ''#'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * ''"'' | ||
| + | |||
| + | ==== Liens externes ==== | ||
| + | |||
| + | Pour une URL (externe) | ||
| < | < | ||
| Syntaxe d' | Syntaxe d' | ||
| </ | </ | ||
| + | <note warning> | ||
| * Attention aux guillemets arrières ; | * Attention aux guillemets arrières ; | ||
| * Attention à l' | * Attention à l' | ||
| * Attention à l' | * Attention à l' | ||
| + | </ | ||
| + | |||
| + | Pour la création d'un lien externe, on peut faire le choix de séparer la définition du lien et la cible : | ||
| + | |||
| + | < | ||
| + | Le paragraphe suivant contient seulement la `texte du lien`_ | ||
| + | La cible peut être définie plus loin dans le document | ||
| + | |||
| + | Ici un autre paragraphe | ||
| + | |||
| + | |||
| + | .. _texte du lien: https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | ==== Les références croisées ==== | ||
| + | |||
| + | Une des forces de Sphinx réside dans sa gestion des **références croisées**. De nombreux éléments de la documentation peuvent être désignés/ | ||
| + | |||
| + | Tous les détails concerant les **cross-references** sont abordés dans la [[https:// | ||
| + | |||
| + | |||
| + | De manière générale on place un **label** en amont du bloc: | ||
| + | |||
| + | < | ||
| + | .. _`mon-par`: | ||
| + | Ici un simple paragraphe avant lequel on a placé | ||
| + | |||
| + | Plus loin dans ma documentation je peux faire faire référence au paragraphe précédent voir :ref:`mon par` | ||
| + | </ | ||
| + | |||
| + | ==== Lien vers un document ==== | ||
| + | |||
| + | Pour créer une référence vers un autre document : | ||
| + | < | ||
| + | .. lien vers un document | ||
| + | |||
| + | Retour à l' : | ||
| + | |||
| + | .. lien vers un document avec définition du texte du lien | ||
| + | |||
| + | Retour à la :doc:`page d' | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Lien de téléchargement ==== | ||
| + | |||
| + | Pour créer un lien de téléchargement désignant un fichier ressource présent dans l' | ||
| + | |||
| + | < | ||
| + | Télécharger le GIF Hamtaro : | ||
| + | </ | ||
| + | |||
| + | ==== Les listes ==== | ||
| Les listes : | Les listes : | ||
| + | |||
| < | < | ||
| Liste à puce : | Liste à puce : | ||
| Ligne 155: | Ligne 246: | ||
| * Une sous-liste | * Une sous-liste | ||
| - | * notez bien le saut de ligne avec la liste principale, | + | * Notez bien le saut de ligne avec la liste principale, |
| ça ne marchera pas si vous l' | ça ne marchera pas si vous l' | ||
| + | Ce même élément s' | ||
| * un dernier élément | * un dernier élément | ||
| Ligne 217: | Ligne 309: | ||
| * Le site officiel de Sphinx propose une [[https:// | * Le site officiel de Sphinx propose une [[https:// | ||
| * Confère également la [[https:// | * Confère également la [[https:// | ||
| + | |||
| + | |||
| + | Introduire les images (png, jpg, gif) | ||
| + | |||
| + | < | ||
| + | Voici une image : | ||
| + | |||
| + | .. figure:: ./ | ||
| + | |||
| + | Voici un autre image avec quelques paramètres en plus : | ||
| + | |||
| + | .. figure:: ./ | ||
| + | :alt: Texte alternatif | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | |||
| + | Texte affiché sous l' | ||
| + | |||
| + | </ | ||
| + | |||
| + | Pour les tableaux, on définit les cellules telles qu'on souhaite les voir s' | ||
| + | |||
| + | < | ||
| + | +-----------+-----------+-----------+ | ||
| + | | Heading 1 | Heading 2 | Heading 3 | | ||
| + | +===========+===========+===========+ | ||
| + | | Hello | World | ||
| + | +-----------+-----------+-----------+ | ||
| + | | foo | ||
| + | +-----------+ | ||
| + | | baz | ||
| + | +-----------+-----------------------+ | ||
| + | </ | ||
| + | |||
| + | En plus de la syntaxe propre à reStructuredTest, | ||
| + | |||
| + | ==== Métadonnées HTML ==== | ||
| + | |||
| + | On peut également introduire des métadonnées pour la génération des documents en HTML : | ||
| + | |||
| + | < | ||
| + | .. meta:: | ||
| + | : | ||
| + | : | ||
| + | : | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| Ligne 236: | Ligne 378: | ||
| </ | </ | ||
| - | Introduire les images (png, jpg, gif) | ||
| - | < | ||
| - | Voici une image : | ||
| - | |||
| - | .. figure:: ./ | ||
| - | |||
| - | Voici un autre image avec quelques paramètres en plus : | ||
| - | |||
| - | .. figure:: ./ | ||
| - | :alt: Texte alternatif | ||
| - | : | ||
| - | : | ||
| - | : | ||
| - | |||
| - | Texte affiché sous l' | ||
| - | </ | ||
| ===== L' | ===== L' | ||