DOXYGEN
1. Qu'est ce que Doxygen ?
Doxygen est un système de documentation pour C++, C, Java, Objective-C, Python, IDL et dans une certaine mesure qui peut être utilisé pour des langages comme PHP, C#, et D.
Doxygen permet notamment de générer une documentation au format HTML ou LaTeX à partir d'un ensemble de fichiers sources.
La documentation officielle concernant Doxygen se trouve sur le site suivant.
2. Comment utiliser Doxygen ?
On peut utiliser Doxygen de deux manières différentes :
- soit en ligne de commande (cas traité ici)
- soit en utilisant l'interface graphique Doxygen wizard (voir le document de Hugo Etiévant
2.1 préparation des sources
En C++, Il faut placer des commentaires devant chaque attribut et chaque méthode, comme suit :
#ifndef PERSONNE_H
#define PERSONNE_H
#include <iostream>
#include <string>
using namespace std;
/**
* une Personne est definie par
* - son nom de famille
* - sa ville de residence
* - son annee de naissance
*/
class Personne {
protected:
/**
* nom de famille
*/
string nom;
/**
* ville de résidence
*/
string ville;
/**
* année de naissance
*/
int annee;
public:
/**
* constructeur par defaut
*/
Personne();
/**
* constructeur avec donnees
* @param s nom de famille
* @param v ville de residence
* @param an annee de naissance
*/
Personne(char *s, char *v, int an);
/**
* destructeur
*/
virtual ~Personne() {}
/**
* retourne le nom de la personne
* @return nom
*/
string get_nom() { return nom; }
/**
* retourne la ville de residence
* @return ville de residence
*/
string get_ville() { return ville; }
/**
* retourne l'annee de naissance
* @return annee de naissance
*/
int get_annee() { return annee; }
/**
* methode virtuelle pour affichage
* @param out ostream&
*/
virtual void afficher(ostream& out);
/**
* operateur de redirection
*/
friend ostream& operator<<(ostream& out, Personne& p);
};
#endif
2.2 génération d'un fichier de configuration
La première étape consiste à générer un fichier de configuration :
doxygen -g mon_fichier_de_config
On édite ensuite le fichier de configuration avec un éditeur de texte pour modifier les paramètres principaux :
-
PROJECT_NAME : nom du projet qui regroupe les sources
-
PROJET_NUMBER : version du projet
-
OUTPUT_DIRECTORY : répertoire destination, si cette variable est laissée à vide, la documentation sera générée dans le réperoire courant
-
INPUT : répertoires des sources séparés par des espaces
-
FILE_PATTERNS : liste des fichiers sources à considérer
-
GENERATE_LATEX : indique si on doit générer une documentation au format LaTeX
-
OUTPUT_LANGUAGE : langue utilisée pour la documentation (English, French, German, ...)
Exemple de fichie de configuration modifié :
PROJECT_NAME = TP1
PROJECT_NUMBER = 1.0
OUTPUT_DIRECTORY =
OUTPUT_LANGUAGE = French
INPUT = /home/richer/gl/tp1/
FILE_PATTERNS = *.h *.cpp
2.3 génération de la documentation
Pour générer la documentation il suffit de taper :
doxygen mon_fichier_de_config
Un répertoire html est alors généré qui contient la documentation des classes. Si on a choisi de générer du LaTeX, un répertoire latex sera également créé.
2.4 exemple
Voir l'exemple du TP1 du cours de Génie Logiciel.
|