Configure Sonar for multi-modules Grails project

For some times I’ve been strugling to configure Sonar to analyze a multi-modules Grails project. The project is composed of a main project which includes many plugins. Each plugin being a Grails plugin by its own with all the Groovy, Java and Web (GSP, js, SASS, …) code. Configuration This article describes how to run a Sonar analysis on a multi-languages Grails project (Groovy, Java and JavaScript) composed by many plugins. It requires SonarQube 4.2 as the multi-language analysis has been introduced in this release. Sonar offers different ways of running an analysis, the only one I used are the standalone Sonar Runner and the Maven plugin. Since the Grails project are not mavenized, I chose to got with the standalone SonarRunner, but I put the Maven configuration for information. Sonar Runner Using Sonar Runner you only need to create a sonar-project.properties defining the project and the modules. By not specifying a language, Sonar Runner will verify all possible languages (depending on the plugins installed on your SonarQube server). Following is the content for a multi-modules / multi-languages Grails project: sonar.projectKey = fr.mkhelif:Project sonar.projectName = Project sonar.projectVersion = 1.0 sonar.modules = application, plugin1, plugin2 sonar.sources = src/groovy, src/java, grails-app, web-app...

Read article

NoSQL : premiers pas avec Cassandra

Je reviens après ce long silence pour vous présenter une “nouvelle” technologie qui se développe de plus en plus : les bases de données NoSQL, et principalement Cassandra, la solution de la fondation Apache. Introduction Pour commencer, une base de données NoSQL q’est-ce que c’est ? C’est une base de données non relationnelle. La plupart des bases de données relationnellesMySQL, Oracle, PostgreSQL) utilisent le langage SQL pour fournir un accès aux données. Pour les bases de données NoSQL, il’y a donc pas de requête SQL. Le stockage utilise alors différentes représentations : Bases orientées clé / valeur : représentation la plus simple. Comme pour une table de hashage, chaque clé est associée à une seule valeur. Bases orientées colonnes : les bases de données relationnelles structures les données en colonnes, chaque ligne comporte toutes les colonnes définies. Pour les bases orientées colonnes, c’est un peu l’inverse, les données sont structurées par lignes, identifiées par une clé, et chaque ligne comporte uniquement les colonnes qui la concernent. Bases orientées documents : à chaque clé correspond un document qui a une structure particulière. Un document contient des données organisées hiérarchiquement. Bases orientées graphes : permettent d’adresser des problèmes complexes grâce à une...

Read article

GWT 2.0 : les nouvelles fonctionnalités

La version 2.0 de GWT (Google Web Toolkit) est sortie (j’ai un peu de retard à cause du boulot ) et avec elle de nombreuses améliorations, principalement pour améliorer le développement des applications. Cette nouvelle version est accompagnée d’un outil d’analyse des performances des sites : Speed Tracer, qui donne des pistes d’amélioration de l’application. Development Mode Dans les versions précédentes de GWT, pour tester une application en cours de développement, il y avait le Hosted Mode. C’est une application que l’on lançait depuis son IDE, qui démarrait un serveur Tomcat et qui permettait de tester “rapidement” sont application Web. En GWT 2.0 le Hosted Mode est remplacé par le In-Browser Development Mode. On installe un plugin (le GWT Developer Plugin) dans son navigateur pour lui permettre de communiquer avec la JVM. Cela permet de bénéficier des différents plugins de son navigateur (Firebug, …) tout en permettant de modifier le code Java en live en rafraichissant la page Web. UI Binder Un des problèmes majeurs de GWT dans ses versions précédentes est la gestion de l’interface graphique depuis le code Java. La manipulation des Widgets (composants graphiques dans GWT) depuis le code Java pour leurs appliquer des styles CSS ou...

Read article

Goo.gl : le raccourcisseur d’URL by Google

Google vient de lancer son raccourcisseur d’URL : goo.gl. Un raccourcisseur d’URL permet simplement de lier une URL de quelques caractères à une URL complète d’un article ou d’une page. Voulant profiter de l’utilisation croissante de ce type de services, surtout grâce à Twitter et Facebook (qui vient d’ailleurs de lancer fb.me pour les URL internes), Google veut récupérer une part du marché. Bientôt intégrer dans FeedBurner et la barre d’outils Google il sera très facile de tweeter un article que l’on trouve intéressant. À savoir que Google à aussi intégrer la publication de tweets directement depuis FeedBurner. Ainsi la publication de tweets directement après la publication d’un article devient automatique si son blog est configuré sur FeedBurner, l’URL étant raccourcie par goog.gl. En lançant son service, Google souhaite sûrement avoir une main mise sur les liens les plus partagés (et donc les plus intéressants) pour obtenir des résultats de recherche en temps réel les plus pertinents.

Read article

Chrome OS : première présentation

Google avait annoncé, le 7 juillet 2009, le développement du système d’exploitation Chrome OS : un système orienté Web. Aujourd’hui a eu lieu à 19h une conférence de présentation du système d’exploitation OS. En attendant des articles plus techniques qui vont surement voir le jour d’ici peu sur la toile, voici une présentation du système d’exploitation vu par Google. Le code source du système d’exploitation est déjà disponible. Voici la vidéo officielle de Google Chrome OS : Le système d’exploitation est basé sur une distribution Debian allégée et est en fait un simple navigateur Web, Chrome bien entendu. L’objectif est clairement de faire un système d’exploitation rapide, on peut ainsi le voir démarrer en 3 secondes…, et orienté pour le Web. Ainsi après s’être connecté a votre compte utilisateur vous êtes directement sur Internet avec des onglet servant : de menu “Démarrer” avec la liste de vos applications Web, de client mail (GMail), … Chrome OS mise sur le développement des applications Web basées sur HTML 5 pour offrir toutes les nouveautés et améliorations de la nouvelle spécification (gestion de contenu hors-ligne particulièrement). Au niveau de la sécurité, toutes les applications s’exécutent par défaut dans une sandbox n’ayant ainsi pas...

Read article