Sortie de la version 2.0 de Sonar

Posté par (page perso) . Modéré par Florent Zara.
18
18
mar.
2010
Java
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java

La version 2.0 amène dans Sonar la gestion du septième axe d'analyse de la qualité du code source. Pour rappel, les six axes déjà présents dans Sonar sont : couverture de code par les tests unitaires, vérification du respect des règles de codage, recherche de bugs potentiels, distribution de la complexité du code, recherche du code dupliqué et insuffisance de commentaires.

Le septième axe consiste à analyser le Design et l'Architecture d'une application ainsi qu'à faire ressortir des métriques orientées objet. Les fonctionnalités principales disponibles sont :
  • Identifier les dépendances indésirables afin de couper les cycles entre packages ;
  • Navigation dans les dépendances entre composants à l'aide d'une DSL (Dependency System Matrix) ;
  • Permettre la chasse aux classes qui portent plusieurs responsabilités.
En plus de ces nouvelles fonctionnalités, la nouvelle version contient près de cinquante améliorations et corrections.

Journal Des outils d'audit de code Java

Posté par (page perso) .
10
17
fév.
2010
Le langage Java n'est pas un langage qui s'exprime avec juste un éditeur de texte et un compilateur... Les IDE et outils d'aide au développement sont légion et pour cause, il serait dangereux de s'en passer. C'est particulièrement vrai pour les outils d'audit de code dont voici deux exemples.

UCDetector (prononcer "You See Detector") est un plugin Eclipse qui comme son nom l'indique se propose de détecter le code mort (Un-needed Code Detector) dans les sources Java.

Premier avantage : (...)

Journal Sikuli, ou comment programmer avec des images écrans.

Posté par (page perso) .
18
27
jan.
2010
Le projet Sikuli

http://groups.csail.mit.edu/uid/sikuli/

permet de programmer à partir d'images écrans

je cite
Sikuli is a visual technology to search and automate graphical user interfaces (GUI) using images (screenshots)

regardez les 9 exemples
http://sikuli.org/documentation.shtml

J'aime bien celui-là
http://sikuli.org/documentation.shtml#examples/find-boston.s(...)

la vidéo sur Youtube
http://www.youtube.com/v/FxDOlhysFcM&fs=1&rel=0&hd=1&iframe=(...)
qui explique comment automatiser une action comme indiquer une adresse IP

Sikuli permet aussi de faire du Unit testing pour GUI
http://sikuli.org/documentation.shtml#/trac/wiki/UnitTesting
et
http://sikuli.org/examples/TestJEdit.sikuli/TestJEdit.html

cet outil étant en Jython, il implique juste d'avoir Java installé.

Traduction complète de Maven - The definitive guide

Posté par (page perso) . Modéré par j.
6
4
déc.
2009
Java
Ça y est (ou presque), la traduction complète des 430 pages du livre « Maven - The definitive guide » est terminée. Plus besoin de comprendre l'anglais pour avoir accès aux arcanes de Maven.

Venez nombreux lire et relire le texte et nous faire part de vos remarques pour le rendre plus lisible. Un grand merci à eux qui ont déjà relu la première partie suite à l'annonce précédente sur LinuxFr.

Pour information : Maven est un outil de "build", de gestion de projet, un conteneur abstrait où s'exécutent les différentes étapes de construction du projet. C'est un outil qui s'est révélé indispensable pour les projets qui deviennent complexes et qui ont besoin de construire et de gérer de manière cohérente de nombreux modules et bibliothèques interdépendants, eux-même utilisant des dizaines voire des centaines de composants tiers. C'est un outil qui a fortement allégé le fardeau quotidien de la gestion des dépendances vers les bibliothèques tierces pour des millions d'ingénieurs et a permis à de nombreuses organisations de se sortir de l'ornière de la gestion du build du projet pour atteindre un monde où l'effort requis pour construire et maintenir un logiciel n'est plus le facteur limitant dans sa conception.

Ce travail est la première tentative d'un livre compréhensible sur Maven.

NdM : hélas, ce livre est sous licence propriétaire CC by-nc-nd (Creative Commons, Paternité-Pas d'Utilisation Commerciale-Pas de Modification).

Première relecture publique de la traduction de Maven - The definitive guide

Posté par (page perso) . Modéré par patrick_g.
5
30
sept.
2009
Java
Quelques mois après avoir lancé l'idée de traduire le livre « Maven - The DefinitiveGuide » en français, voici que la traduction de la première partie sort officiellement pour être relue par la communauté.

NdM : Maven est un « logiciel libre pour la gestion et l'automatisation de production des projets logiciels Java en général et Java EE en particulier. L'objectif recherché est comparable au système Make sous Unix : produire un logiciel à partir de ses sources, en optimisant les tâches réalisées à cette fin et en garantissant le bon ordre de fabrication. »

Le livre et sa traduction sont sous licence CC BY-NC-ND 3.0. Il s'agit d'un projet Maven qui produit, à partir de sources au format dockbook 4.5, un PDF et un site HTML. Ces deux projets sous hébergés sous Github.

N’hésitez pas à contacter l’un des membres de l’équipe (Erwan Alliaume, Jérôme Van Der Linden ou Emmanuel Hugonnet) pour toute question ou remarque. Les contributions, encouragements ou critiques seront les bienvenus.

Nouvelle version de Squale - Software QUALity Enhancement project

Posté par (page perso) . Modéré par Nÿco.
11
17
sept.
2009
Technologie
Squale est une solution libre, sous licence LGPL v3, permettant de gérer la qualité des développements logiciels, avec pour objectifs de couvrir plusieurs langages et d'offrir une vision de la qualité logicielle adaptée à plusieurs profils. Mais plus qu'une simple plate-forme logicielle, Squale est un projet du groupe thématique "Logiciel Libre" du pôle de compétitivité System@tic Paris-Région. Il se focalise sur deux aspects principaux (voir la seconde partie de la dépêche pour plus de détails) :
  • L'élaboration de modèles évolués d'évaluation, de visualisation et d'interprétation des résultats issus des outils de mesure ;
  • Le développement d'une plate-forme logicielle mettant en œuvre les modèles ci-dessus et permettant ainsi de contrôler la qualité de son code.
La version 5.2 sortie récemment permet de :
  • Faire l'analyse d'applications Java/J2EE en utilisant les outils libres (re)connus tels que Checkstyle, PMD, JDepend et autres ;
  • Faire l'analyse d'applications C/C++ et Cobol en utilisant un connecteur vers les outils commerciaux McCabe et RSM.
Squale est librement téléchargeable, mais si vous voulez vous faire rapidement une idée, l'équipe Squale vous propose une version complètement packagée (via IZpack) avec :
  • Un Tomcat embarqué ;
  • Une base de donnée embarquée (HSQL DB) ;
  • Des outils d'analyses libres pour Java pré-installés ;
  • Un modèle qualité de base à trois niveaux (facteurs, critères et pratiques qualité).
Cependant cette version n'est pas recommandée pour la production. Vous pouvez bien sûr déployer votre propre instance sur un Tomcat/JBoss/etc. couplé avec MySQL/Oracle/etc. Squale tourne déjà en production dans un certain nombre de grandes entreprises, notamment celles partenaires du projet System@tic.

Les prochaines versions de Squale s'orienteront, entre autres, vers :
  • La prise en charge d'autres langages (notamment PHP) via l'ajout de nouveaux connecteurs pour les outils d'analyse de ce langage ;
  • L'amélioration de l'interface via des visualisations avancées (au delà de simples répartitions ou diagrammes radars) ;
  • La proposition de plans d'action plus évolués.

Netbeans 6.7

Posté par (page perso) . Modéré par Nÿco.
14
30
juin
2009
Java
NetBeans est un projet qui consiste d'une part en une plate-forme de conception d'applications Java et d'autre part en un environnement de développement intégré - un IDE.

NetBeans a été racheté par Sun en 1999 et est développé en Java. Il est distribué sous double-licence CDDL et GPLv2.

Il est disponible dans de nombreuses langues - et en partie francisé - et prend en charge plusieurs langages de programmation parmi lesquels :
  • Java SE, Java EE, Java ME, JavaFX
  • C / C++
  • Javascript, AJAX...
  • XML
  • PHP
  • Ruby
  • Groovy
  • Python
  • ...

NetBeans dispose de fonctionnalités bien connues des utilisateurs d'IDE : coloration syntaxique, auto-complétion, gestion multi-projets, intégration des documents de référence, support de solutions de gestion de versions, intégration de débogueurs... Le logiciel a été conçu en prenant en compte le principe de la modularité. Il est ainsi proposé au téléchargement via des paquetages centrés sur les langages employés : PHP, C, JavaFX, Ruby, etc. mais rien n'empêche d'ajouter de nouvelles fonctionnalités via le système d'extensions.

Sortie de Sonar 1.9

Posté par (page perso) . Modéré par baud123.
5
13
juin
2009
Java
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérification du respect des règles de codage, complexité du code, etc.).

La fonctionnalité phare de cette version est le remplacement du célèbre analyseur de code source JavaNCSS par un moteur maison : sonar-squid. L'intégration de sonar-squid permet à la fois de faire disparaître les problèmes de JavaNCSS à analyser le code utilisant les spécificités de Java 5, mais également de calculer un certain nombre de métriques de manière beaucoup plus précises (commentaires, lignes de code...) et surtout d'ouvrir de nouveaux axes d'analyse (documentation des API publiques, accesseurs...).

Sonar a pris le parti de séparer complètement les accesseurs (plus communément nommés getters et setters) des méthodes dans les mesures. Cela permet par exemple de réellement mesurer la complexité "fonctionnelle" en écartant le bruit généré par le code purement "technique" dans les applications.

Ceci a bien sûr un impact sur la manière dont doivent être interprétés les résultats ainsi que sur la continuité de l'historique des données et il est recommandé de lire l'article référencé ci-dessous "Pourquoi (ne) devriez-vous (pas) migrer à la version 1.9 ?" avant d'installer la nouvelle version. En plus de ces nouvelles fonctionnalités, la version 1.9 apporte une amélioration notable des performances ainsi qu'une compatibilité avec le moteur de base de données PostgreSQL.

La forge des plugins Sonar est opérationnelle

Posté par (page perso) . Modéré par patrick_g.
6
20
avr.
2009
Communauté
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérification du respect des règles de codage, etc.). Des plugins (greffons) permettent d'étendre l'utilisation de Sonar aux langages PHP et PL/SQL.

L'extensibilité est une qualité essentielle pour un logiciel open source qui a l'ambition d'être adopté massivement. En effet, cela permet à la communauté de contribuer en ajoutant de nouvelles fonctionnalités ou bien en améliorant l'existant et par conséquent de bénéficier d'un effet levier : c'est la magie de l'open source !

Sonar s'appuie sur un cœur qui est un mécanisme d'extension. Autour de ce cœur viennent se greffer des plugins qui contiennent les fonctionnalités de l'outil. Mais le fait d'avoir un tel mécanisme en place n'est pas suffisant pour se déclarer extensible. Il faut également répondre aux 4 points suivants :
  • Une API simple d'utilisation ;
  • Une forge ;
  • Une communauté active ;
  • Une documentation et des exemples permettant de mettre le pied à l'étrier.

Ces 4 conditions étant maintenant remplies par Sonar, tout un chacun peut se lancer dans l'écriture de plugins pour étendre l'outil.

NdM : la version 1.8 de Sonar est sortie il a 3 jours. Parmi les nouvelles fonctionnalités, on trouvera un récapitulatif des points chauds sur un projet, l'import/export des profils Findbugs et un changement concernant la publication des mesures sur les catégories ISO ; plus une ribambelle d'améliorations et de corrections par ailleurs.

Sortie de la version 1.7 de Sonar

Posté par (page perso) . Modéré par patrick_g.
4
31
mar.
2009
Java
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java ou PHP (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérifications du respect des règles de codage, etc.). La version 1.7 de Sonar vient de sortir. Cette version apporte de nouvelles fonctionnalités et notamment :
  • La possibilité d'exclure des classes ou des packages de l'analyse qualité ;
  • L'élargissement du champ d'utilisation, en permettant d'injecter le résultat de la couverture de code et des tests unitaires depuis un build ant ;
Cette version améliore également de manière sensible certaines fonctionnalités :
  • Extension du nuage de classes sur la couverture de code aux modules et packages ;
  • Meilleure compatibilité avec IE6 ;
  • Ajout d'une vue "résultats de tests unitaires" et d'une vue "code dupliqué" à l'outil de visualisation de code source.
Pour essayer ces nouvelles fonctionnalités, il suffit de télécharger la version 1.7 et de l'installer. Il existe un mode démo / test de Sonar permettant de l'essayer (suivre le "2 minutes tutorial").

Le prix Turing 2008 pour Barbara Liskov

Posté par . Modéré par j.
8
12
mar.
2009
Presse
À 69 ans, la professeure Barbara Liskov du MIT remporte la plus prestigieuse des récompenses en informatique. Largement considéré comme équivalent à un prix Nobel, le prix Turing est décerné chaque année par l'Association for Computing Machinery à une ou plusieurs personnes dont les contributions à l'informatique sont particulièrement brillantes.

Comme beaucoup de chercheurs de premier plan, Barbara Liskov a contribué à plusieurs domaines de l'informatique, principalement :
  • les langages de programmation, en particulier avec le support de la programmation répartie ;
  • la théorie des types, où elle a défini une nouvelle notion de type dérivé (T est un type dérivé de S si toute propriété prouvable sur les objets de S est prouvable sur les objets de T) ;
  • les bases de données, en particulier orientées objet ;
  • l'algorithmique répartie avec tolérance aux défaillances, et en particulier les plus difficiles de toutes ces défaillances : les processus byzantins.
NdM: Un grand merci à oyp pour le journal à l'origine de la dépêche.

Journal La preuve de programme : où en est-on ?

Posté par (page perso) .
3
3
mar.
2009
Je suis en train (d'essayer) de lire la thèse de J-C Filliâtre http://www.lri.fr/~filliatr/ftp/publis/these.ps.gz intitulée Preuve de programmes impératifs en théorie des types
L'objectif est simple : on pose des contrat pre et post sur un morceaux de code, on peut aussi poser des invariants au sein d'une boucle, et le logiciel ( http://why.lri.fr/index.fr.html ) qui est tiré de cette thèse :
  • Prouve la complétude et l'adéquation des contrats au code
  • Prouve que le code respecte les contrats

Plus fort que (...)

MeriseAcide, un outil d'aide à la modélisation Merise

0
9
août
2008
Base de données
MeriseAcide, programme sous licence GPL3, permet de faciliter la modélisation et la création de base de données en exploitant la méthode Merise.

Ce programme en interface console prend en entrée un fichier texte définissant un MCD (Modèle Conceptuel de Données) avec une syntaxe très simple. Il est possible d'obtenir le MCD et le MPD (Modèle Physique des Données) sous forme graphique, les éléments étant positionnés de manière entièrement automatique.

Enfin, le dictionnaire des données et le script SQL de création de la base de données peuvent aussi être générés.

MeriseAcide génère les diagrammes graphiques en PNG ou PDF, et positionne les éléments de manière entièrement automatique, grâce à l'utilisation de la bibliothèque Graphviz.

Sortie du greffon Maven2 pour XRadar

Posté par . Modéré par Bruno Michel.
0
30
juil.
2008
Technologie
XRadar est un outil de « reporting » qualité ciblant les projets Java/JEE. Il est publié sous licence BSD.

XRadar agrège, consolide et historise les indicateurs qualité générés par la plupart des outils standards et Open Source d'analyse de code du marché tels que :
  • PMD : outil de vérification de code ;
  • Checkstyle : outil de vérification de formatage et présentation du code ;
  • JavaNCSS : outil de métrique de code Java (nombre de lignes de code, de commentaires...) ;
  • JDepend : outil d'analyse des dépendances entre classes et packages ;
  • Ckjm : détermine les métriques issues des travaux de Chidamber et Kemerer tel que nombre de méthodes, couplages afférents, etc.

Le greffon maven-xradar-plugin est maintenant disponible dans les dépôts Maven 2. Pour utiliser ce greffon, juste quelques lignes sont à ajouter à votre pom.xml.

Mais ce n'est pas tout : la version dynamique du greffon est déja en développement, une version release sera disponible sous peu.

Codendi 3.6 : forge de Xerox

Posté par (page perso) . Modéré par Mouns.
1
24
juil.
2008
Commercial
La version 3.6 de la plate-forme de développement collaboratif Codendi, éditée par XEROX et délivrée sous licence GPLv2, est sortie fin Juin. Développée à partir de la feuille de route qui avait été définie avec les clients, elle marque une évolution importante de la plate-forme puisqu’elle comprend une migration vers PHP5 et RedHat Enterprise Linux 5.

Pour mieux organiser la gestion des plans de tests, la nouvelle version intègre le gestionnaire de tests Salomé TMF. Les tests, qui peuvent être manuels ou automatiques, sont organisés en campagnes et exécutés, avec différents jeux de données, sur des environnements différents.

Codendi avance également dans le domaine de la collaboration en offrant un outil de messagerie instantanée. Basé sur le protocole XMPP (Jabber), il permet de mettre immédiatement en relation les membres d'un même projet.

Côté gestion de projet, il est désormais possible de créer des graphiques à partir des outils de suivi de Codendi. Les résultats pourront être affichés sous forme de camemberts, de barres ou de diagrammes de Gantt. Ces nouveaux modes de visualisation vont être utiles pour comprendre d'un coup d'œil la répartition des artefacts en fonction de certains critères. On peut afficher la répartition des anomalies en fonction de leur criticité, du composant impacté, ou des personnes qui les ont soumises. De même, les diagrammes de Gantt associés à la gestion de tâches permettent de visualiser facilement le plan de développement du projet, ainsi que son avancement par rapport au plan. L'ensemble de ces graphiques est complètement paramétrable par le chef de projet.

NdM : sur les forges logicielles libres de manière générale, voir aussi Planetforge.org.