Doxygen

Doxygen
Description de l'image Doxygen.svg.
Description de l'image Doxygen-1.8.1.png.
Informations
Développé par Dimitri van Heesch et contributeurs
Première version
Dernière version 1.18.0 ()Voir et modifier les données sur Wikidata
Dépôt github.com/doxygen/doxygenVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en C++Voir et modifier les données sur Wikidata
Interface QtVoir et modifier les données sur Wikidata
Système d'exploitation Système d'exploitation Mac, Microsoft Windows et type UnixVoir et modifier les données sur Wikidata
Langues anglais
Type Générateur de documentationVoir et modifier les données sur Wikidata
Politique de distribution gratuiciel
Licence Licence publique générale GNU version 2Voir et modifier les données sur Wikidata
Site web www.doxygen.orgVoir et modifier les données sur Wikidata

Doxygen est un générateur de documentation sous licence libre capable de produire une documentation logicielle à partir du code source d'un programme. Pour cela, il tient compte de la syntaxe du langage dans lequel est écrit le code source, ainsi que des commentaires s'ils sont écrits dans un format particulier.

Le code de Doxygen a été écrit en grande partie par Dimitri van Heesch.

Présentation

Doxygen est la contraction de « dox » (« docs », abréviation anglaise de « documents ») et de « gen » (« generator »), « générateur de documentation ».

Doxygen peut analyser des fichiers sources écrits dans les langages C, Objective C, C#, PHP, C++, Java, Python, IDL, Fortran, VHDL, Tcl et dans une certaine mesure D.

La documentation peut être produite dans les formats suivants : HTML (compressé ou non), LaTeX, RTF, PostScript, PDF avec hyperliens, et XML.

Intérêt

En intégrant la documentation au code source, Doxygen favorise la cohérence entre documentation et code. Il incite aussi les développeurs à documenter leur code.

Il est également possible d'extraire de la documentation à partir d’un code source non documenté au préalable, ce qui peut faciliter la compréhension d'un programme dont le code est compliqué.

De nombreux projets, tels que KDE, utilisent Doxygen pour générer la documentation de leur API. KDevelop intègre le support de Doxygen. De nombreux éditeurs de texte proposent des modes ou des scripts pour faciliter l'écriture des commentaires Doxygen et la génération de la documentation.

Les informations suivantes peuvent être extraites des sources :

Exemple

Le code ci-dessous illustre la manière dont Doxygen permet de documenter le code.

/**
* La classe Time représente un instant.
* @author Paul Hochon
*/
class Time {

    /**
    * Constructeur.
    * Fixe l'instant à une valeur précise.
    * @param timemillis Millisecondes écoulées depuis le 1er janvier 1970
    */
    Time(int timemillis) {
        ...
    }

    /**
    * Récupère l'instant actuel.
    * @return Un instant correspondant à l'instant présent
    */
    static Time now() {
        ...
    }
}

Les commentaires du langage cible (ici Java) sont spécialisés pour indiquer à Doxygen qu'il doit les prendre en compte. Ainsi, les commentaires commencent avec /** plutôt que /*. Des balises spécifiques à l'intérieur de ces commentaires sont également interprétées par Doxygen (par exemple : @param).

Dans cet exemple, la rédaction des commentaires utilise le format Javadoc, avec lequel Doxygen est compatible. Doxygen propose son propre format, qui est fonctionnellement équivalent.

Les tags les plus utilisés (par ordre alphabétique)

Ci-dessous, la liste des tags les plus utilisés.

Plate-forme

Doxygen est écrit sous Linux et Mac OS, avec un souci affiché de portabilité. Il fonctionne sur la plupart des systèmes Unix et il est disponible en version exécutable sur Microsoft Windows.

DoxyWizard

DoxyWizard est une interface graphique permettant de configurer les options de génération de Doxygen et de lancer l'extraction de la documentation. Comme Doxygen, il est disponible sur différentes plates-formes.

Licence

Doxygen est publié sous licence GPL.

Notes et références

  1. ↑ « Release 1.18.0 », (consulté le )
  2. 1 2 « Doxygen: Features », sur www.doxygen.nl (consulté le )
  3. ↑ « Doxygen: Overview », sur www.doxygen.nl (consulté le ).
  4. ↑ « Doxygen: Doxygen usage », sur www.doxygen.nl (consulté le )
  5. ↑ « Doxygen: Doxywizard usage », sur www.doxygen.nl (consulté le )

Voir aussi

Liens externes