dimanche, novembre 18, 2012

Série d'articles sur le NoSQL Cassandra

Depuis quelques temps, je m'intéresse à la base NoSQL Cassandra (famille Orientée Colonne). Ayant suivi certaines présentations et ayant remarqué qu'il existait de nombreuses ressources, je me suis donc mis à regarder en détail ce NoSQL. Je me suis principalement focalisé sur le modèle de données (exemple : comment représenter les différentes relations entre classes) et sur les APIs clientes.

Je vous propose donc une série d'au moins cinq articles dont les principales idées sont :
  • Article 1 : installation et outils autour de Cassandra
  • Article 2 : modèle de données et API Hector
  • Article 3 : Cassandra Query Language (CQL) avec Java via JDBC
  • Article 4 : Faire de l'ORM avec Cassandra (Hibernate OGM, EclipseLink et via Hector)
  • Article 5 : Clustering via Cassandra
Il s'agit d'une proposition qui évoluera surement au fur et à mesure de mon avancement sur Apache Cassandra.

Les ressources sur le Net concernant Cassandra sont assez importantes. J'ai regretté que l'accent soit mis sur l'administration. Étant développeur d'applications en Java je me suis posé de nombreuses questions et notamment : Suis-je capable de faire du NoSQL pour un développeur formaté au classique SQL ?  

Le premier article est en cours de rédaction, j'espère vous le proposer début décembre.Il s'intéressera à présenter rapidement Cassandra, son installation, une première prise en main et les outils d'administration disponibles. Il ne sera pas révolutionnaire mais au moins j'aurais présenté tous ce dont j'ai besoin pour les articles suivants.

N'hésitez à venir proposer des commentaires. J'espère de mon côté pouvoir tenir ma motivation sur l'écriture de ces articles.


Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines. 

Eclipse
  • Tous les billets sur les bonnes pratiques pour faire de l'Eclipse RCP sont disponibles (http://www.modumind.com/category/best-practices/).
  • Eclipse ORION 1.0 est disponible (billet de l'annonce). Vous trouverez la page de téléchargement ici.
  • Eclipse RAP 2.0 millestone 3 est disponible (billet de l'annonce). Vous trouverez la page de téléchargement et la page des nouveautés.
  • Un billet qui présente 10 astuces pour être efficace avec l'environnement Eclipse.
  • Un billet qui montre comment faire du tri avec une TableViewer.
  • Un billet intéressant qui montre comment lire une vidéo sur du RCP et du RAP.
Java
  • GWT 2.5 est désormais en version définitive. 
  • Un article qui décrit en détail les classes internes en Java.
  • Un article qui se veut être une série pour une présentation de quelques bases NoSQL.
Divers
  • LastActivityView est une application sous Windows qui permet de connaitre les dernières actions réalisées sur le système.
  • CodeMirror est un composant JavaScript pour l'édition de code (complétion de code, syntaxe...). Toutes les aides des environnements de développement modernes sont proposés.

dimanche, octobre 14, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse 
  • Eclipse RAP 1.5.1 est disponible (voir les bugs résolus).
  • Un article qui montre comment réaliser un build du SDK d'Eclipse.
  • Un billet qui fait un point sur Eclipse 4 et pourquoi nous devrions y aller.
  • Une série de billets sur les bonnes pratiques pour faire de l'Eclipse RCP. Actuellement seuls 3 billets sont disponibles (billet 1, billet 2 et billet 3).
  • Fuzz Box un petit plugin qui permet de générer des diagrammes UML à partir de classe Java.
Java
  • GWT 2.5 RC2 est disponible (page des nouveautés).
  • Un article sur Hibernate OGM qui montre comment débuter.
  • La JSR 353 présentée à JavaOne 2012 proposera une API pour le support JSON, enfin !! (source Developpez.com).
  • Un article qui présente la fonctionnalité Rules au niveau de JUnit. Pour faire simple, cela permet de réaliser des opérations avant et après un test.
Divers
  • Adobe publie une police de caractères dédiée aux développeurs.
  • Quelques conseils pour les débutants Java qui souhaitent réussir son entretien.
  • Reveal.js, Impress.js, Html5slides, Csss sont des frameworks HTML5 pour faire des présentations (source Korben).
  • Un site qui permet de retrouver de vieilles versions de logiciel (pratique pour retrouver un vieux Firefox).
  • Deux idées de sources de données pour réaliser une application à base de NoSQL (ClickStream et TimeSeries) (source CastCodeurs).
  • Une démo HTML5 avec WebGL qui permet de modifier en temps réel l'image issu d'une WebCam.

vendredi, septembre 28, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines. 

Eclipse
  • Critiques liées aux performances d'Eclipse JUNO, Mike Milinkovich tente de répondre
  • Un petit billet de Paul-Emmanuel qui explique comment créer un Splash-Screen dynamique.
  • Également proposée par Paul-Emmanuel, une série de liens pour connaître ce que vos applications RCP consomment en mémoire ou comment activer les logs.
  • Une série de billets (billet 1, billet 2 et billet 3) concernant les spécificités d'Eclipse 4 (modèle d'application, injection...).
  • Eclipse Kepler, la prochaine version d'Eclipse, sort en 4.3 Millestone 2 (page des nouveautés et page de téléchargement).
  • Orion (l'IDE dans le navigateur) sort en 1.0 M2 (page des nouveautés et page de téléchargement).
Java
  • P6Spy est un proxy de pilote JDBC qui facilite la trace des requêtes JDBC. Peut s'employer partout où il est possible de définir un driver JDBC (Hibernate...). Ce billet détaille les grandes lignes.
  • Un billet intéressant qui montre comment mettre en œuvre du multidispatch en Java.
  • Participer au sondage sur le futur de GWT (ça prend 10 minutes)
Divers
  • Désireux de connaître le jargon des programmeurs (Yoda Conditions, Gotcha...), un billet qui s'y intéresse.
  • Jetstrap un éditeur WYSIWYG pour éditer des pages basées sur le CSS Bootstrap.

dimanche, septembre 09, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.

Eclipse
  • Opal une bibliothèque de composants pour la plateforme Eclipse. Certains des composants sont un portage de la bibliothèque graphique Swing.
  • Un billet qui explique comment utiliser des bibliothèques tiers lors d'un développement Eclipse RCP.
  • Un billet qui explique comment utiliser efficacement les validators de JFace Data Binding.
  • Ce billet détaille comment utiliser SWT/JFace dans une application qui n'est pas basée sur OSGi.
  • Un retour d'expérience sur Tycho afin de construire des applications basées sur Eclipse.
  • Une astuce qui permet de supprimer les lignes vides des codes Java (idéal pour les monomaniaques).
Java
  • Une analyse sympathique sur le devenir de GWT donnée par un contributeur Eclipse. Il cite que la décision de Google de libérer GWT à la communauté Open Source serait comparable à la décision d'IBM d'offrir Eclipse à la communauté en 2001. GWT connaitra-t-il le même succès ?
  • Un composant de sélection pour GWT basé sur Chosen, un plugin Javascript pour jQuery.
  • Utiliser Bootstrap avec GWT depuis ce projet.
  • Atmosphere, la bibliothèque pour faire du Push Serveur, est disponible en 1.0. Elle propose différents supports (Web Sockets, SSE, Long-Pollings, HTTP-Streaming et JSONP).
  • Un petit billet qui expliquer comment commencer avec Hibernate, c'est toujours pratique d'avoir ce type d'article.
  • f5less permet de reconstruire et recharger une application Web en cours de développement lorsque vous faites un ctrl + s. Nécessite d'après la documentation, une JVM assez récente.
  • L'arrivée de Jetty 9 est proche, un billet qui explique les impacts nécessaires (GWT et  GAE devront y passer un jour).
  • Jnario fournit un DSL pour l'écriture de test unitaire. C'est assez sympathique les différents niveaux de langage (de la spécification à l'implémentation).
  • Un billet qui fait partie d'une série sur Spring Roo. Dans celui-ci il y a une très bonne présentation sur le NoSQL MongoDB orienté document.
Divers
  • Bootstrap 2.1.0 est disponible. Voici la page des nouveautés. 
  • USB Disk Access Manager est un utilitaire qui permet de protéger ses ports USB.
  • La boite à outils ViewDNS propose des outils concernant la gestion des noms de domaine.
  • Un ensemble d'API en relation avec des services de météo, trouvée à l'occasion du service Google qui a disparu.
  • Une astuce qui montre comment envoyer automatiquement un email quand un utilisateur se connecte sur une machine Windows.

mercredi, septembre 05, 2012

J'ai besoin ... de construire une PirateBox

Suite à un article publié sur Le Monde, j'ai découvert une conférence vidéo de Gaël Musquet donnée à l'occasion du festival Pas Sage en Seine et qui présentait le principe de la PirateBox. Une PirateBox est un réseau sans fil, local qui permet d'échanger des fichiers de manière anonyme. L'idée m'est alors venue de créer une PirateBox afin de pouvoir partager mes différents outils de développements préférés (Eclipse, Java...). Cela est aussi une occasion de découvrir des choses intéressantes sur l'installation et la configuration d'un système embarqué comme OpenWRT.

L'objectif de ce billet et donc de vous présenter une installation d'une PirateBox. A vrai dire il s'agit d'une installation un peu particulière puisqu'elle ne s'est pas déroulée correctement. En effet, la mise à jour du firmware du routeur n'a pas réussi et j'ai du passer par une communication port série pour résoudre le problème.

Dans le cas où vous souhaitez des tutoriels plus concis et qui montrent les étapes pour installer une PirateBox dans les cas classiques, je vous conseille les suivants :
Pour créer une PirateBox, j'ai utilisé le matériel suivant :
  • Router TP-Link MR3020 V1.7 disponible sur Amazon,
  • Batterie Tecknet 7000 mAh pour être autonome au niveau de l'alimentation électrique. Prévoir une capacité élevée pour augmenter la durée ~ 14 heures disponible sur Amazon,
  • Clé USB 32 GO pour stocker les données. Il est possible d'utiliser une disque externe mais il faudra penser à l'alimenter ce qui pourra réduire considérablement l'autonomie de la batterie.

Concernant le matériel pour la communication port série, j'y reviendrai plus tard. C'est un passage obligé s'il ne vous est plus possible de passer par la voie Ethernet.

Au niveau logiciel, j'ai utilisé :
  • Windows 7,
  • Putty pour la communication Telnet, SSH et COM,
  • le firmware OpenWR,
  • le package PirateBox.

Pour les différentes étapes, je vais suivre un ordre chronologique.

Étape 1 : déballage du routeur TP-Link MR3020

Ayant reçu rapidement mon routeur TP-Link MR3020 commandé sur Amazon, je décide de me lancer dans la création de ma PirateBox. Premier constat, j'ai l'impression de déballer un produit Apple (IPod, IPhone). L'emballage est très ressemblant. Le contenu contient un routeur, une alimentation un cable USB et un câble Ethernet.
Emballage du TP-Link MR3020
Contenu de l'emballage du TP-Link MR3020

Étape 2 : connexion au routeur TP-Link MR3020

Je m'assure avec tout que l'interrupteur du routeur est en mode "Wisp". Je branche ensuite l'alimentation du routeur via le micro USB vers le port USB de mon portable. De même, je branche le câble Ethernet du routeur à mon portable. Enfin, je passe en WIFI afin de conserver la connexion internet sur mon portable PC.
Connexion du TP-Link MR3020
Ouvrir l'URL suivante http://192.168.0.254 à partir de n'importe quel navigateur.
Le nom d'utilisateur et le mot de passe sont 'admin'.

Étape 3 : mise à jour du firmware du routeur

Depuis le menu de gauche, choisir l'élément System Tools ;
Choisir alors l'entrée Firmware Upgrade puis sélectionner le fichier openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin (téléchargé ici).
Faire la mise à jour en cliquant sur Upgrade. L'installation va procéder et aucun message d'erreur ne devrait apparaitre. Il est ensuite indiqué que le routeur va redémarrer.
Historiquement il ne s'agit pas du même fichier que j'avais utilisé. Le précédent concernait la version 1.6 du routeur et l'installation sur la 1.7 (la version de mon routeur) a abouti à un problème d'activation du réseau. On va donc considérer par la suite que le connexion réseau vers le routeur ne fonctionne pas.

Étape 4 : le blackout, le début des problèmes

Le routeur redémarre et d'après les différents tutoriels que j'ai suivis, l'étape suivante consistait à se connecter en Telnet au routeur. J'ai utilisé le Telnet de Putty via la configuration suivante :
Configuration Telnet avec Putty
Le problème c'est que rien ne se produisait, le routeur ne répondait pas. Un test ping pour s'assurer de l'existence d'une connexion active n'a rien donné. Comme j'étais en DHCP sur ma configuration réseau, j'ai configuré en IP fixe pour avoir une classe d'adresses identique au routeur. Cela n'a également rien donné. J'ai décidé de rebooter le routeur et réitérer les différentes commandes précédentes, mais pas plus de changement.

J'ai découvert sur les différents forums qu'il existait un Safe Mode sur le routeur. Pour l'activer, il faut éteindre le routeur et le rebrancher. Dés que la première LED s'allume, il faut appuyer longtemps sur le seul bouton du routeur. Le résultat que vous devez obtenir est que la première LED clignote très rapidement. Mais le Safe Mode n'a rien changé non plus. A cette étape, j'ai bien pensé que mon routeur était mort.

Étape 5 : les forums PirateBox et le WIKI OpenWRT

Le site PirateBox contient un forum que j'ai parcouru pour tenter de trouver un message qui décrirait à peu près mon problème. C'était pas glorieux, il n'y avait pas grand chose. En fait, je me rendais compte que la version du routeur que je possédais était récente. J'ai donc décidé après m'être assuré que le problème n'était pas résolu de poster un message sur ce forum (Cannot connect in telnet after the OpenWRT firmware installation). Après plusieurs Allé / Retour sur cette discussion et sur le forum OpenWRT, j'en suis venu à la conclusion que seule une connexion via le port série était possible.  

Étape 6 : achat du module série

Depuis le WIKI d'OpenWRT pour le MR3020, une section décrit comment communiquer via le port série. Il est préconisé d’acheter un composant tout prêt qui permet d'utiliser le port série via une entrée USB. En fait je ne me sentais pas capable de monter un circuit from scratch. Je me suis donc orienté vers ce module FTDI Basic Breakout - 3.3V. J'ai également pris cela pour que les branchements soient plus faciles.

Étape 7 : le bricolage et la soudure

Tout d'abord il faut accéder à l'intérieur du routeur. Pour cela il faut vous munir d'un petit pied de biche en plastique et ouvrir le couvercle côté LED (vous pouvez essayer avec un tournevis au risque de rayer le plastique).
Outil pour ouvrir le dessus du routeur
Il n'y a aucune vis pour retenir le circuit imprimé du routeur, retirer donc le de son logement en plastique afin de faciliter les opérations de soudure. 

Le port série est identifiable via les quatre petits fiches / trous placé(e)s en ligne.
Identification des fiches du port série du TP-Link MR3020
Deux solutions s'offraient à moi pour connecter les fils sur le circuit imprimé. La première était de dénuder 4 fils et d'effectuer un point de soudure pour chaque trou. Le problème s'est la fragilité des fils. La seconde s'était d'essayer de reproduire une fiche mâle. C'est la seconde solution qui a été choisie. 
Pour trouver la bonne taille de connectique, j'ai utilisé des aiguilles à coudre. Pour les points de soudure, faites les par le dessous du circuit imprimé. Vous devriez obtenir le résultat suivant. J'ai fait un test au voltmètre pour m'assurer que les points de soudure étaient correctement réalisés.

Étape 8 : connexion via le port série du routeur TP-Link MR3020

Sur le routeur, la première fiche est identifiée par p1. Les fiches désignent dans l'ordre :
  • p1 : TX
  • p2 : RX
  • p3 : GND (masse)
  • p4 : VCC
 Sur le module USB/Série, le rôle des fiches est directement imprimé :
  •  p1 : GND (masse)
  •  p2 : CTS
  •  p3 : Power 3.3V
  •  p4 : TX
  •  p5 : RX
  •  p6 : DTR  
Naturellement j'ai fait correspondre les TX, RX et GND. Pour le VCC, j'ai branché l'alimentation. Toutefois, ça ne fonctionnera pas. Suivre alors les modifications suivantes.

Il faut supprimer l'alimentation (VCC) pas de p4 et intervertir TX et RX. Vous obtiendrez le résultat suivant :
Connexion TP-Link MR3020 avec le module FTDI Basic Breakout - 3.3V
Il faut ensuite connecter le module USB/Série sur votre PC et alimenter le router via le mini USB.
Il faut par ailleurs identifier le port virtuel COM employé par le module USB/Série. Dans mon cas c'était le COM5.

Depuis l'application Putty, paramétrer les informations afin d'effectuer une connexion en port série en s'assurant que les paramétrages suivants sont respectés :
  • Bits per second: 115200
  • Data bits: 8
  • Stop bits: 1
  • Parity: None
  • Flow control: None
Faire Open, vous devriez maintenant obtenir une communication avec OpenWRT. Si ça ne fonctionne pas assurez-vous que lorsque vous tappotez sur le clavier de votre PC les LED du module USB/Série clignotent. Vérifier également les points de soudure et contrôler enfin les branchements.

Étape 9 : mise à jour du firmware

A cette étape, j'arrive à me connecter au routeur. Je peux parcourir le contenu et m'apercevoir que tout le contenu de l'OpenWRT a l'air correcte. Un reboot du routeur me permet de remarquer que le configuration réseau pose problème. Il fallait donc que je trouve un moyen de mettre à jour ce firmware en m'assurant d'utiliser une version correcte pour mon routeur. J'ai pris le parti d'utiliser une clé USB et de déposer le firmware dézippé dedans.

Depuis Windows, copier le nouveau firmware dé-zippé sur une clé.

Brancher cette clé sur le routeur et procéder à son montage
 mount /dev/sda1 /mnt/usb
Copier le firmware dans le répertoire /tmp

Exécuter cette instruction et attendez que la mise à jour soit terminée
mtd -r write openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin firmware

Étape 10 : installer PirateBox

Pour le reste de l'installation de la PirateBox, je ne vais pas faire un copier/coller des nombreux tutoriels qui existent. Vous pouvez suivre celui-ci qui est très bien fait.

Conclusion

Au début de ce challenge, je ne pensais pas qu'il allait m'arriver ce genre de mésaventure. En y réfléchissant, je ressentis lors du plantage une certaine frustration du fait que j'avais acheté le routeur et que peut être il ne me servirait pas à grand chose. Un peu de patience, des recherches sur Internet, des gens motivés et le tour est joué : j'ai maintenant ma PirateBox.

dimanche, août 12, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java qui m'ont particulièrement intéressées ces dernières semaines.    

Java
  • La version GWT 2.5 est disponible depuis un peu plus d'1 mois déjà (enfin non, pour l'instant il s'agit d'une RC). Les nouveautés se trouvent essentiellement au niveau de la performance. On notera entre autre la présence d'un mode Super Dev qui se veut être beaucoup plus rapide. Un article sur le mode Super Dev est disponible ici.
  • Jigsaw l'extension censée ajouter la notion de module a Java ne sera finalement pas disponible dans la prochaine version de Java 8 (source)
  • Un article technique intéressant concernant un récapitulatif sur les Closures (appelées également Lambda) de la prochaine version de Java (Java 8)
  • Deux articles intéressants sur le NoSQL Hadoop. Le premier décrit de manière très simple le principe de Map Reduce. Le second explique comment créer un pont entre Hadoop et l'outil de reporting Birt. A noter que le sous projet Hive (un entrepôt de données pour Hadoop) est utilisé pour exploiter le langage de requête HadoopQL.
  • Un billet qui montre comment créer un exécutable Windows en utilisant Maven.
Eclipse
  • Deux tutoriels (lien 1 et lien 2) concernant le projet Eclipse Graphiti dont l'objectif est de facilement construire un éditeur de modèles.
  • Lars Vogel vient de publier un article sur Tycho.
  • Un site qui propose des thèmes pour Eclipse quelle que soit la version. Depuis Eclipse 4 qui tente de rendre plus accessible la customisation des interfaces graphiques, à mon avis il va y avoir de plus en plus de thèmes.

jeudi, juillet 05, 2012

Eclipse Juno est disponible, détail des nouveautés

Depuis le 27 juin dernier, la fondation Eclipse a sorti une nouvelle version d'Eclipse dont le nom est Eclipse Juno.

Au niveau des nouveautés :
  • Eclipse 4.2 : le numéro de version est maintenant 4.2. La compatibilité est assurée avec la version 3.x.
  • Code Recommanders : un plugin qui assiste le développeur a anticipé son développement.
  • Amélioration sur le JDT : meilleur support pour Java 7, support du catch multiple...
  • Virgo : un projet qui embarque un noyau Nano pour créer de petites applications web basées sur OSGi.
  • Xtext / Xtend : support du débogage intégré des DSLs.
  • Orion : l'IDE dans le navigateur.
  • eGIT : amélioration du client pour l'outil de gestion de sources GIT.
  • RAP : amélioration de la plateforme permettant de faire du RCP pour le Web.
  • Koneki : projet qui fournit un IDE pour Lua un langage de script historiquement utilisé pour les jeux vidéos et qui est maintenant employé dans le système M2M (Machine vers Machine).
Pour des détails supplémentaires sur la sortie d'Eclipse Juno vous pouvez utiliser ces liens
Pour télécharger cette nouvelle version, rendez-vous sur le site de la fondation et choisissez votre distribution :

samedi, juin 23, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Eclipse qui m'ont particulièrement intéressées ces dernières semaines.   

Eclipse
  • Angelo Zerr présente le projet Eclipse Libra via trois billets (billet 1, billet 2 et billet 3). Le projet Eclipse Libra fournit un ensemble d'outils pour les applications d'entreprise basées sur OSGi. Plus précisément Eclipse Libra regroupe les outils du projet WTP et PDE. Dans le cadre des billets d'Angelo, il montre comment construire un WAR à partir d'une application RAP.   
Java 
  •  Si vous recherchez une bibliothèque Java permettant de lire des vidéos sous différents formats Xuggler peut faire l'affaire. Il s'agit d'un wrapper Java pour ffmpeg.
  • JavaCV est un wrapper Java des principales bibliothèques qui manipulent du contenu multimédia (OpenCV, ffmpeg...).
Divers
  • Un billet très intéressant qui parle du Cloud pour le développeur.
  • ownCloud est une solution alternative à DropBox. Cette solution de partage permet tout comme DropBox de disposer d'un client installé sur son poste (Linux, Windows et MAC OS) pour synchroniser des fichiers. ownCloud fournit également des modules supplémentaires permettant de synchroniser d'autres types de ressources (calendrier, contacts, vidéos...). J'ai eu le même coup de cœur qu'à l'époque avec Redmine. J'utilise actuellement ownCloud en test mais j'ai du malheureusement désactiver le partage de fichier entre utilisateur puisque ce module amène à une occupation anormale du processeur. Espérons que les prochaines versions stabilisent ce problème. A surveiller de près. 


jeudi, mai 24, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Eclipse qui m'ont particulièrement intéressées ces dernières semaines.   

Eclipse
Java
  • Sonar 3.0 est disponible (nouveautés) et page de téléchargement
  • Un billet qui présente une comparaison entre SQL et JPQL.
Divers
  • Vagrant est une solution permettant de faciliter la virtualisation de son environnement de développement. 


samedi, avril 28, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Java et Eclipse qui m'ont intéressées ces dernières semaines. Vous trouverez également un bilan de choses intéressantes découvertes lors de Devoxx France 2012.

Eclipse
  • Nouveaux sucres syntaxiques pour Xtend le nouveau langage de la fondation Eclipse. 
  • JNect un plugin Eclipse qui fournit une passerelle Java pour le capteur Microsoft Kinect. La vidéo montre l'utilisation du capteur au niveau de l'IDE Eclipse.
  • Eclipse Orion, l'IDE dans le navigateur, passe en 0.5 M1 (page de nouveautés et page de téléchargement).
  • Une série de billets réalisée par Angelo Zerr qui traite de la mise en place d'une architecture Eclipse RCP/RAP avec Spring DM et Spring Data JPA. Comme d'habitude les billets sont très détaillés et illustré par une démo.
  • Les transparents de la conférence EclipseCon 2012 sont disponibles en téléchargement sur cette page.
  • EclipseLink dans sa version 2.4 supportera les solutions de stockage NoSQL. Un billet intéressant qui montre comment intégrer la prise en compte du mode de stockage dans les classes Java. Avec Hibernate OGM, on se retrouve avec deux solutions différentes. A quand une standardisation au niveau JPA ?
  • EclipseTotale fournit des liens très intéressants sur des présentations données à l'EclipseCon 2012 expliquant le fonctionnement du socle Eclipse 4.
  • EclipseDayToulouse, une conférence pour les amoureux de la plateforme Eclipse, se déroulera le 24 mai prochain à Toulouse. Developpez.com est partenaire presse de cet événement.
Java
  • Peut-être en retard sur ce point là où trop focalisé sur le développement de clients lourds, j'ai découvert Bootstrap lors de discussions à Devoxx. Ce n'est pas une bibliothèque ni un framework mais une feuille de style CSS développée par Twitter. Avec cette feuille, créer une page Web devient très facile. Visionnez cette vidéo pour vous faire un aperçu rapide. Au fait, le site Web d'Xtend utilise Bootstrap.
  • Byteman est un outil qui permet d'injecter du code Java dans une classe déjà chargée par le classloader. Il permet donc de faire de la modification dynamique de bytecode. Je vais essayer de faire un billet sur ce sujet.
  • Si vous souhaitez faire du Push serveur avec GWT vous pouvez utiliser GWTEventService.
  • J'ai découvert une nouvelle façon de coder un singleton, passer par un énuméré. Voici un article de Lars Vogel qui montre comment faire.
PS : à noter pour la prochaine fois, ne pas laisser dépérir mon blog ;-)

mercredi, avril 11, 2012

Devoxx France 2012, j'y serai et vous ?

La semaine prochaine se tiendra à Paris la conférence Devoxx France 2012. D'après Nicolas Martignole un des organisateurs, la conférence se fera à guichet fermé.  Très bonne nouvelle pour les organisateurs.

Je ne vais pas vous faire une nouvelle présentation de cet événement mais juste vous dire que j'y serai sur les trois jours. Au niveau des sessions qui m'intéressent, j'essaierai de suivre en priorité celles en relation avec le NoSQL (Cassandra, MongoDB notamment), les retours d'expérience de solutions technologiques en production et des sessions plus techniques sur le fonctionnement du cœur de Java. Par contre, je n'ai pas trop vu de session Eclipse, un drame !!!

Par ailleurs, je serai reconnaissable puisque je porterai en plus du badge de la conférence, un badge Developpez.com. En fait, la majorité des membres de l'équipe Java de Developpez.com porteront un badge supplémentaire. N'hésitez donc pas à m'interpeler, je serai ravis de discuter avec vous.

Au fait et vous, vous y serez ?


samedi, février 25, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Eclipse qui m'ont particulièrement intéressées ces dernières semaines.   

Eclipse
  • Pour rappel, en juin 2012 sortira la version Eclipse Juno. Le nom de la version qui suivra Juno sera Kepler. Elle sortira aux alentours de juin 2013.
  • Eclipse 3.7.2 est sortie. Les nouveautés de cette nouvelle version sont résumées sur cette page.
  • Un billet qui donne des nouvelles sur le projet Nebula qui, pour rappel, fournit un ensemble de composants graphiques. Parmi les nouveautés, nous remarquerons les composants Picture Control et Pagination Control fournis par Angelo Zerr et Pascal Leclerq. 
  • La prochaine version d'Eclipse Juno est disponible en milestone M5 qui sera alignée avec la version Eclipse 4.2 (page des nouveautés et page de téléchargement). A noter également que l'outil de recommandations de code (Eclipse Code Recommenders) sera intégré dans les distributions pour le développement d'Eclipse RCP et RAP.

samedi, janvier 21, 2012

Nouveau support de cours disponible : Introduction à la modélisation avec EMF

Le premier support de cours consacré à la modélisation est désormais disponible. Ce support de cours se focalise principalement sur EMF et voici un plan détaillé :
  • Généralités EMF
  • Modèle Ecore
    • Présentation des déclarations
    • Présentation Structural Feature (volatile, dérivé, ...)
  • Définir un modèle EMF 
    • Création du modèle
    • Générer le code Java (utilité du genmodel)
    • Mise à jour du code Java (intérêt du @generated)
    • Générer le code de l'éditeur
  • Instancier un modèle par les APIs
  • Sauvegarder et charger des instances du modèle
  • Manipuler le méta-modèle EMF
    • Interrogation
    • Création et modification
  • Utiliser EMF sans conteneur OSGi (Swing, GWT)
  • Notifier les changements du modèle
  • Transactions avec EMF
    • Définition Domain
    • Command
    • Undo/Redo
Le support de cours et les exemples sont disponibles à l'adresse suivante : http://mbaron.developpez.com/eclipse/introemf.

Si vous avez des commentaires concernant ce support de cours, exprimez-vous à partir de ce billet.


samedi, janvier 14, 2012

Meilleurs Voeux 2012 : les objectifs

Je profite de ce billet pour vous souhaitez mes meilleurs vœux 2012. Un billet également pour définir les objectifs de 2012 consacrés à ce blog.

Avant tout un petit rappel de l'année 2011 concernant les objectifs fixés :
  • Introduction à EMF ; (Échec)
  • Web Service (RESTful, JAX-RS et BPEL) ; (Réussi)
  • Tycho (billets et support) ; (Mitigé)
  • Sur le nombre de billets, je vais essayer de faire mieux que cette année (38 sur 2011, 60 sur 2010) (Echec)
Comme vous pouvez l'apercevoir, mes objectifs ne sont pas remplis. Mes responsabilités à Developpez.com me prennent un peu de temps.

Ainsi pour 2012, voici les choses que je prévois :

  • Introduction à la modélisation ;
  • Introduction à la modélisation avec EMF ; (on y croit)
  • Interfaces Graphiques avec EMF ;
  • Validation avec EMF ;
  • Autant de billets que 2011.
Si vous voyez des choses qui pourraient être utiles ou simplement me donner une solution pour trouver encore plus de temps, n'hésitez pas.

mercredi, janvier 11, 2012

Liens pratiques de la semaine

Vous trouverez dans ce billet une sélection de liens pratiques autour des technologies Eclipse qui m'ont particulièrement intéressées ces dernières semaines.  

Eclipse
  • Un éditeur Eclipse pour réaliser des listes de type TODO réalisé à l'aide d'Xtext (lien blog). Les codes sources sont disponibles pour analyser comment tout cela a été réalisé.
  • Un article qui donne une introduction à Eclipse GMF.
  • Un billet qui présente comment améliorer les boîtes à onglets (Tab Folder) via un ScrolledPageBook de l'API Ui Forms.
  • Spykit est un outil pour analyser son application Eclipse. Il permet notamment de connaitre les plugins utilisés, les classes, l'occupation mémoire, les origines de chargement d'un plugin ou d'une classe, ...
  • Un billet qui montre comment créer des interfaces utilisateurs avec SWT et le nouveau langage au dessus de Java de la communauté Eclipse XTend.
  • Si vous souhaitez participer au vote pour le nom de la version Eclipse de l'année 2013, vous pouvez le faire ici. Attention donner votre vote avant le 15 janvier.