Environnement de développement =============================== Chocolatey ---------- Afin d'installer les différents logiciels nécessaires, j'ai utilisé un gestionnaire de paquet pour Windows nommé `Chocolatey `__. Une fois chocolatey installé, il suffit de lancer un terminal ``Powershell`` en administrateur et de lancer cette commande pour installer les logiciels nécéssaires : .. code-block:: powershell choco install dotnet-5.0-sdk pandoc python3 typora visualstudio2019community vscode-insiders git strawberryperl miktex Documentation ------------- Sphinx ^^^^^^ J'ai suivis `ce guide `_ pour mettre en place la documentation pour la première fois. Afin de pouvoir compiler la documentation pour voir les modifications, il faut installer des dépendances ``Python`` qui se trouvent dans le fichier ``docs/requirements.txt``. Python à déjà été installé par la commande précédente. Pour installer les dépendances python, utilisez cette commande dans le dossier docs : .. code-block:: bash pip3 install -r requirements.txt Il est maintenant possible de compiler la documentation. Sur bash : .. code-block:: bash make html Sur Windows : .. code-block:: powershell ./make.bat html Pour ce qui est de la page ``readthedocs``, elle se met à jour à chaque push sur le git. .. figure:: ./img/docRtd.png :alt: Documentation visible sur readthedocs.org. :scale: 60% :align: center Documentation visible sur readthedocs.org. Doxygen ^^^^^^^ Afin de pouvoir voir la documentation de mon code source sans avoir à l'ouvrir, j'ai décidé d'utiliser Doxygen. Bien que ce programme permette de créer une documentation au format ``HTML``, je voulais un moyen d'y intégrer dans ma documentation existante afin de pouvoir y accéder sur ``readthedocs``. J'ai donc utilisé un programme qui s'appelle `Doxyrest `_. Il permet de prendre la documentation au format ``XML`` générée par ``Doxygen`` et de la convertir au format ``reStructuredText`` que ma documentation utilise. Afin de rendre la compilation de tout ça, j'ai créé un script que je peux lancer quand je veux mettre à jour ma doc. .. code-block:: batch @REM updt-doxy.bat @REM Met a jour les fichiers Doxygen cd .. doxygen .\Doxyfile cd docs @REM Les convertis en reStructuredText .\doxyrest\bin\doxyrest.exe -c .\doxyrest-config.lua J'ai également organisé les fichiers sources de ma doc afin de rendre tout cela possible. Les documents ``rst`` que j'écris se trouvent dans un dossier ``src`` qui se trouve dans le dossier ``docs``. Dans ce dossier ``rst``, se trouve un sous-dossier, ``doxyrest`` qui contient la documentation Doxygen. J'ai ensuite ajouté le fichier qui contient la doc dans mon ``toctree`` qui se trouve dans le fichier ``index.rst`` comme ceci : .. code-block:: reStructuredText .. toctree:: :maxdepth: 3 :numbered: :caption: Table des matières intro cdc organisation technologies envDev doxyrest/doxyrest J'ai également changé le ``Makefile`` par défaut afin qu'il compile dans le dossier ``src`` et non dans le dossier ``docs`` en ajoutant cette ligne : .. code-block:: batch set SOURCEDIR=./src LaTeX ^^^^^ Sphinx permet d'exporter son document en LaTeX, ce qui permet ensuite de le compiler en PDF. Ce PDF est également téléchargeable directement sur readthedocs en cliquant sur ce bouton : .. figure:: ./img/dowloadReadthedoc.png :alt: Bouton du menu de readthedocs. :align: center Bouton du menu de readthedocs. .. figure:: ./img/downloadPdfRTD.png :alt: Menu de readthedocs avec téléchargement en PDF. :align: center Menu de readthedocs avec téléchargement en PDF. Il est possible de compiler ce PDF en local avec ces commandes : .. code-block:: bash # in docs/ folder make latex cd _build/latex make