|
| 1 | +# Contribuer aux supports |
| 2 | + |
| 3 | +## Fonctionnement du dépôt |
| 4 | + |
| 5 | +Le site web et les notebooks sont construits à partir de `Quarto`. Le site |
| 6 | +web est le format par défaut, les _notebooks_ sont construits par |
| 7 | +intégration continue. |
| 8 | + |
| 9 | +En supposant que l'environnement `Python` est fonctionnel (cf. ci-dessous), |
| 10 | +le site web dans son ensemble peut être construit avec la commande |
| 11 | +suivante |
| 12 | + |
| 13 | +```shell |
| 14 | +# pour les utilisateurs du sspcloud |
| 15 | +quarto preview --port 5000 --host 0.0.0.0 |
| 16 | + |
| 17 | +# hors du sspcloud |
| 18 | +quarto preview |
| 19 | +``` |
| 20 | + |
| 21 | +Pour ne faire un _render_ que d'une fiche, il est possible de modifier à la main |
| 22 | +la section `render` du |
| 23 | +fichier `_quarto.yml`. Supprimer la liste des fichiers sauf les `**/introductions.qmd` |
| 24 | +et la fiche désirée. |
| 25 | +N'oubliez pas de restaurer la version d'origine |
| 26 | +du `quarto.yml` avant de faire la _pull request_ ! |
| 27 | + |
| 28 | +Pour visualiser le _notebook_ qui sera généré à l'issue des |
| 29 | +modifications, la commande à exécuter est la suivante: |
| 30 | + |
| 31 | +```shell |
| 32 | +quarto render chemin_du_fichier/fichier.qmd --to ipynb |
| 33 | +``` |
| 34 | + |
| 35 | +puis ouvrir le `.ipynb` obtenu. |
| 36 | + |
| 37 | +La correction peut être prévisualisée de la manière suivante: |
| 38 | + |
| 39 | +```shell |
| 40 | +quarto render --execute -M echo:true |
| 41 | +``` |
| 42 | + |
| 43 | +puis ouvrir le `.ipynb` obtenu. |
| 44 | + |
| 45 | + |
| 46 | +__Aucun *output* ne doit être committé, seuls les fichiers sources `.qmd`__. Toutes les |
| 47 | +sorties (fichiers .png, .html, .ipynb, etc.) sont générées |
| 48 | +par le biais de scripts automatisés qui tournent à chaque |
| 49 | +_commit_ sur le dépôt `linogaliana/python-datascientist`. |
| 50 | + |
| 51 | + |
| 52 | +## Mise en place de l'environnement pour tester les exemples |
| 53 | + |
| 54 | +Pour les contributeurs ayant un accès au SSP Cloud, |
| 55 | +ces commandes suffisent pour |
| 56 | +avoir l'environnement minimal nécessaire pour construire en local |
| 57 | +le site _web_. |
| 58 | + |
| 59 | +```shell |
| 60 | +# Sur le SSPCloud |
| 61 | +pip install -r requirements.txt |
| 62 | +./requirements.sh |
| 63 | +``` |
| 64 | + |
| 65 | +Pour les contributeurs hors de cet environnement (dommage !), |
| 66 | +il est nécessaire en premier lieu d'avoir les éléments suivants: |
| 67 | + |
| 68 | +- Une version récente de `Quarto`, _a minima_ la `1.3.450`. |
| 69 | +- `Jupyter` et un outil de gestion des environnements `Python` (`miniconda` par exemple). |
| 70 | + |
| 71 | +L'installation de l'environnement minimal pour reproduire les exemples peut être |
| 72 | +fait sur la base d'un _trial and error_ en attendant la mise à disposition |
| 73 | +d'un fichier adéquat (`pip freeze` ne fournit pas un fichier satisfaisant) |
| 74 | + |
0 commit comments