Académique Documents
Professionnel Documents
Culture Documents
Doxygen
Ce TP est une initiation à doxygen. Doxygen est un logiciel qui permet de générer la
documentation d’un code à partir du code lui-même. Des commentaires spéciaux
permettent de générer plus finement cette documentation. La documentation générée par
doxygen est destinée à d’autres développeurs, et non aux utilisateurs finaux du logiciel.
Une fois les paramètres entrés, enregistrez le fichier de configuration (File / Save) et lancez
la génération de l’aide en cliquant sur ‘Run doxygen’ dans l’onglet ‘Run’
Une fois la génération terminée, vous pouvez voir le résultat en cliquant sur ‘Show HTML
Output’ ou en ouvrant le fichier ./doc/html/index.html dans un navigateur web.
Paramètres du projet :
Dans OUTPUT_LANGUAGE, spécifiez ‘French’.
Paramètre de génération :
Cochez EXTRACT_PRIVATE et EXTRACT_STATIC afin que les membres privés et
statiques soient inclus dans la documentation.
Paramètres d’entrée :
Vous avez la possibilité d’exclure des fichiers et/ou répertoires sources de la génération.
Par exemple, dans le cas d’un projet réalisé avec Qt, les répertoires GeneratedFiles et
intermédiaires x64 devraient être exclus de façon à ne pas documenter du code source
spécifique à Qt. Dans la liste EXCLUDE, rajoutez ces deux répertoires.
Lorsque des images sont à insérer dans le fichier de documentation, le(s) répertoire(s) de
stockage des images doi(ven)t être spécifié(s) à doxygen. Dans le cas de LAPIN, des images
sont insérées dans la page principale de l’aide, et se trouvent dans le répertoire des
sources. Aouter donc le répertoire courant ‘.’ A la liste IMAGE_PATH.
Paramètres de sortie HTML
De nombreux paramètres permettent de personnaliser l’affichage de l’aide en HTML. Par
exemple, vous pouvez spécifier un en-tête et un pied de page personnalisé pour chacune
de vos pages HTML, ou changer la feuille de style par défaut de doxygen. Pour ce TP, on
se contentera de cocher l’option HTML_DYNAMIC_SECTION, permettant de rendre
l’affichage de certaines sections des pages HTML interactif.
Pour déterminer quels commentaires sont de la documentation, doxygen repère les lignes de
commentaires qui commencent par //! ou par /*! :
Pour mettre en forme la documentation, doxygen repère dans ces blocs des commandes qui
commencent par le caractère ‘\’. Par exemple la commande \file permet d’ajouter un commentaire
portant sur tout le fichier. La liste de ces commandes est disponible dans l’aide en ligne de doxygen
(Démarrer / Doxygen / Doxygen documentation → section « special commands »)
//////////////////////////////////////////////////////////////////////
//! \file Nom_du_fichier
//!
//! \brief Présentation briève du fichier
//!
//! Présentation détaillée du fichier
//!
//! \date date de modification du fichier
//! \version version du fichier
//////////////////////////////////////////////////////////////////////
Pour chaque classe déclarée dans le code source de LAPIN (classes LAPIN, QLAPINImage et
QLAPINThreshold) :
Avant la déclaration de la classe, ajoutez un bloc de commentaire de documentation de
la forme :
//////////////////////////////////////////////////////////////////////
//! \class nom de la classe
//!
//! \brief Description briève de la classe
//!
//! \author Auteur principal de cette classe
//! \date Date de création de la classe
//! \version Version de la classe
//!
//! Description détaillée de la classe
//////////////////////////////////////////////////////////////////////
Pour chaque donnée et fonction membre déclarée dans le code source de LAPIN (fichiers .h) :
Avant chaque fonction membre définie dans le code source de LAPIN (fichiers .cpp) :
//////////////////////////////////////////////////////////////////////
//! \author Nom de l’auteur de la fonction
//! \date Date de dernière modification
//!
//! \param NomParamètre Description du paramètre (à faire pour chacun)
//!
//! \return (éventuellement) Description de la valeur de sortie
//! \throw (éventuellement) Description des exceptions possible
//!
//! Description détaillée de la fonction
//////////////////////////////////////////////////////////////////////