Sonar 2.13 est disponible

Posté par  (site web personnel, Mastodon) . Édité par Lucas Bonnet, Nÿco, Mouns et baud123. Modéré par Lucas Bonnet. Licence CC By‑SA.
25
27
jan.
2012
Java

Sonar, l'outil d'analyse de la qualité du code source que l'on ne présente (presque) plus désormais, vient de sortir sa nouvelle version, comme toutes les 6 semaines ou presque.
Logo Sonar

La version complètement Open Source (LGPL v3) permet d'analyser du Java, PHP, Groovy, C#, Flex/ActionScript et du Javascript et fournir les résultats détaillés et agrégés dans un portail web contenant des tableaux de bords essentiellement techniques. Il s'intègre assez naturellement avec les outils d'intégration continue.

Les nouveautés sont détaillées dans la seconde partie. Vous pouvez tester par vous même sur l'instance publique de Sonar.

Modelio, un AGL UML propriétaire passe en GPL

Posté par  . Modéré par baud123. Licence CC By‑SA.
29
20
oct.
2011
Technologie

Les outils de modélisation libres sont rares, et la plupart offrent peu de fonctionnalités. Modelio est au contraire très complet et extensible.

Fruit d’une lignée d’AGL (méthode classe-relation à l’origine) puis d’AGL UML depuis maintenant 15 ans, d’abord Objecteering, puis Modelio depuis quelques années, cet atelier implémente la norme UML 2.0, ainsi que BPMN 2 (modélisation de processus), il dispose également de plusieurs générateurs de code et reverses sur des langages variés, aussi bien le classique Java, que des langages de définitions comme XSD ou WSDL, proposant ainsi un atelier de modélisation très complet.

Il gère en outre les notions de profils et de stéréotypes, permettant d’adapter UML à ses propres besoins, pour ainsi permettre à l’utilisateur d’outiller ses propres concepts plus finement qu’avec UML seul. Certains profils sont normalisés (MARTE pour modéliser des éléments temps réel, SysML pour la modélisation de systèmes), mais il est possible d’en définir de nouveaux pour ses propres besoins.

Cet outil est implémenté en utilisant les technologies issues du projet Eclipse (RCP, JFace, GEF pour les diagrammes) et est disponible sous Windows et GNU/Linux (il y a un cœur C++ sur la gestion d’accès aux données). Si vous êtes courageux, il doit être compilable sous d’autres UNIX sans trop de mal.

Merci à pamoule, baud123 et Floxy pour leur aide lors de la rédaction de cette dépêche.

Sortie de la version 2.11 de Sonar

Posté par  . Modéré par Davy Defaud. Licence CC By‑SA.
Étiquettes :
19
19
oct.
2011
Communauté

Sonar est une plate‐forme libre (sous licence LGPL v3) permettant d’analyser la qualité de code source Java, C#, PHP, ou bien encore Flex. Couplé à des outils de construction (build) ou d’intégration continue comme Maven ou Jenkins (fork de Hudson), Sonar devient alors un outil d’inspection continue (voir le billet en anglais sur le blog Sonar) et informe les développeurs de la qualité de leurs développements à tout moment du projet, à travers des tableaux de bord dédiés.

Sonar 2.11 est donc disponible, et comme mentionné dans une précédente dépêche sur la 2.10, l’outil arrive, entre autres, avec une fonctionnalité très attendue : la détection « inter‐projets » de code source dupliqué. Les autres nouveautés sont dans la seconde partie de la dépêche.

NdM : LinuxFr.org vous propose de réaliser un entretien avec des personnes de l’équipe derrière Sonar. Si vous avez des questions précises, posez‐les dans les commentaires, nous les transmettrons.

Review Board 1.6

34
7
sept.
2011
Technologie

Review Board est une application web libre de revue de code collaborative. Originellement initiée chez VMware, elle est développée en Python/Django, et publiée sous licence MIT. Review Board se repose sur SVN et Git, mais aussi le vénérable CVS, ainsi que Bazaar et Mercurial (et accessoirement les proprios Perforce et ClearCase).

La revue de code étant un des parents pauvres du développement logiciel par son côté rébarbatif, un outil centralisé et collaboratif se révèle bien évidemment très largement supérieur à des méthodes empiriques par courriel et bavardages en ligne éparpillés. De plus, il amène un côté convivial et fun, couplé à un début d’effet social. Si la « sauce » prend dans une équipe de taille moyenne, cela peut beaucoup apporter en termes de qualité de code, entre autres.

La version 1.6 vient d’être publiée et apporte beaucoup de nouveautés : la liste est trop longue pour être détaillée ici. Pour ceux qui ne connaissent pas, jetez un rapide coup d’œil sur les copies d’écran. Review Board permet de gérer les requêtes de revue, les revues en elles‐mêmes, les diffs et les commentaires. En outre, ce logiciel propose un tableau de bord avec statistiques.

Nouvelle version pour Doxygen

Posté par  . Modéré par patrick_g. Licence CC By‑SA.
36
6
sept.
2011
Doc

Doxygen est un générateur de documentation à partir du code source de différents langages. Il est disponible pour les langages suivants : C, C++, C#, Fortran, Java, Objective-C, PHP, Python, IDL, VHDL, TCL et D. Les formats de sorties sont : HTML, LaTeX, RTF, PostScript, PDF (avec les hyperliens), HTML compressé et les pages de manuel Unix.

La liste des utilisateurs est grande, on retrouve KDE, Drupal, DotClear, LLVM, OpenTTD…

Doxygen est compatible avec les conventions de JavaDoc et celles de Qt. Il permet aussi de générer des graphes d’utilisation et d’héritage. Il s’utilise de la manière suivante (exemple en C++) :

/*! Classe d'exemple 
 * @author Xavier Claude
*/
public class Exemple {

    protected:
        /*! la description d'un attribut */
        std::string s;
    public:
        /*! La description d'une classe
         * @param newS la nouvelle valeur de s
         * @return true en cas de succès
         */
         bool setS(std::string newS);
}

Comme cela fait longtemps que les nouvelles versions de Doxygen n’ont pas été évoquées sur LinuxFr.org, un résumé des nouveautés des dernières versions est disponible en deuxième partie. Il y a bien sûr eu, en plus, beaucoup de corrections de bogues et quelques changements de comportement.

Petit éventail des outils de construction (« builder ») libres

Posté par  . Modéré par patrick_g. Licence CC By‑SA.
43
5
sept.
2011
Ligne de commande

Je vous propose dans cette dépêche de revenir sur la panoplie d'outils de construction qui s'offre à nous (c'est à dire les outils permettant d'automatiser les étapes de préprocessing, compilation, éditions des liens, etc).
Je ne cherche pas à faire un comparatif, mais juste à les décrire pour en faire ressortir les avantages et inconvénients ainsi que les cas d'utilisation. Cette dépêche peut être vue comme un état de l'art allégé des outils de construction libres.

Je tiens à remercier les contributeurs de cette dépêche :

  • GeneralZod
  • tiennou
  • NedFlanders
  • claudex

Ce sont eux qui ont écrit la majeure partie de cette dépêche et qui l'ont améliorée et complétée grâce à leurs connaissances et au temps qu'ils y ont consacré.

Cette dépêche a pour objectif de faire découvrir ou redécouvrir des outils de constructions. Si vous en connaissez d'autres n'hésitez pas à en parler en commentaire.

Sortie de la version 2.10 de Sonar

Posté par  . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
19
3
sept.
2011
Java

Sonar est une plate‐forme libre (sous licence LGPL v3) permettant de gérer la qualité du code source. Elle agrège et présente d’une manière digeste et utile les résultats de différents outils de qualité logicielle. D’abord limité à Java en utilisant les outils classiques (Findbugs, Cobertura, PMD, etc.), Sonar peut maintenant gérer la qualité de projets utilisant d’autres langages : PHP, C# et autres, grâce à des greffons libres ou propriétaires pour certains, comme Brrrr…, Cobol, VB6, C, PL/SQL, ou encore ABAP.

La version 2.10 de Sonar vient de sortir, et puisqu’il n’y a pas eu de dépêche depuis la 2.4, il y a pas mal de nouveautés à présenter (voir la seconde partie de la dépêche). À noter que la version 2.11 devrait voir la fonctionnalité que j’attends depuis longtemps : la détection du code dupliqué à travers différents projets. Précédemment, cette fonctionnalité était limitée à rechercher du code dupliqué à l’intérieur de chaque projet.

N’hésitez pas à tester la version live de Sonar, prénommée Nemo, qui recueille les informations de qualité pour différents projets open source. En outre, elle est maintenant en français si votre navigateur est paramétré pour privilégier le français face à l’anglais :). Je vous encourage à l’essayer, ce projet est vraiment prometteur.

Coccigrep, un grep sémantique pour le langage C basé sur Coccinelle

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
45
2
sept.
2011
C et C++

Lorsque l'on travaille sur un projet C comportant un certain nombre de fichiers et de lignes de code, il arrive fréquemment que l'on se pose des questions comme "Mais où est modifié le champ data de ma structure Packet ?". grep ne suffit pas pour répondre à ce genre de questions car ne comprenant pas C, il ne sait pas, par exemple, que la variable monbopkt est une structure Packet.

coccigrep, basé sur coccinelle qui est un outil très puissant de recherche et de modification automatique de code, est un logiciel libre chargé de répondre à ce genre de questions. Il vient d'être publié en version 1.0rc1, sous licence GPL v3. Il est écrit en Python et s'interface avec les éditeurs Vim et Emacs, ce qui permet de faire les recherches depuis l'éditeur.

Fusionforge 5.1 & sa communauté

Posté par  (site web personnel) . Modéré par tuiu pol. Licence CC By‑SA.
28
11
juil.
2011
Technologie

Fusionforge, anciennement Gforge, anciennement Sourceforge, publie sa version 5.1, résultat de un an de développement et près de 3000 commits. Cette version est une consolidation des efforts réalisés pour relancer la vitalité de ce projet trop méconnu ou oublié.

La version 5.1 est dédiée à Alexandre Neymann, contributeur gforge puis fusionforge, décédé il y a peu.

Un point historique des forges, des nouveautés de fusionforge ainsi que de sa communauté est contenu dans le corps de cette dépêche.

Journal The Architecture of Open Source Applications

Posté par  (Mastodon) . Licence CC By‑SA.
38
30
mai
2011

Un livre qui n'a pas l'air trop mal vient de sortir sous le titre "The Architecture of Open Source Applications". Il est composé de 25 chapitres et chaque chapitre détaille un logiciel libre, souvent par un de ses contributeurs majeurs. Chaque application est ainsi décortiqué pour nous en montrer les entrailles. Bref, un excellent voyage du côté obscur du code, ce qu'on a rarement l'occasion de voir.

En prime, le livre est lui-même libre (CC-BY), il est disponible sur Lulu (…)

PlantUML, un nouvel outil de génération UML

Posté par  . Modéré par Bruno Michel.
22
19
déc.
2010
Doc
PlantUML est un outil Java permettant d'écrire très rapidement des diagrammes UML en utilisant un langage texte simple et intuitif. Il supporte actuellement sept types de diagrammes : séquence, cas d'utilisation, classe, activité, composant, état et objet qui peuvent être générés au format PNG ou SVG.

Ainsi, par exemple le texte

@startuml
Alice -> Bob: synchronous call
Alice ->> Bob: asynchronous call
@enduml

génère le diagramme de séquence suivant :

Diagramme de séquence généré par PlantUML où Alice appelle Bob de manière synchrone, puis de manière asynchrone

Il est également possible de changer l'aspect visuel grâce à des paramètres de skin.

Grâce au soutien de la communauté open source, un écosystème de greffons a pu voir le jour : intégration Word / Open Office, intégration Eclipse, intégraton Emacs, intégration Javadoc / Doxygen, intégration MediaWiki / DokuWiki / Confluence, etc.

Des éditeurs graphiques ont également été développés comme PlantUML editor ou EasyUmlEditor et le projet PlantUML dependency permet la génération de la description PlantUML à partir d'un code source Java.

Sortie de la version 2.4 de Sonar

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
10
16
déc.
2010
Java
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source.

La version 2.4 de Sonar vient de sortir. Parmi les améliorations et corrections de bogues se trouvent également plusieurs fonctionnalités majeures qui viennent enrichir la plate-forme :
  • Possibilité de personnaliser les dashboards de projets

  • Ajout d'un centre de mise à jour des greffons

  • Ajout d'un moteur de règles d'architecture

  • Support de Maven 3


NdM : comme dit par Francesco dans les commentaires de la dépêche précédente « Par défaut, Sonar permet de gérer la qualité de codes écrits en Java. D'autres langages peuvent être ajoutés via des greffons (libres et / ou commerciaux). »

Entretien avec Stefano Zacchiroli, Responsable du Projet Debian

Posté par  (site web personnel) . Modéré par patrick_g.
44
22
août
2010
Debian
Stefano Zacchiroli (Zack) a été élu Responsable du Projet Debian en avril dernier. Il est actuellement en post-doctorat au laboratoire "Preuves, Programmes et Systèmes" de l'université Paris 7 (où travaille également Roberto Di Cosmo). Son travail s'inscrit au sein du projet européen de recherche Mancoosi qui vise à améliorer les gestionnaires de paquets des distributions.

Au sein de Debian, Zack s'occupe des paquets liés au langage de programmation OCaml et il est aussi très impliqué dans tout ce qui touche l'assurance qualité. En septembre 2009, il a également lancé l'initiative "Release Critical Bugs of the Week" qui se propose de corriger chaque semaine des bugs bloquants du projet Debian.

En lisant ce qui précède, on comprend que Zack est quelqu'un de très occupé. Pour ajouter à son fardeau, j'ai essayé de collecter les questions se trouvant dans la proposition d'entretien initiée par Florent, j'en ai ajouté quelques-unes et j'ai envoyé le tout par mail. Il a eu la gentillesse d'accepter de répondre à cet entretien pour les lecteurs de LinuxFr. Qu'il en soit chaudement remercié.

Sortie de la version 2.2 de Sonar

Posté par  (site web personnel) . Modéré par Nÿco.
Étiquettes :
13
22
juil.
2010
Java
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source.

La version 2.2 de Sonar vient de sortir. Parmi une soixantaine d'améliorations et corrections de bogues se trouvent également trois fonctionnalités majeures qui viennent enrichir l'outil ainsi que augmenter les possibilités de l'étendre par des greffons :
  • Filtres : les utilisateurs peuvent définir des filtres et créer des onglets afin d'obtenir une vue sur un sujet particulier. Par exemple : tous les projets, les tests unitaires dont l'exécution est la plus longue, les classes avec une couvertures par les tests unitaires < 50% et une complexité moyenne par méthode > 10...
  • Favoris : il est maintenant possible de marquer une ressource (projet, module, package, fichier) comme étant une ressource favorite ce qui permet de la retrouver par la suite dans un onglet dédié aux favoris.
  • Le chargeur de classe des greffons : chaque greffon est maintenant exécuté dans son propre classloader. Le principal avantage en est que les greffons peuvent maintenant déclarer leurs propres dépendances au lieu d'être limités aux bibliothèques fournies par Sonar.