You can now use the best !

According to Vasanth, it now seems possible for Open-Source projects to use the power of IntelliJ IDEA. That’s good news !
D’aprés Vasanth, il est maintenant possible pour les projets Open-Source d’utiliser la puissance d’IntelliJ IDEA. Bonne nouvelle !

Publicités

Swing MVC ?

  Sur son blog, Dim déclare :

Why is it that there are no swing frameworks that have got to a mature stage ?

J’ai une réponse simple pour Dim : Swing EST le framework Swing MVC mature. Regarde un peu la Javadoc et tu y trouveras des choses comme le TreeModel, un squelette poour ton composant modèle, DefaultTableCellRenderer pour ta vue. Apparement, les gens tendent à ignorer le fait que la partie contrôleur de Swing est gérée par l’envoi d’événement, comme NodeChangedEvent. En fait, l’événement n’est pas le contrôleur. Non, le contrôleur est, conceptuellement, la manière dont de tels événements sont envoyés quand l’utilisateur modifie quelque chose dans l’application.

Changement de player MP3

Oui, je sais, c’est un post pour rien, mais j’ai enfin abandonné le trop lourd Winamp pour @Max Tray Player. C’est un freeware, qui prend un peu de place dans la barre des tâches (moins quand on enlève comme moi tous les boutons, ou presque), qui occupe 7 Mo en RAM, et qui fournit toutes les fonctionnalités de Winamp (y compris, et c’était pour moi indispensable, la possibilité d’utiliser comme touche de raccourci la touche Windows). Bref, une très bonne surprise.

unit testing best practices

Encore un post très intéressant de JavaRunner sur les bonnes pratiques de test, qui doit bien aller avec quelques autres (sans doute bien connues, mais je préfère bien me les rappeler) :

  • Un bon test ne passe pas facilement.
  • Pour chaque bug, ajoutez un test.
  • Quand un test échoue, ne débuggez pas : ajouter d’autres tests pour savoir pourquoi il échoue.
  • Testez toujours les cas non valides.

MVC 2 Main Issue

Dans ce blog, je me plains souvent du besoin de XML de Struts. il semble que je ne sois pas seul (tiré de  » Journey to Java »). Je ne peux pas être plus d’accord avec ses arguments. A mon avis, les frameworks MVC 2, et plus encore quand ils sont pilotés par des fichiers de configuration non Java, et je vise particulièrement le XML, sont un cauchemar infernal. En effet, comment peut-il être possible, dans ces environnements, de refactorer du code en en connaissant vraiment l’impact ? Comment est-il même possible de savoir où une vue, ou une « action » (ou le synonyme en vigueur dans le framework de votre choix), est utilisée si le développeur doit constamment surveiller un fichier de configuration, confus, et souvent à moitié buggé ?Je crois vraiment que les frameworks web feront un gros pas en avant quand ils se sépareront de ces fichus fichiers de configuration centralisés. Mais peut-être suis-je perdu dans ma propre vision de Struts et de ses compères et qu’un framework pareil existe déjà.

Brevetabilité du savoir

Pendant que d’autres pensent au e-learning, Jean-Michel nous explique que les dirigeants d’Assas corp (pardon, de la faculté d’Assas) souhaitent éviter la libre diffusion du savoir.

Vous comprenez, dit-il, faut qu’on s’y mette, car les étudiants filment les cours des professeurs en amphi, et vont les mettre sur un site web. Nos amphis sont grands et les caméras vidéo d’aujourd’hui sont petites: on n’arrive pas à les repèrer. Les étudiants n’ont donc plus besoin de venir… sans compter les problèmes de copyright

C’est à peine révoltant, comme propos. Et, pour une fois, je vais pas hésiter à pousser le bouchon un peu loin. Dans la mesure où une faculté est en général publique, et donc financée par les citoyens, il me semble que toutes les oeuvres intellectuelles produites (cours, conférences, …) devraient être diffusées de manière à permettre la copie libre. Parce qu’enfin, un cours, ça n’est pas seulement un poly (on ne parle d’ailleurs que de « support » de cours). Bref, leur travail pour l’université doit être considéré comme appartenant à la nation, au peuple, aux gens quoi ! Et puis, comment mettre en parallèle cette approche avec celle des amphis de la cinquième ?

Is it true ? And will it be known ?

Carlos nous dit que Struts devrait être considéré comme cliniquement mort.

Mais combien de temps faudra-t-il aux entreprises, aux administrations pour le comprendre ?

Et combien de temps les développeurs devront continuer à coder avec ce framework zombie avant de pouvoir utiliser de meilleures alternatives (je ne pense à aucun framework en particulier) ?

Peut-être le même temps qu’il a fallu pour se débarrasser d’Internet Explorer, mort depuis … combien de temps ? Je ne sais pas comment ça se passe aux USA, mais, au moins en France, je peux vous dire que les managersne savent pas qu’IE devrait être considéré comme mort et évité. Et je m’attends à continuer à coder des applications Struts pendant au moins deux ou trois ans (sans compter la maintenance d’anciennes applications).

Il y a un an

Ca faisait longtemps que je n’avais rien écrit dans cette catégorie, mais, il y a quelques instants, dans un moment d’auto-apitoiement intense, j’ai tapé le nom de mon ancienne boîte dans Google, et tout un flot de souvenirs psychédéliques m’est revenu en tête.

Plus exactement, tout m’est revenu suite à l’affichage de cette page de 01net. Comme vous l’aurez peut-être deviné, mais ça m’étonnerait, j’ai largement participé au développement du projet InterLDAP. En fait, c’est durant ce projet que j’ai été viré par Linagora. Et ça fait quasiment un an, mais j’en reparlerais.

Pour l’instant, je vais juste me consacrer sur InterLDAP qui mérite un peu d’explications. InterLDAP est une solution de SSO pour des entreprises ou des administrations disposant d’un annuaire LDAP gérant l’authentification. En fait, elle s’appuie pour l’essentiel sur un proxy LDAP améliorant les capacités de gestion de règles d’accès (ce qu’on appelle en LDAP des ACL). Et la partie web (tout de même assez importante) permet de gérer l’annuaire LDAP utilisé pour l’authentification (faire pousser des branches, modifier les classes des objets stockés, etc, …). Là où ça devient rigolo, c’est quand on explore l’aspect open-sourcitude de la chose. 01Net nous dit Sources disponibles gratuitement en septembre. tout comme le site d’InterLDAP, du reste. Mais, quand on va dans la partie Sourceforge pour explorer un peu le CVS, on trouve … rien. nada, queutche, pas de sources. Ca cadre assez bien avec l’esprit libre de Linagora : l’Open-Source, c’est bien, aprce que c’est gratuit.

Bien sûr, on peut télécharger, ou tout au moins essayer, la dernière version sortie. Ah, tiens, non, le lien de téléchargement mène lui aussi sur une page vide. Pas grave, essayons le répertoire « Download ». damn, toujours rien. Et dans le répertoire « Files » de Sourceforge ? Ah, oui, tiens, on y trouve un fichier sobrement intitulé « interldap-0.1.1-09122004.tgz ». Donc je le télécharge, et que se passe-t-il dans mon Windows quand j’ouvre le tgz ? Je tombe sur un fichier sans extension, sans doute un gz, que même en renommant je n’arrive pas à ouvrir. Super ouverture des sources ! Bon, en fait, après examen approfondi, ce fichier ressemble plus à un dossier qu’à autre chose. Et, surtout, on y trouve les sources. La preuve que je suis de mauvaise foi. En revanche, il est assez curieux que tous les noms des auteurs (dont moi) aient été supprimés des classes Java (mais sont quand même mentionnés en conclusion) … Sans doute afin de faciliter l’application de la GPL … Et pour être sûr que le projet soit réutilisable immédiatement, il ne semble pas y avoir une seule JSP livrée (alors justement qu’il s’agit d’un projet web). Mais, ce qui est surtout marrant, c’est qu’avec mon ami {Jérôme Molière}, on ait essayé (au début du projet) d’empêcher le chef de projet mentionné dans l’article de 01Net de coder la moindre ligne de Java, pour au final tomber sur des classes aux noms et aux fonctionnements franchement pourris. C’est ça, un vrai projet Open-Source : énormément d’énergie dépensée, aucune espèce de reconnaissance, et la certitude que, de toute façon, ça va finir en une espèce de grosse saleté.