Doxygen

Fiche logiciel validé
  • Création ou MAJ importante : 08/01/14
  • Correction mineure : 08/01/14
  • Rédacteur de la fiche : Martial Mancip - Maison de la Simulation (CNRS)
  • Relecteur(s) : Dirk Hoffmann (Centre de Physique des Particules de Marseille (CPPM-IN2P3))
    Florent Langrognet (Laboratoire de Mathématiques de Besancon)
  • Responsable thématique : C FC (Inria)
Mots-clés
Pour aller plus loin
  • Fiches logiciel PLUME connexes : LaTeX

Doxygen : Doxygen est un système de génération de documentation à partir du code source

Description
Fonctionnalités générales

Doxygen permet de créer des documentations à partir du code source sous différents formats qui vont du site web très interactif au document pdf (mais aussi LaTeX, XML, RTF, Man pages, ...).
La documentation est générée à partir de la syntaxe et de la grammaire du langage (classe, fonctions, ...) et peut être complétée par des informations (balises) insérées sous forme de commentaires interprétables par Doxygen (ex : /** ..**/)
Il accepte, entre autres, comme source les langages C++, C, Objective-C, C#, PHP, Java, Python, IDL, Fortran, VHDL, Tcl et peut-être étendu à d'autres langages non supportés nativement.

Autres fonctionnalités

Des sémaphores adaptées au langage ('!!', '///' ou '/**') permettent à Doxygen de repérer des informations à rajouter à la documentation, notamment à l'aide de mot-clés (@call @version, @author, @see, \brief, \laxtexonly ... \endlatexonly) pour spécifier les caractéristiques d'un module, un objet, une fonction, introduire des formules, etc...
On peut écrire des formules en TeX directement dans les fichiers source (par exemple pour les unités des variables en paramètres), mais aussi inclure des fichiers LaTeX pour rajouter de la documentation dans le guide de l'utilisateur (avec \input{my_doc_file.tex}).
Les fichiers d'en-tête à la production du site web ou au fichier pdf (via LaTeX) de la documentation sont modifiables, ce qui permet de faire ces propres présentations de la documentation.
Doxygen est intégré à certains IDE ( eclipse).
Doxygen peut s'utiliser en ligne de commande ou via Doxywizard (une interface graphique pour Doxygen).
En ligne de commande, il peut être paramétré avec :

  • un fichier de configuration (Doxyfile) regroupant les options, les préférences
  • un fichier 'layout' pour personnaliser plus finement les sorties
Interopérabilité

Les formats de sorties sont HTML, LATEX, MAN, RTF, XML, DOCBOOOK, Compiled HTML Help, Qt Compressed Help, Eclipse Help, XCode DocSets, PostScript et PDF.
On pourra également générer un module PERL qui contiendra la structure du logiciel.
Enfin, on peut lier plusieurs documentations par en générant des fichiers TAGFILE.

Contexte d'utilisation dans mon laboratoire/service

C'est un excellent outil de documentation, qui permet de faire communiquer les développeurs d'outils de calcul scientifique
et de construire la documentation utilisateur et développeur en même temps. Cette documentation peut être versionnée et suivre alors l'évolution du code.

Limitations, difficultés, fonctionnalités importantes non couvertes

La prise en compte du Fortran est assez pauvre.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Très nombreuses : Debian, Ubuntu, Fedora, MacPorts, etc.

Logiciels connexes
  • Doxywizard (interface graphique pour Doxygen)
  • graphviz
  • LaTeX
  • browser
  • mathjax
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Listes de discussion "annonces", "développeurs", "projets" et "utilisateurs : http://sourceforge.net/p/doxygen/mailman/

Documentation utilisateur
Divers (astuces, actualités, sécurité)