{{tag>Jammy programmation java}}
----
{{ :doxygen.png?150}}
======= Doxygen ======
**Doxygen** est un système de documentation pour C, C++, Java, Python, Php et autres langages. Il permet de générer la documentation de vos développements :
* à partir des commentaires insérés dans le code source
* à défaut de commentaires, à partir de la structure du code lui même. La documentation générée sera dans ce cas minimale.
La documentation peut être produite dans des formats variés tels que du HTML, du [[Latex]], du RTF ou du XML.
Doxygen est un logiciel libre, publié sous licence GPL V2.0.
===== Installation =====
* [[:tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>doxygen,doxygen-gui,doxygen-doc|doxygen doxygen-gui doxygen-doc]]**.
===== Utilisation =====
==== Interface graphique ====
Ouvrez un terminal et entrez la commande suivante :
doxywizard
il ne vous reste plus qu'à [[:raccourci-lanceur|créer un raccourci]] avec cette commande.
Le bouton wizard vous permet
* de créer votre projet
* de sélectionner le dossier contenant les sources ou celui accueillant votre documentation
* de sélectionner le format de sortie : HTML avec ou sans frames, [[Latex]], RTF, pages man, XML, PDF, Postscript.
* de générer des diagrammes
Le bouton Expert vous permet d'accéder aux options avancées.
Le boutons Save vous permet de sauvegarder votre projet de documentation, après configuration.
Il ne vous reste alors plus qu'à cliquer sur Run pour obtenir le résultat. Libre à vous ensuite d'aller personnaliser votre [[Latex]] ou d'associer votre CSS à la documentation générée.
==== En ligne de commande ====
Il est conseillé de commencer avec le wizard, au moins à fin de créer votre //DoxyFile// (que vous pouvez nommer comme vous le souhaitez).
Ensuite, il suffit de lancer:
doxygen DoxyFile
===== Extensions =====
Pour intégrer des graphes de classe, de collaboration... doxygen donne accès, en mode //wizard// à un onglet //diagram//, et en mode //expert// aux paramètres //DOT// qui permet d'utiliser graphViz pour les générer.\\
[[https://touticphoto.fr/developpement/48-documenter-un-projet-avec-graphes-avec-doxygen-et-graphviz|Article pour aller plus loin]]
===== Liens =====
* **(en)** Page officielle de [[https://www.doxygen.nl/index.html|Doxygen]]
* **(en)** Tous les [[https://www.doxygen.nl/manual/output.html|formats de sortie]] possibles
* **(en)** [[https://www.doxygen.nl/results.html|Quelques exemples]] de documentation générés à partir de Doxygen
* **(en)** La longue liste des [[https://www.doxygen.nl/projects.html|projets connus]] utilisant Doxygen
-----
//Contributeurs : [[utilisateurs:poupoul2]], [[utilisateurs:bcag2]]//