| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| issue205:python [2024/06/04 06:40] – d52fr | issue205:python [2024/06/12 15:27] (Version actuelle) – andre_domenech |
|---|
| D'autres mystères du Sphinx | D'autres mystères du Sphinx |
| |
| Bonjour à tous les êtres vivants doués de sensibilité. Rayonnant une fois de plus de quelque part dans le temps et l'espace, je reviens pour, je l'espère, fournir plus d'informations bien nécessaires. (Si vous n'êtes pas une forme de vie sensible, je n'ai pas l'intention de vous cacher ces informations, alors n'hésitez pas à essayer de les lire). | Bonjour à tous les êtres vivants sensibles. Rayonnant une fois de plus de quelque part dans le temps et l'espace, je reviens pour, je l'espère, fournir plus d'informations bien nécessaires. (Si vous n'êtes pas une forme de vie sensible, je n'ai pas l'intention de vous cacher ces informations, alors n'hésitez pas à essayer de les lire). |
| |
| L'article de ce mois-ci a été inspiré par l'un des utilisateurs de PAGE sur le forum Discord de PAGE et quelqu'un que je considère comme un bon ami, le professeur Roberto Machorro Mejía, qui a commencé à utiliser PAGE l'année scolaire dernière. Il enseigne à l'UNAM, une université publique, la plus grande du Mexique. Il utilisait PAGE pour créer une interface graphique dans le cadre d'un projet sur lequel il travaillait avec ses étudiants. Pour faire court, il lit le Full Circle Magazine depuis un certain temps et il m'a envoyé un message pour me dire qu'il avait beaucoup aimé mon article sur Sphinx dans le numéro du mois dernier. Il se demandait toutefois si Sphinx travaillait directement sur un fichier source. J'ai donc décidé d'écrire sur la façon d'y parvenir. | L'article de ce mois-ci a été inspiré par l'un des utilisateurs de PAGE sur le forum Discord de PAGE et quelqu'un que je considère comme un bon ami, le professeur Roberto Machorro Mejía, qui a commencé à utiliser PAGE l'année scolaire dernière. Il enseigne à l'UNAM, une université publique, la plus grande du Mexique. Il utilisait PAGE pour créer une interface graphique dans le cadre d'un projet sur lequel il travaillait avec ses étudiants. Pour faire court, il lit le magazine Full Circle depuis un certain temps et il m'a envoyé un message pour me dire qu'il avait beaucoup aimé mon article sur Sphinx dans le numéro du mois dernier. Il se demandait toutefois si Sphinx travaillait directement sur un fichier source. J'ai donc décidé d'écrire sur la façon d'y parvenir. |
| |
| |
| La docstring | La docstring |
| |
| La docstring est simplement une section de votre code source qui commence et se termine par trois guillemets doubles et entre les deux se trouvent des informations libres. Cependant, pour que Sphinx puisse saisir l'information, il doit y avoir quelques lignes spéciales. Voici (page suivante, en haut à droite) un extrait de ce que vous pouvez vous attendre à fournir... | La docstring est simplement une section de votre code source qui commence et se termine par trois guillemets doubles et entre les deux se trouvent des informations libres. Cependant, pour que Sphinx puisse saisir l'information, il doit y avoir quelques lignes spéciales. Voici (page suivante, en haut à droite) un extrait de ce que vous pouvez vous attendre à fournir. |
| |
| Bien sûr, la première ligne est la définition de la fonction. Ensuite, nous commençons la docstring avec les trois doubles guillemets. | Bien sûr, la première ligne est la définition de la fonction. Ensuite, nous commençons la docstring avec les trois doubles guillemets. |
| Voici la description que je mettrais dans le fichier fictif index.rst... | Voici la description que je mettrais dans le fichier fictif index.rst... |
| |
| L'un des aspects les plus intéressants du programme est que l'utilisateur a la possibilité de changer de thème à tout moment et de choisir n'importe quel thème dans le dossier des thèmes. Bien entendu, il s'agit de thèmes .tcl. Utilisez la fonction load_tcl_themes pour générer une liste de tous les thèmes, puis chargez-la dans une propriété TCombobox values. Liez ensuite l'événement virtuel **<<ComboboxSelected>>** à la TCombobox en fournissant une fonction de rappel chaque fois que l'utilisateur sélectionne quelque chose dans la liste de la TCombobox. Voici la fonction ``sphinxDemo1_support.on_ComboSelect()``. | L'un des aspects les plus intéressants du programme est que l'utilisateur a la possibilité de changer de thème à tout moment et de choisir n'importe quel thème dans le dossier des thèmes. Bien entendu, il s'agit de thèmes .tcl. Utilisez la fonction load_tcl_themes pour générer une liste de tous les thèmes, puis chargez-la dans une propriété TCombobox values. Liez ensuite l'événement virtuel **<<ComboboxSelected>>** à la TCombobox en fournissant une fonction de rappel chaque fois que l'utilisateur sélectionne quelque chose dans la liste de la TCombobox. Voici la fonction « sphinxDemo1_support.on_ComboSelect() ». |
| |
| Maintenant, nous décrivons la fonction en utilisant la directive ... py:function::. | Maintenant, nous décrivons la fonction en utilisant la directive ... py:function::. |
| You need to create an extra .rst file named something like “api.rst”. In it you place just a few lines…** | You need to create an extra .rst file named something like “api.rst”. In it you place just a few lines…** |
| |
| Il s'agit du chemin d'accès complet à votre code source. Vous n'avez pas besoin d'entrer le(s) nom(s) de fichier à ce stade, mais seulement le chemin. | Voici le chemin d'accès complet à votre code source. Vous n'avez pas besoin d'entrer le(s) nom(s) de fichier à ce stade, mais seulement le chemin. |
| |
| L'autre partie importante est la section des extensions. Vous devez avoir les quatre lignes dans la liste. | L'autre partie importante est la section des extensions. Vous devez avoir les quatre lignes dans la liste. |
| api | api |
| |
| Remarquez que la seule ligne en gras est celle qui ajoute le fichier api.rst, et c'est celui que vous devez ajouter. Vous n'avez pas besoin d'inclure l'extension .rst. | Remarquez que la seule ligne en gras est celle qui ajoute le fichier api.rst et c'est celui que vous devez ajouter. Vous n'avez pas besoin d'inclure l'extension .rst. |
| |
| Lorsque vous lancerez votre prochaine compilation, vous verrez l'ajout au bas de la page principale... | Lorsque vous lancerez votre prochaine compilation, vous verrez l'ajout au bas de la page principale... |
| Si vous obtenez un certain nombre d'erreurs lors de votre compilation, la première chose que vous devriez regarder est le formatage de la directive et la ou les lignes qui suivent la directive. Sphinx est TRÈS pointilleux sur le formatage et l'espace blanc. C'est généralement quelque chose de très simple. | Si vous obtenez un certain nombre d'erreurs lors de votre compilation, la première chose que vous devriez regarder est le formatage de la directive et la ou les lignes qui suivent la directive. Sphinx est TRÈS pointilleux sur le formatage et l'espace blanc. C'est généralement quelque chose de très simple. |
| |
| J'ai créé un référentiel comme je le fais souvent. J'ai inclus les fichiers Sphinx index.rst et conf.py pour que vous puissiez facilement avoir une référence aux informations de ce mois. | J'ai créé un dépôt comme je le fais souvent. J'ai inclus les fichiers Sphinx index.rst et conf.py pour que vous puissiez facilement avoir une référence aux informations de ce mois. |
| |
| Le dépôt est situé à l'adresse https://github.com/gregwa1953/FCM-205. Ce dépôt est un peu différent de mes dépôts habituels. Il y a deux dossiers qui contiennent les fichiers de démonstration. Le premier est le dossier code qui contient tous les fichiers du programme de démonstration, y compris le fichier PAGE .tcl et le dossier docs qui contient le fichier HTML de la documentation Sphinx. L'autre dossier est le dossier SphinxSource qui contient le dossier des images, les fichiers api.rst, index.rst et conf.py. | Le dépôt est situé à l'adresse https://github.com/gregwa1953/FCM-205. Ce dépôt est un peu différent de mes dépôts habituels. Il y a deux dossiers qui contiennent les fichiers de démonstration. Le premier est le dossier code qui contient tous les fichiers du programme de démonstration, y compris le fichier PAGE .tcl et le dossier docs qui contient le fichier HTML de la documentation Sphinx. L'autre dossier est le dossier SphinxSource qui contient le dossier des images, les fichiers api.rst, index.rst et conf.py. |