Poum - Mot-clé - outil libreDe la qualité logicielle, méthodes agiles et outils logiciels libres ...2023-08-25T16:53:12+01:00Poumurn:md5:6b5c625a812aff31ffa1cd1f3648e14bDotclearSortie de Doxygen 1.8.0urn:md5:27a4a0c1114b35643b387c5c21277c9d2012-02-26T11:33:00+01:002012-10-19T18:46:54+02:00PoumNouvelles versionsCCorbaDdiagrammes d héritagediagrammes de collaborationDimitri van HeeshdocumentationDoxygenFortranGNU General Public LicenseGNU GPLgraphiques de dépendancesHTMLIDLJavaJenkinsLaTeXman pagesMavenObjective-Coutil librePDFPHPpluginsPostScriptPythonRTFSonarQubeVHDL<p><img src="http://philippe.poumaroux.free.fr/public/doxygen.png" alt="Doxygen" title="Doxygen, fév. 2012" /></p>
<p>La version 1.8.0 de <a href="http://philippe.poumaroux.free.fr/index.php?tag/Doxygen">Doxygen</a> est sortie le 25 février 2012. Cet <a href="http://philippe.poumaroux.free.fr/index.php?tag/outil%20libre">outil libre</a> développé par <a href="http://philippe.poumaroux.free.fr/index.php?tag/Dimitri%20van%20Heesh">Dimitri van Heesh</a> permet de générer la <a href="http://philippe.poumaroux.free.fr/index.php?tag/documentation">documentation</a> technique à partir du code source, et ce pour les langages suivants: <a href="http://philippe.poumaroux.free.fr/index.php?tag/C">C++</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/C">C</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/Java">Java</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/Objective-C">Objective-C</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/Python">Python</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/IDL">IDL</a> (pour <a href="http://philippe.poumaroux.free.fr/index.php?tag/Corba">Corba</a> et Microsoft), <a href="http://philippe.poumaroux.free.fr/index.php?tag/Fortran">Fortran</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/VHDL">VHDL</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/PHP">PHP</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/C">C#</a> ainsi que <a href="http://philippe.poumaroux.free.fr/index.php?tag/D">D</a> jusqu'à un certain point.</p>
<p>Doxygen permet de générer un navigateur de documentation en ligne (en <a href="http://philippe.poumaroux.free.fr/index.php?tag/HTML">HTML</a>) et/ou des manuels de référence à consulter hors ligne (en <a href="http://philippe.poumaroux.free.fr/index.php?tag/LaTeX">LaTeX</a>, donc avec une qualité remarquable) à partir d'un ensemble de fichiers de code source documenté. Sont également gérés les formats de sortie <a href="http://philippe.poumaroux.free.fr/index.php?tag/RTF">RTF</a> (MS-Word), <a href="http://philippe.poumaroux.free.fr/index.php?tag/PostScript">PostScript</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/PDF">PDF</a> avec hyperliens, HTML compressé et <a href="http://philippe.poumaroux.free.fr/index.php?tag/man%20page">man pages</a> Unix. La documentation est extraite directement depuis le code source, ce qui facilite de maintenir le code et la documentation synchronisés.</p>
<p>Il est possible de configurer Doxygen pour extraire la structure de code de fichiers sources non documentés. Ceci est très utile pour vous y retrouver rapidement dans un grand volume de code source. Vous pouvez également visualiser les relations entre les différents éléments grâce des <a href="http://philippe.poumaroux.free.fr/index.php?tag/graphiques%20de%20d%C3%A9pendances">graphiques de dépendances</a> d'inclusion, des <a href="http://philippe.poumaroux.free.fr/index.php?tag/diagrammes%20d%20h%C3%A9ritage">diagrammes d'héritage</a> et des <a href="http://philippe.poumaroux.free.fr/index.php?tag/diagrammes%20de%20collaboration">diagrammes de collaboration</a> qui sont tous générés automatiquement.</p>
<p>Enfin, il est également possible d'utiliser Doxygen pour créer une documentation classique (comme Dimitri van Heesh l'a fait pour la documentation de Doxygen).</p>
<p>Doxygen fonctionne sur la plupart des Unix (dont Linux et Mac OS X sur lesquels il est développé) et des exécutables pour Windows sont également disponibles. Doxygen est sous licence <a href="http://philippe.poumaroux.free.fr/index.php?tag/GNU%20General%20Public%20License">GNU General Public License</a>. En revanche, les documents produit par Doxygen sont considérés comme travail dérivé de celui effectué pour produire les fichiers en entrée. Ils ne sont donc pas affectés par la license <a href="http://philippe.poumaroux.free.fr/index.php?tag/GNU%20GPL">GNU GPL</a>.</p>
<p>Enfin, il existe des <a href="http://philippe.poumaroux.free.fr/index.php?tag/plugins">plugins</a> pour <a href="http://philippe.poumaroux.free.fr/index.php?tag/Maven">Maven</a>, <a href="http://philippe.poumaroux.free.fr/index.php?tag/Jenkins">Jenkins</a> et <a href="http://philippe.poumaroux.free.fr/index.php?tag/Sonar">Sonar</a>:</p>
<ul>
<li>le <a href="http://site.supose.org/doxygen-maven-plugin/" hreflang="en" title="Plugin Maven">plugin Maven</a></li>
<li>le <a href="https://wiki.jenkins-ci.org/display/JENKINS/Doxygen+Plugin" hreflang="en" title="Plugin Jenkins pour Doxygen">plugin Jenkins</a></li>
<li>le <a href="http://docs.codehaus.org/display/SONAR/Doxygen+Plugin" hreflang="en" title="Le plugin Sonar">plugin Sonar</a></li>
</ul>
<p>Sur le <a href="http://www.stack.nl/~dimitri/doxygen/index.html" hreflang="en" title="Site Doxygen">site Doxygen</a>, vous pourrez <a href="http://www.stack.nl/~dimitri/doxygen/manual.html" hreflang="en" title="Manuel Doxygen">voir le manuel</a> ou <a href="http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc" hreflang="en" title="Dernière version de Doxygen">télécharger la dernière version</a>.</p> <p>Voici ce que cette version apporte (<a href="http://www.stack.nl/~dimitri/doxygen/changelog.html" hreflang="en" title="Changelog Doxygen">traduction du changelog</a>):</p>
<h2>Modifications</h2>
<ul>
<li>Les éléments de liste automatique peuvent maintenant contenir plusieurs paragraphes. L'indentation de la première ligne d'un nouveau paragraphe détermine à quelle élément de liste le paragraphe appartient ou s'il termine la liste.</li>
<li>Quand UML_LOOK est activé, les relations montrées sur les bords d'un graphe ne sont pas affichés comme des attributs (conformes à la notation UML)</li>
<li>Mise à jour du manuel et amélioration de l'aspect.</li>
<li>Rend le contenu de l'arbre de navigation plus cohérent pour les groupes, les pages avec les sous-pages et les sous-pages groupées.</li>
<li>id 669079: Latex: l'agencement des marges des pages LaTex réduite grâce à l'utilisation du paquet geometry.</li>
<li>L'outil doxytag est déclaré obsolète et a été supprimé (de toute façon, il ne fonctionnait plus correctement). Même sort pour le script installdox.</li>
<li>Mise à jour à 2012 pour le copyright dans le code source et dans l'écran "à propos" du doxywizard.</li>
<li>id 668008: La version HTML du manuel active maintenant la vue arborescente pour faciliter la navigation.</li>
</ul>
<h2>Nouvelles fonctionnalités</h2>
<ul>
<li>Ajout de la gestion du formatage Markdown. Il est activé par défaut, mais peut être désactivé en positionnant MARKDOWN_SUPPORT à NO. Quand il est activé, ce qui suit est traité différemment:
<ul>
<li>les tabulations sont converties en espace conformément à TAB_SIZE</li>
<li>les blocs de citation sont créés pour les lignes qui commencent par un ou plusieurs > (le nombre de > indique le niveau d'indentation)</li>
<li>mise en évidence en utilisant *mettre ceci en évidence* ou _mettre ceci en évidence_ ou la mise en évidence renforcée avec **mettre ceci encore plus en évidence**. Contrairement au Markdown classique, 'un identificateur formidable' n'est pas modifié.</li>
<li>des éléments de code peuvent être créés en utilisant les quotes inverses, par exemple `voici un exemple`</li>
<li>utiliser 3 - ou plus ou des * seuls sur une ligne avec seulement des espaces produira une ligne de séparation horizontale</li>
<li>un en-tête peut être créé en mettant un ===== (pour h1) ou <del></del>- (pour h2) sur la ligne suivante ou en utilisant 1 à 6 # au début de la ligne pour h1-h6.</li>
<li>les éléments de liste automatique peuvent également commencer avec + ou * au lieu de -</li>
<li>les listes ordonnées peuvent être faites en utilisant des étiquettes 1.2. ...</li>
<li>les blocs littéraux peuvent être produits en indentant 4 espaces additionnels. Notez que doxygen utilise une identation relative de 4 espaces, pas une indentation absolue comme le fait Markdown.</li>
<li>Style Markdown pour les hyperliens et les références d'hyperliens.</li>
<li>Des tables simples peuvent être créées en utilisant le format Markdown Extra</li>
<li>Les blocs de code délimités sont également gérés, en incluant le choix du langage.</li>
<li>Les fichiers avec l'extension .md ou .markdown sont convertis en pages correspondantes</li>
</ul></li>
<li>Voir la section relative à la prise en charge de Markdown dans le manuel pour plus de détails</li>
<li>Il est maintenant possible d'ajouter des tabulations ou des groupes de tabulation définis par les utilisateurs en utilisant le fichier d'agencement (voir la section du manuel concernant la personnalisation du rendu pour plus de détails).</li>
<li>Ajout de la nouvelle commande \tableofcontents (ou <a href="http://philippe.poumaroux.free.fr/index.php?post/2012/02/26/TOC" title="TOC">TOC</a> si vous préférez Markdown) qui peut être utilisée dans une page liée avec des sections pour produire une table des matières au début de la page HTML (pour les autres formats, cette commande n'a aucune effet).</li>
<li>Quand on utilise des images SVG et que INTERACTIVE_SVG est activé, une icone d'impression sera visible dans les commandes de navigation pour faciliter l'impression d'une partie du graphique qui est visible sur l'écran.</li>
<li>Ajout de l'obfuscation des adresses email pour la sortie HTML pour rendre la collecte d'email plus difficile.</li>
<li>Ajout la cible de build pour Windows 64 bits (merci à Vladimir Simonov). Le script d'installation est également mis à jour pour installer une version 64 bits de doxygen sur un système 64 bits et une version 32 bits sur un système 32 bits.</li>
<li>Ajout de la gestion de l'utilisation du tag HTML <blockquote> dans les commentaires.</li>
<li>Inclusion du patch de Gauthier Haderer qui corrige certaines erreurs avec le parseur XML dbus.</li>
<li>Ajout de la gestion du style Markdown des blocs de code délimités.</li>
<li>Ajout de l'option à la commande @code pour forcer le parsing et la coloration syntaxique conformément à un langage donné.</li>
<li>Les sections des pages sont maintenant ajoutées à l'index de navigation.</li>
<li>Ajout de la prise en charge de l'alignement des cellules et de l'ombrage des en-têtes de table pour les formats LaTeX et RTF.</li>
<li>Ajout de l'option -d filtredesortie pour afficher la sortie d'un filtre d'entrée (merci à Albert pour le patch).</li>
<li>id 668010: Latex: pour Windows, doxygen génère maintenant un fichier makepdf.bat dans le répertoire de sortie latex pour créer la documentation latex.</li>
</ul>
<h2>Correction de bugs (les identifiants sont ceux de la base de données Bugzilla)</h2>
<ul>
<li>id 498703: correction du problème d'encodage pour les fichiers d'index XHM pour les titres de groupe.</li>
<li>id 510975: FORTRAN: Mots clefs comme .GT. reconnus comme des symboles pour les références croisées.</li>
<li>id 511906, 581303, 622749: \copydoc ne copie pas la description résumée dans la section détaillée, provoquant une différence entre l'original et la copie.</li>
<li>id 555327: Utiliser @ref pour un fichier d'exemple, le faisait apparaître comme file::ext.</li>
<li>id 567494: Fortran: Inclusion du patch pour les sous-programmes de blocs de données.</li>
<li>id 628417: Fortran: filtre doxygen, forme corrigée de pré-analyse de null</li>
<li>id 662286: TCL: Inclusion d'un patch pour corriger la gestion de UTF-8.</li>
<li>id 662289: TCL: Inclusion d'un patch pour empêcher ##### d'apparaître dans la sortie.</li>
<li>id 646319: Utiliser un nom de fichier avec le chemin pour HTML_STYLESHEET faisait que le chemin apparaissait dans la sortie HTML.</li>
<li>id 664826: Correction d'un problème de plus avec la détection de protection des inclusions.</li>
<li>id 665629: Correction d'un problème d'analyse quand un #define apparaît dans une enum.</li>
<li>id 665855: Correction du problème d'analyse de spécialisation de canevas C++ de la forme A<func(T*)> tels qu'utilisés dans les types boost::signal2.</li>
<li>id 666047: Un </p> suivi d'une section \htmlonly..\endhtmlonly provoque une sortie incorrecte XHTML.</li>
<li>id 666085: Correction de la gestion d'inclusion dans le cas où la protection d'inclusion a été documentée.</li>
<li>id 666124: Correction du problème de chargement de l'arbre de navigation dans IE8 quand les pages sont servies par un serveur web.</li>
<li>id 666337: Inclusion d'un patch pour éviter les problèmes d'hyphénation devant la première capitale d'un mot.</li>
<li>id 666568: Quand SHOW_FILES était à NO, une fonction groupée n'apparaissait pas dans l'index de recherche basé sur javascript.</li>
<li>id 666909: \copybrief introduisait des espaces superflus dans la sortie HTML.</li>
<li>id 666986: Correction du cas où le code spécifique du moteur de recherche apparaissait deux fois dans la sortie HTML.</li>
<li>id 666993: Correction du bug dans le makefile généré faisant que l'index n'était pas généré en utilisant pdflatex.</li>
<li>id 667020: la sortie HTML pour les pages d'exemple était mal formé.</li>
<li>id 667192: Les instructions d'inclusion dans la sortie LaTeX sont placées toutes sur la même ligne dans la sortie LaTeX.</li>
<li>id 667835: PHP: Correction du problème de gestion des blocs heredoc</li>
<li>id 667844: Pour les alias avec un unique argument, il n'est désormais plus obligatoire pour échapper les virgules qui apparaissentà l(intérieur d'un argument texte.</li>
<li>id 668037: Latex: les tables peuvent maintenant s'étendre sur plusieurs pages en utilisant le paquet xtab package.</li>
<li>id 668218: Doxygen va ignorer le préfixe commun partagé par tous les répertoires lors du calcul du nom pour les fichiers de sortie des répertoires. Ceci rend le nom des sorties plus stables.</li>
<li>id 668519: Ajout des sauts de ligne manquant dans la sortie des pages de manuel.</li>
<li>id 669071, 669072: Correction d'un problème d'analyse pour la Q_PROPERTY quand un canevas avec un type utilisant un espace de nom a été utilisé.</li>
<li>id 669078: Inclusion d'un patch qui change MATHJAX_RELPATH pour utiliser le réseau de fourniture de contenu par défaut.</li>
<li>id 669138: Fortran: Correction du problème de gestion des instructions de définition multiple sur une seule ligne.</li>
<li>id 669406: Utiliser -d Préprocesseur fonctionne maintenant aussi quand QUIET est à YES.</li>
<li>id 669434: Latex: les citations n'étaient correctement générées que si les fichiers bib spécifiés par CITE_BIB_FILES n'avait pas de chemin d'accès.</li>
<li>id 669758: Tcl: Une même fonction dans plusieurs espaces de noms Tcl n'étaient pas ajoutés.</li>
<li>id 670289: Correction du cas où doxygen ne détectait pas correctement >> comme la fin d'un template imbriqué.</li>
<li>id 670571: les sous-pages généraient des pages vides dans les sorties latex/rtf output et des liens cassés quand SHORT_NAME était fixé à YES.</li>
<li>Inclusion de corrections VHDL fournies par Martin Kreis.</li>
<li>Le mot "dummy" apparaît à tort avant le type du premier paramètre dans la sortie LaTeX pour une méthode Objective-C.</li>
<li>Correction de plusieurs petits problèmes dans le code javascript de vue arborescente.</li>
<li>Inclusion d'un patch de Vladimir Simonov pour permettre la compilation de doxygen avec Visual Studio 2005.</li>
<li>Correction de fautes de frappe dans le manuel (merci Albert).</li>
</ul>