19 janvier 2008

Google.org : Inform and Empower to Improve Public Services

Google.org, émanation de l'entreprise Google (vous savez, celle qui fait Google.com) dans le monde des organisations à but non lucratif, vient de faire une communication sur 5 buts :
  • Prévoir et prévenir des évènements écologiques aussi bien que sociaux qui pourraient se transformer en désastre notamment en Asie du Sud-est et en Afrique Tropicale. Grippe aviaire et changements climatiques, entre autres
  • Informer et responsabiliser pour améliorer les services publics. L’idée bien sûr est que si les citoyens en savent plus ils peuvent demander et obtenir un meilleur fonctionnement des institutions. C’est fondamental, notamment dans les pays où les services publics d’éducation et de santé, par exemple, sont pratiquement inexistants.
  • Stimuler les petites et moyennes entreprises. Elles sont essentielles à la croissance économique et à la création d’emplois, en particulier dans les pays en voie de développement.
  • Développement des énergies renouvelables pour qu’elles deviennent moins chères que le charbon: énergies solaire et éolienne entre autres.
  • Accélérer la commercialisation des véhicules rechargeables.

(Traduction trouvée chez Transnets)

Pour ma part j'ai toujours pensé que l'accès à l'information publique, la propagation de ladite information (que ce soit en push ou en pull), et surtout la discussion libre, facilitée, publique ou privée, bref, la réappropriation du mythos par l'Agora, par opposition au soi-disant (soi-disant) logos déversé par les mass media, était une nécessité primordiale à, on pourrait dire une condition nécessaire pour, en quelque sorte une bête conséquence de, une saine existence de la démocratie, c'est-à-dire cet espace civil où le peuple se gouverne lui-même.

J'ai toujours vu dans le pragmatisme et l'excellence technologiques de Google un potentiel nécessaire à l'émergence dans le champ public de ce levier informationnel que j'appelle de mes vœux.

Pour préciser ma pensée, voici deux aspects de ce que cela sous-tend :
  1. le modèle économique actuel de Google fondé sur la publicité ne me paraît ni vertueux, ni reproductible à l'infini, ni pérenne. Certes c'est pratique en ce moment et apparemment pour longtemps encore. Mais... Ils valent mieux que ça. (Pensons à 20 ans, 40 ans, un peu !).
  2. le fait qu'aujourd'hui des documents officiellement publics (certaines statistiques départementales, par exemple) fassent l'objet de la part des administrations françaises de rétention, de masquage, de refus de partage (vous allez rire : entre les différentes administrations elles-mêmes parfois), est contre-productif. Essayez d'obtenir la liste et la source des subventions reçues par les associations d'un département.
    Et il faudra une ampleur de vision et de moyens analogue à celle de Google pour rétablir le courant dans le bon sens.

Grâce à la technologie, mais surtout grâce à une compréhension des gens (eh oui), Google a apporté plusieurs révolutions. J'en citerai deux, qui sont pour moi emblêmatiques :

  • la révolution dans la recherche dans les contenus. Google a permis de penser une recherche « full text » qui soit rapide et pertinente. Ils ont matérialisé le concept (avec plus ou moins de bonheur).
    C'était une « bête » application technologique, mais comme de nombreux techniciens considéraient que ce n'était pas essentiel [aux utilisateurs], ils ne se sont tout simplement pas penchés sur le sujet.
  • Google Earth et/ou Google Maps, c'est-à-dire la géographie courante dans les foyers, comme à une époque on y voyait arriver l'eau courante. L'impact de Google Earth, cette banalisation d'une carte du monde partagée, possiblement sans frontières (essayez un peu d'effacer les frontières sur une carte papier...), est immense.
    C'était une vraie attente de beaucoup de gens. Et s'il était légitime et logique que la technologie y répondît, il fallait de lourds moyens industriels, et par suite une vision précise pour les dédier à la solution.

Je ne pense pas que Google soit la panacée. Ainsi je pense qu'en démocratisant à ce point l'usage de la publicité (à des fins commerciales, ha ha, quelle surprise), ils vont exactement à l'opposé de ce qu'ils apportent sur un plan culturel par ailleurs ; je pense de nouveau à la géographie.

Je ne pense pas que Google soit la seule réponse possible.

Ce que je pense, c'est que Google met en musique des principes à la fois de focus et d'ampleur de pensée. Et que certains problèmes vont se résoudre à l'aide de tels principes.

Pour soulever le monde, il faut un bon levier et... un bon point d'appui.

19 décembre 2007

Hellotipi co-lauréat du concours kelblog

Je suis hyper content : Hellotipi va être accompagné par Pierre Chappaz (start-up : Kelkoo). C'est génial. J'ai toujours trouvé l'idée bonne. J'ai toujours trouvé que MrBoo était très fort de tout faire tout seul, et d'avoir cet avancement équilibré. En termes de dynamisme et de rythme vu les moyens, c'est un projet de start-up exemplaire.

L'article de Pierre : eBuzzing et Hellotipi vainqueurs du concours de Startups sur Kelblog!

L'article de MrBoo : Like a... Monday un peu particulier

25 novembre 2007

GroupSpaces : Les Fûts ?

Je cite : GroupSpace provides free web-based tools for clubs, societies, organisations or groups of friends or coworkers.

Pour certaines associations, ça a l'air suffisant.

Certes, il n'y a pas l'aspect vitrine web (encore que quand je lis « Improve your Google ranking »...), mais seulement l'aspect outillage de travail collaboratif.

14 octobre 2007

La communication, pour quoi faire ?

Parfois dans une entreprise on n'estime pas bien la communication. On dit avoir d'autres préoccupations, on lâche quelques pourcents du budget à la communication puis on laisse courir. Après tout pourquoi la communication ne serait-elle pas un projet comme les autres ?

Eeeh bien. Pour moi qui pense e-mail depuis 1992 et forums depuis 1999, qui décortique l'intérêt des protocoles et des outils dans cette pratique bêtement humaine, qui ne conçois de m'attacher un collaborateur que dans la mesure où il a la « communication chevillée au corps », la question n'a quasiment pas de sens. Certes les wikis, forums, blogs, et autres messageries instantanées constituent mon quotidien (au fait, qui utilise encore les e-mails ?) — même si je fais aussi figure d'exception en n'ayant pas de téléphone portable —, mais ce qui est avant tout fondamental pour moi est de raconter une histoire, des histoires, ou que je les raconte, ou que je sois dans un espace où elles se racontent. Ainsi pour moi un projet est primitivement et avant tout, une histoire qui se raconte. Une équipe est d'abord soudée par « quelque chose ». Cela qui existe par le discours et par la parole. Ce n'est pas tout-à-fait le projet, ce n'est pas tout-à-fait le discours, c'est « quelque chose » qui procède des deux, et qui, c'est bien sûr important, donne une place active, dynamique, aux membres de l'équipe.

Dans l'image des Fûts, il y avait aussi cela : les colonnes de l'architecture laissent exister un « espace » pour que les personnes réalisent leur projet. Elles se réunissent dans cet endroit car il est favorable aux projets, et produisent le leur.

Revenons à la communication. Pourquoi certaines entreprises passent-elles encore aujourd'hui, c'est-à-dire en 2007, complètement à côté, de l'aspect communication ? Faut-il à toute force les pousser dans cette voie-là ? Nous savons qu'elles y gagneraient. Mais elles semblent avoir peur d'y perdre quelque chose d'aussi fondamental.

Nous pouvons voir la communication comme un symptôme de la bonne santé d'une organisation. Je ne pense pas qu'il y ait une « bonne » et une « mauvaise » communications. Soit le fluide s'écoule dynamiquement, et les crises sont gérées avec le reste, soit il ne passe pas. C'est la rétention, le blocage, c'est-à-dire l'absence de communication, qui sont critiques, pas la qualité de la communication, ni même du contenu charrié par elle. Si aujourd'hui n'apporte pas du bon, on l'aura demain. Les vannes doivent simplement être ouvertes. En amont comme en aval : je dois savoir m'exprimer, et il vaut mieux que je m'intéresse à ce qu'on me dit.

En voyant la communication comme un symptôme ou comme un signe, et non comme un facteur de réussite, la situation est très simple :
  1. une organisation qui ne communique pas a d'autres problèmes à régler avant
  2. si on se met en capacité de communiquer, alors on aura réglé ces problèmes
C'est-à-dire par exemple qu'installer un wiki à brûle-pourpoint n'a aucun intérêt en soi.

En revanche, s'assurer que tel collaborateur a la capacité de s'exprimer et d'être écouté au sein de l'organisation (parfois cette capacité ne repose pas sur un défaut d'outillage technique ; cela peut venir du collaborateur lui-même, eh oui), voilà une démarche d'audit plus que pertinente.

Alors, la communication, pour quoi faire ?

Eh bien, encore une fois, pour ceux qui baignent dedans, la question ne se pose pas.

Et pour les autres, la communication peut être un « indicateur cible » qui aide à savoir si l'organisation va bien. Il suffit de changer les deux ou trois choses qui feront que la communication sera mise en marche, et l'organisation ira bien.

Quelqu'un a dit Test First? Oui, oui, la communication est bien une sorte de test JUnit de la bonne santé de l'organisation.

30 septembre 2007

Lesfuts.com, .fr, .org bientôt disponibles

Vu où en est le projet Les Fûts, je ne vois pas l'intérêt de reconduire les noms de domaines.

lesfuts.com, lesfuts.fr et lesfuts.org seront bientôt libres de tout propriétaire.

19 septembre 2007

NoseRub

http://noserub.com/

NoseRub wants to be an inspiration, protocol and implementation of a decentralized social network.

Yi-pee.

15 septembre 2007

Réseautage sur Toulouse (3 ou 4)

Olivier, de Cadres d'Oc, m'avait parlé de la Mêlée numérique, dont un Apéri'TIC nous avait fait rencontrer le président, qui nous a invités à une soirée, où Bruno nous a parlé d'une soirée Capitole Angels, où nous avons rencontré Jean-Paul, Business Angel, et discuté un peu avec Arnaud de Latude, créateur de Capitole Angels (voir le podcast de Maxime Garrigues).

De fil en aiguille...

11 septembre 2007

Eclipse : raccourcis clavier

Eclipse 3.2.2, Windows XP...

Pour afficher la liste des raccourcis clavier disponibles dans le contexte courant, tapez Ctrl+Shift+L.

Voici une liste aide-mémoire que j'ai constituée, téléchargeable au format CSV, et ci-dessous au format blog ;-)

Activate Editor F12
Add Block Comment Ctrl+Shift+/
Add Import Ctrl+Shift+M
Add Javadoc Comment Alt+Shift+J
Backward History Alt+Left
Breakpoints Alt+Shift+Q, B
Build All Ctrl+B
Change Method Signature Alt+Shift+C
Cheat Sheets Alt+Shift+Q, H
Close Ctrl+F4 (or Ctrl+W)
Close All Ctrl+Shift+F4
Collapse Ctrl+Numpad_Subtract
Collapse All Ctrl+Shift+Numpad_Divide
Console Alt+Shift+Q, C
Content Assist Ctrl+Space
Context Information Ctrl+Shift+Space
Copy Ctrl+C
Copy Lines Ctrl+Alt+Down
Cut Shift+Delete
Debug Ant Build Alt+Shift+D, Q
Debug Eclipse Application Alt+Shift+D, E
Debug Equinox Framework Alt+Shift+D, X
Debug JUnit Plug-in Test Alt+Shift+D, P
Debug JUnit Test Alt+Shift+D, T
Debug Java Applet Alt+Shift+D, A
Debug Java Application Alt+Shift+D, J
Debug Last Launched F11
Debug SWT Application Alt+Shift+D, S
Declaration in Workspace Ctrl+G
Delete Delete
Delete Line Ctrl+D
Delete Next Word Ctrl+Delete
Delete Previous Word Ctrl+Backspace
Delete to End of Line Ctrl+Shift+Delete
Display Ctrl+Shift+D (For Which View?)
Duplicate Lines Ctrl+Alt+Up
Execute Ctrl+U
Expand Ctrl+Numpad_Add
Expand All Ctrl+Numpad_Multiply
Extract Local Variable Alt+Shift+L
Extract Method Alt+Shift+M
Find Next Ctrl+K
Find Previous Ctrl+Shift+K
Find Text in Workspace Ctrl+Alt+G
Find and Replace Ctrl+F
Format Ctrl+Shift+F
Forward History Alt+Right
Go to Line Ctrl+L
Go to Matching Bracket Ctrl+Shift+P
Go to Next Member Ctrl+Shift+Down
Go to Previous Member Ctrl+Shift+Up
Incremental Find Ctrl+J
Incremental Find Reverse Ctrl+Shift+J
Indent Line Ctrl+I
Inline Alt+Shift+I
Insert Line Above Current Line Ctrl+Shift+Enter
Insert Line Below Current Line Shift+Enter
Inspect Ctrl+Shift+I
Java Declaration Alt+Shift+Q, D
Java Package Explorer Alt+Shift+Q, P
Java Type Hierarchy Alt+Shift+Q, T
Javadoc Alt+Shift+Q, J
Last Edit Location Ctrl+Q
Line End End
Line Start Home
Maximize Active View or Editor CTRL+M
Move - Refactoring Alt+Shift+V
Move Lines Down Alt+Down
Move Lines Up Alt+Up
New Ctrl+N
New menu Alt+Shift+N
Next Ctrl+.
Next Editor Ctrl+F6
Next Perspective Ctrl+F8
Next View Ctrl+F7
Next Word Ctrl+Right
Open Call Hierarchy Ctrl+Alt+H
Open Declaration F3
Open External Javadoc Shift+F2
Open Resource Ctrl+Shift+R
Open Search Dialog Ctrl+H
Open Structure Ctrl+F3
Open Type Ctrl+Shift+T
Open Type Hierarchy F4
Open Type in Hierarchy Ctrl+Shift+H
Open UML Diagram Ctrl+Shift+D (Omondo)
Organize Imports Ctrl+Shift+O
Paste Shift+Insert
Previous Ctrl+,
Previous Editor Ctrl+Shift+F6
Previous Perspective Ctrl+Shift+F8
Previous View Ctrl+Shift+F7
Previous Word Ctrl+Left
Print Ctrl+P
Properties Alt+Enter
Quick Assist - Assign to field Ctrl+2, F
Quick Assist - Assign to local variable Ctrl+2, L
Quick Assist - Rename in file Ctrl+2, R
Quick Diff Toggle Ctrl+Shift+Q
Quick Fix Ctrl+1
Quick Hierarchy Ctrl+T
Quick Outline Ctrl+O
Quick Switch Editor Ctrl+E
Redo Ctrl+Y
References in Workspace Ctrl+Shift+G
Refresh F5
Remove Block Comment Ctrl+Shift+\
Remove Occurrence Annotations Alt+Shift+U
Rename F2
Rename - Refactoring Alt+Shift+R
Reset Structure Ctrl+Shift+Numpad_Multiply
Restore Last Selection Alt+Shift+Down
Run Ant Build Alt+Shift+X, Q
Run Eclipse Application Alt+Shift+X, E
Run Equinox Framework Alt+Shift+X, X
Run JUnit Plug-in Test Alt+Shift+X, P
Run JUnit Test Alt+Shift+X, T
Run Java Applet Alt+Shift+X, A
Run Java Application Alt+Shift+X, J
Run Last Launched Ctrl+F11
Run Maven2 Build Alt+Shift+X, M
Run SWT Application Alt+Shift+X, S
Save Ctrl+S
Save All Ctrl+Shift+S
Scroll Line Down Ctrl+Down
Scroll Line Up Ctrl+Up
Search Alt+Shift+Q, S
Select All Ctrl+A
Select Enclosing Element Alt+Shift+Up
Select Line End Shift+End
Select Line Start Shift+Home
Select Next Element Alt+Shift+Right
Select Next Word Ctrl+Shift+Right
Select Previous Element Alt+Shift+Left
Select Previous Word Ctrl+Shift+Left
Show In menu Alt+Shift+W
Show Key Assist Ctrl+Shift+L
Show Occurrences in File Quick Menu Ctrl+Shift+U
Show Refactor Quick Menu Alt+Shift+T
Show Ruler Context Menu Ctrl+F10
Show Source Quick Menu Alt+Shift+S
Show System Menu Alt+-
Show Tooltip Description F2
Show View Alt+Shift+Q, Q
Show View (View: Outline) Alt+Shift+Q, O
Show View (View: Problems) Alt+Shift+Q, X
Surround With Quick Menu Alt+Shift+Z
Switch to Editor Ctrl+Shift+E
Synchronize Alt+Shift+Q, Y
Text End Ctrl+End
Text Start Ctrl+Home
To Lower Case Ctrl+Shift+Y
To Upper Case Ctrl+Shift+X
Toggle Comment Ctrl+Shift+C (or Ctrl+/)
Toggle Folding Ctrl+Numpad_Divide
Toggle Insert Mode Ctrl+Shift+Insert
Toggle Line Breakpoint Ctrl+Shift+B
Toggle Mark Occurrences Alt+Shift+O
Toggle Overwrite Insert
Toggle Step Filters Shift+F5
Undo Ctrl+Z
Variables Alt+Shift+Q, V
Word Completion Alt+/
Zoom In Ctrl+=
Zoom Out Ctrl+-

27 août 2007

Espace de programmation

Ma façon de travailler sous Windows XP avec Eclipse sur un 20" (1600x1200) :


  • code formaté à 80 caractères ; pour les scripts, 72 est un meilleur compromis encore.
  • police ProFont Windows 8pt.
  • le maximum d'espace vertical pour le code. L'idée étant évidemment de pouvoir visualiser les algorithmes d'un seul coup d'œil. Si chaque méthode entre dans l'écran, c'est bon. Avec cette config je dispose de 96 lignes pour bosser.
  • oui, sur l'image du dessus, tout le code est bien contenu en largeur dans la colonne centrale.
  • je gagne encore en verticalité en mettant la Barre des tâches sur un côté plutôt qu'en bas de l'écran.
Certes, comparé au regretté CodeWarrior sous Mac, c'est loin d'être la panacée. En particulier pour du multi-fenêtrage je dois utiliser des outils tiers. Mais ça permet d'avancer.

Maintenant, comment certains programmeurs utilisent le même IDE et le même écran :


  • code sans limite horizontale. C'est plus lisible, paraît-il. Même quand ça déborde à droite de la zone visible ? Il se trouve que c'est le cas sur l'image : il va falloir faire défiler la ligne pour lire trois pauvres bouts de code.
  • police Courier New 10pt
  • la console qui mange le bas de l'écran. Bien large la console, pour lire les StackTraces. Important, les StackTraces.
  • l'espace vertical restant est pour le code. C'est-à-dire 32 lignes sur un 20". Wow! Ne demandez pas pourquoi on rogne votre budget, vu comment vous utilisez les outils de base.
Pour conclure, deux questions pour savoir si votre setup est convenable :
  • avez-vous du plaisir à travailler ?
  • avez-vous pris le temps de réfléchir à d'autres possibles configurations ?
Et sur la question du plaisir pris à travailler. Certes non, une bonne configuration d'un IDE ne procure pas automatiquement une ineffable joie de vivre. En revanche, si de toute façon vous n'êtes pas content de bosser, aucune configuration d'Eclipse ne conviendra :-)

25 août 2007

Génération internet 2.0

Employers Are Viewing Your Profile on Social Networking Sites

C'est un fait. Dans la communication, l'informatique, mais aussi le management, les petits jeunes qui chercheront du travail dans les 10 prochaines années auront déjà tenu un blog ainsi qu'un espace public Facebook / MySpace. Ils auront l'habitude d'utiliser Google et Wikipedia pour aller chercher des informations qui leur manquent, et d'utiliser la messagerie instantanée (IM ou IRC) et les discussions différées (blogs ou forums), bref, l'intelligence de groupe, pour s'aider à faire des choix et prendre des décisions. Ils auront peut-être même pris l'habitude de contribuer eux-mêmes à des silos de connaissances, sur divers sujets, avec des wikis par exemple.

Et leurs employeurs pressentis pourront eux aussi faire une recherche Google sur leur nom. Et ainsi apprendre éventuellement que tel candidat fumait tant de joints dix ans auparavant, écoutait telle musique (c'était à l'époque où le téléchargement était interdit, rappelez-vous : les années 2000), affirmait telles choses. D'ici-là il est possible que les étudiants aient appris, au fur et à mesure que s'approche le moment de chercher un emploi ou des clients, de ne plus laisser traîner sur internet n'importe quelle histoire sur leur compte, et que les seules données «confidentielles» qui aient fui soient déjà vieilles d'un ou deux ans.

Mais quel est le risque ? Est-ce que le patron risque de ne pas embaucher un étudiant à cause de ce qu'il aura découvert sur son profil Facebook ? C'est le sens de l'article que j'ai mis en lien plus haut. Dans ce cas... qui y perd réellement ? L'ex-étudiant, bien sûr, pour qui le chemin de l'embauche peut être plus difficile qu'avant. Mais on ne voit pas pourquoi il ne trouverait pas un travail au final, puisqu'ils seront majoritaires dans son secteur à avoir fait la même chose, à savoir laisser des traces de leur vie sur internet.

Non. À mon sens, celui qui y perd fondamentalement, c'est le patron, ou plutôt son entreprise. Parce que les temps changent. Et qu'un futur travailleur qui sait déjà communiquer de façon fluide avec son entourage notamment grâce aux outils à sa disposition, qui a déjà montré qu'il pouvait donner plus d'information qu'attendu (certes, il faudra peut-être recadrer. So, what?), représente une valeur interne pour l'entreprise.

Donc la question qu'on peut poser à l'étudiant blackboulé est celle-ci : souhaitez-vous vraiment travailler pour une entreprise qui de facto n'est pas adaptée aux méthodes classiques de communication ? (modernes en 2000, classiques en 2010. Selon les secteurs, of course)

De là à se retrouver en slip sur son profil Facebook, évidemment...

16 août 2007

Référencement web de nos sites

Tel le Petit Poucet moyen, laisse-t-on suffisamment de traces sur le web pour que les zamis-zet-les-contacts puissent nous retrouver ?

Si sur le web on fait... on obtient...
Google.com, «David Andriana», «I'm Feeling Lucky»mon profil sur WikiPatterns, site d'Atlassian sur lequel je m'étais inscrit, à propos de patterns d'utilisation et surtout de mise en œuvre des wikis
Google.fr, «David Andriana», «J'ai de la chance»un vague message d'avril dernier, par votre serviteur sur le forum de Mobiles Sans Gêne
Google.com, «Andrianavalontsalama», «I'm Feeling Lucky»la page d'accueil de mes anciens sites personnels, pas mis à jour depuis 2003
Google.fr, «Andrianavalontsalama», «J'ai de la chance»
Google.com, «Je Fûte», «I'm Feeling Lucky»l'article de ce blog sur les plateformes applicatives
Google.fr, «Je Fûte», «J'ai de la chance»
Google.com, «Avantage Compris», «I'm Feeling Lucky»la page «À propos» du site Avantage Compris
Google.fr, «Avantage Compris», «J'ai de la chance»

Je retiens donc les éléments suivants...
  • pour avoir son nom référencé chez Google, il suffit de ne pas avoir un nom trop courant (Andrianavalontsalama, anyone?), et d'apparaître dans un site à forte fréquentation. WikiPatterns compte 574 utilisateurs enregistrés, et est abondamment visité.
  • pour avoir son site référencé chez Google, il suffit d'apparaître dans un blog visible (oui, oui, le blog de quelqu'un d'autre. Dingue) et d'y laisser des liens
  • pour avoir son blog référencé chez Google, il suffit de l'héberger chez Google :-) (Blogger/blospot.com)
  • pas besoin d'activité régulière sur ces divers points
  • pas besoin d'avoir des tétrachiées de commentaires, ni d'avoir des liens sortants (le site d'Avantage Compris a une page de contact très simple, et rigoureusement aucun lien sortant)
  • la présence dans les bases de données de réseautage social (Viadeo par exemple) n'apporte pas grand-chose non plus
Bien sûr, l'objectif recherché est de pouvoir être retrouvé : la visibilité de l'adresse e-mail suffit. S'il s'était agi de garantir l'accès à un blog, par exemple, l'état du référencement décrit ci-dessus n'aurait pas été suffisant.

Il aurait alors fallu, à partir de la liste décrite ci-dessus, mettre à jour les liens des pages les unes vers les autres, et... «consolider la nébuleuse» :-)

15 août 2007

IoC par annotations : Guice

Je me mets sérieusement aux annotations Java 5. Les liens entre la génération de code et les annotations me semblant clairs désormais, il est temps de passer à l'utilisation frénétique des annotations et de profiter enfin des facilités de refactoring offertes par les IDEs. C'est un argument pour positionner Java, et non plus XML, comme format source du processus de développement (oui, oui, même si on doit ensuite produire du PHP).

Les candidats pour de l'IoC via les annotations sont à ma connaissance : Guice 1.0 et Spring 2.1 (pas encore sorti).

Le binding nommé est une des fonctionnalités de base que j'attends de tels frameworks. Le moins qu'on puisse dire c'est qu'avec Guice ce n'est pas immédiat.

On s'en sort avec... une indirection ;-)

10 août 2007

Wikis publics chez Sun

Lu chez Padawan, Sun déploie des wikis publics.

Ils utilisent Confluence.

Plom, plom, plom...

Télétravail

Je finis à l'instant une séance de travail à deux, assez intensive, sur du développement Java. C'est banal aujourd'hui, bien sûr. On a dans cette séance utilisé les sempiternels wikis et messageries instantanées. On a bien sûr utilisé un gestionnaire de configuration pour le code, et un serveur d'intégration continue. Et à part ça, pas de téléphone, pas de caméra, pas d'e-mail. On peut dire qu'on est davantage dans la gestion asynchrone du temps (car on utilise par exemple le texte plutôt que la vidéo), et la capitalisation des échanges, que dans l'échange lui-même.

Là où j'ai été le plus attentif, c'est sur la qualité des idées amenées : dans quel sens joue la distance, c'est-à-dire plus exactement le fait de ne pas se trouver physiquement dans la même pièce ?
Quand je lis un article comme It Turns Out Brainstorming Has NEVER Worked — qui pointe par ailleurs l'excellent blog de Marc Andreessen, ainsi que l'étude initiale, étude qui a découvert que des personnes amenées à réfléchir en présence ensemble pouvaient être moins créatives que quand elles réfléchissaient d'abord voire exclusivement chacune de leur côté sur leur sujet commun —, j'essaie de mesurer l'avantage de cette situation.
Et j'ai l'impression qu'il est immense.

D'abord, c'est à chacun de décider s'il souhaite être interrompu. Le flow peut ainsi exister librement. C'est une pratique d'autant plus complète quand chacun essaie d'appliquer l'adage «Achieve greatness fifteen minutes at a time» (voir par ici : How to Work Like the Masters). Toutes les 20 minutes environ, on est lancés sur une tâche individuelle, et en général on arrive à quelque chose. Grand ou petit, on a quelque chose. On valide dans la foulée.

Ensuite, c'est la capitalisation. Parce que les échanges sont écrits, la pensée est formalisée. Et parce qu'ils se font par le biais de systèmes informatiques, ils sont stockés, indexés, archivés, pour être ensuite accessibles, copié/collables, modifiables.

Pourtant, il reste évident que le brainstorming, et le travail en équipe, ont une valeur intrinsèque, un je-ne-sais-quoi qui ne peut pas se retrouver dans une routine de collaboration à distance. L'écoute, et donc le partage du même temps, c'est important.

Et donc par balancier... c'est la parole qui est retrouvée quand on est ensemble :-)

21 juillet 2007

AssoPass

«AssoPass : Créez le site de votre association en toute simplicité.»

Quelques services d'ores et déjà disponibles :
  • site internet
  • forum
  • annuaire
  • album photos
  • calendrier
  • petites annonces
  • cotisations par internet
  • vente de produits
Formule de base : 9 EUR/mois.

Le site revendique 622 associations clientes.

On est dans le très-basique, on est dans le très-classique, j'ai même l'impression qu'on est dans du fonctionnel arborescent très « 1.0 » : pas de fonction de recherche systématique, pas de blogging... mais si la critique est facile, le gros intérêt est qu'on est avec AssoPass dans quelque chose qui existe :-)

Lire le commentaire qu'en faisait fin juin Laurent Samuel sur son blog « créer et animer une association loi 1901 ».

Je suis entièrement d'accord sur le caractère insupportable de la speakerine ;-)

20 juillet 2007

Parakey sera open source

Facebook, qui fait émerger les plates-formes applicatives sur internet, à grands coups de web collaboratif et de propagation virale, acquiert Parakey, une start-up qui développe un système d'exploitation réparti/partagé accessible via le web.

Voir l'info sur Techcrunch/fr.

Techcrunch donne en outre l'info suivante : Parakey sera en mode open source.

Voilà, voilà...

Soyons clairs : il reste la fédération d'identité, avec par exemple un Open ID musclé, plus la répartition du système métier par peer-to-peer, à la NNTP par exemple, puis le système sera génial.

Il ne s'appellera sans doute plus Facebook Platform, ni Parakey, et il n'aura certainement pas le même business model que ces deux entreprises.

Quand ce système arrivera, il aura fallu beaucoup d'apports open source, beaucoup de fonds privés, beaucoup de communautés actives, beaucoup de créations (et donc de morts) d'entreprises. Et les États ? Ben...

Certes l'histoire n'est pas terminée, mais on ne les voit pas beaucoup dans le générique pour l'instant. Alors qu'un tel système sera pour le moins d'utilité publique.

16 juillet 2007

Des jours sans internet

Retour d'une première salve de vacances d'été, de 7 petits jours cette fois. Après ça, le rattrapage de la veille technologique est tout simplement impossible : plus de 1 000 articles attendent dans l'agrégeur de flux RSS, sans compter un wiki à mettre à jour. Heureusement, la boîte e-mail ne contient qu'une douzaine de messages (plus un millier de spams, mais qui s'en soucie encore), résultat peut-être d'une militance pour que les contacts bloguent et capitalisent davantage qu'ils ne pushent. Tiens, douze courriers non spams, c'est un volume analogue à ce qu'a reçu la boîte à lettres papier.

Reste la veille en mode pull, la veille par RSS : un millier impossible à lire in extenso, donc. D'autant que dans ce nombre, certains articles sont déjà périmés. Pensez, 7 jours.

J'écrème la veille de 90 %, et note qu'en une semaine j'ai eu l'occasion de lire plus de livres qu'en deux mois d'activité normale. C'est que, si la lecture de blogs est propice au zapping, on s'accommode davantage pour lire un livre de vraies plages, qu'elles soient plages de temps ou plages de sable fin, que de quarts d'heure parfois volés, parfois trop tard dans la journée, et souvent sous stress.

Vive le temps non contraint, non au zapping. Pour autant, la veille voire l'activité y gagnent-t-elles ? Faut-il préciser que j'ai eu connaissance de ces livres par le biais quasi exclusif des blogs que je lis, et que dénicher des pépites demande plus qu'un survol ? demande une attention et une assiduité de chercheur d'or, en plus d'un outillage sophistiqué (lecteur RSS, connexion haut débit, écran correct, ordinateur potable).

Je ne conclus pas, car les vacances continuent :-)

Bonnes vacances à... ceux qui en prennent.

30 juin 2007

RFID

Déjeuner hier, à « l'heure de l'Apéri'TIC », un événement organisé par la Mêlée numérique, à Toulouse. Cela fut d'ailleurs l'occasion de rencontrer le président de la Mêlée, Édouard Forzy.

Le sujet de l'Apéri'TIC était le RFID. Vous savez, le truc qui utilise les radiofréquences pour, dans le meilleur des cas, remplacer les codes-barres. Les impacts technologiques sont nombreux, ainsi que les impacts sociaux. En effet, on peut imaginer — et même se rapprocher des expériences qui ont déjà lieu en ce sens — les scénarios suivants :
  • des produits de grande consommation contiennent une puce RFID passive. Plus besoin de scanner les codes-barres pour calculer le montant des achats, un simple scan du caddie suffit.
    On peut arguer que les caissières de supermarché y perdraient leur emploi, mais personnellement et brièvement, je ne vois pas en quoi ce serait forcément un mal d'épargner au genre humain ce genre de tâches répétitives et peu épanouissantes. Après, on pourra discuter sur l'hypothèse que tout métier qui disparaît se transforme ou non inévitablement en chômage.
  • des affiches de cinéma, de spectacles, de publicité, portent une puce RFID passive. On peut interroger cette puce (grâce à un téléphone portable par exemple, si vous en avez un) et enregistrer les coordonnées et les dates du spectacle, obtenir des détails sur les produits.
  • les objets acheminés d'un endroit à un autre portent une puce RFID passive. On peut facilement interroger ces puces et améliorer la traçabilité des objets en transit.
  • les animaux domestiques se voient implanter une puce RFID active. On peut ainsi savoir à tout instant où ils se trouvent.
  • des individus se font implanter une puce RFID active. Non seulement ils peuvent acheter leur baguette sans avoir à payer en monnaie (la puce RFID « dialogue » directement avec la borne de paiement de la boulangerie), mais ils n'ont plus besoin de carte d'identité (la puce RFID peut être interrogée à volonté par la maréchaussée, ni même besoin de prévenir le lundi matin lorsqu'ils sont bloqués dans un embouteillage (la puce RFID envoie d'elle-même cette information à leur patron).
On le voit, ce genre de technologie a un potentiel social « perturbateur » (sinon perturbant), voire disruptive.

Mais il y a un type d'impact dont on n'a pas parlé, or il me semble aveuglant : c'est celui sur la santé humaine et l'environnement vivant en général.

Étant moi-même électrosensible, je suis peut-être très bien placé pour en parler, ou au contraire très mal placé.

En tout état de cause, d'un pur point de vue de la gestion des risques, on voit qu'on est dans un scénario typique qui a déjà été vécu, en particulier pour la cigarette et pour l'amiante. D'un côté, une industrie qui, puissamment, inonde un marché, et tarit par tout un jeu de pressions les publications scientifiques qui iraient à contre-courant. De l'autre, des résultats scientifiques, épars et peu mis en valeurs, mais qui existent quand même, de façon incontestable, et prouvent que les radiofréquences GSM, par exemple, modifient la structure de l'ADN des cellules sanguines, et perméabilisent la barrière hémato-encéphalique.

Dire que ces effets révélés sont inquiétants relève de l'opinion. C'est en particulier la mienne. Je pourrais avoir raison, mais ce n'est pas le sujet.

Là où l'attitude est objective, c'est quand on constate que ces résultats sont fortement dévalorisés, minimisés, par un milieu soumis davantage à un mécanisme mercantile de l'économie qu'à l'éclairage des personnes. Pas de quoi fouetter un chat non plus jusque là. Sauf que, et c'est là que je m'insurge avec une bête objectivité, sauf que c'est le scénario qu'on a connu pour la cigarette et pour l'amiante, qu'on a vu quels risques cela induisait, et que pour les radiofréquences GSM ou Wi-Fi on refuse de gérer ce risque potentiel, risque précédemment avéré, je le répète, dans un même pattern de scénarios.

C'est-à-dire que même si ces radiofréquences ne présentent pas un risque sanitaire si important, le fait de ne pas adopter une démarche raisonnée et adulte de gestion du risque sur ce sujet, indique par nécessité qu'on ne prend pas la peine non plus de gérer le risque sur d'autres sujets, sujets nombreux vu l'actualité technologique et éventuellement encore moins sous les feux de la rampe que la téléphonie mobile et les RFIDs, et donc en particulier sur des sujets qui représentent un vrai danger. Je suis là au niveau de la bête statistique.

Croire que le principe de précaution signifie un repli obscurantiste, et qu'il vaut mieux être au chaud dans la religion du progrès, qu'au chaud dans le Moyen Âge de l'anti-progrès, relève à mon sens d'une vision faussée de ce qu'est par essence l'évolution. On ne peut pas juger l'évolution en train de se faire, on peut seulement agir au sein de cette évolution. Or ne souhaiter qu'être emporté dans un mouvement général de nouveautés, est tout sauf agissant.

Pour en revenir au principe de précaution : on m'a toujours dit que la prudence était une vertu — cardinale, même —, et je ne l'ai jamais vue comme une vertu passive... contrairement à certaines puces RFID :-)

27 juin 2007

Bienvenue à Jérémy

Je travaille en ce moment avec Jérémy Girard, architecte SQLi Toulouse, sur un projet à forte composante technique J2EE et SOA. Et comme c'était un peu une partie qu'on avait anticipée dans la plate-forme des Fûts, Jérémy rejoint le projet, et notamment le blog, des fois qu'il aurait à faire part d'avancées sur les Fûts, ou sur le projet spécifique (un peu différent des Fûts cela dit).

Bienvenue à Jérémy, donc.

21 juin 2007

Sauvegardez

Je viens de retrouver un bout de code que j'avais écrit en 2002 sur un ordinateur que je n'ai plus.

C'est dans des méandres internetisques que j'ai retrouvé l'archive oubliée. Mais présente.
  • Le code récupéré n'a pas compilé de suite.
  • Il n'y aucun test automatisé (je n'ai franchement découvert JUnit qu'en 2003).
  • Les fichiers sont vaguement en ISO-8859-1.
  • Le code est formaté à la main : je travaillais avec UltraEdit à l'époque — je devrais d'ailleurs m'y remettre, question de productivité.
  • Les commentaires sont en anglais (very impressive).
  • Les paramètres des méthodes ne sont pas final.
L'archive comporte une vague spec et un jeu de tests.

En fait toute la documentation est sur le web, dans des sites que je ne tiens pas à jour mais qu'il fait parfois bon redécouvrir.

Moralité, une sauvegarde sur internet, vaut mieux que deux tu l'as plus sur CD.

10 juin 2007

Intégration de l'intégration continue

Sujet très technique.

Il s'agissait de mettre en place un système d'intégration continue sur une machine Unix dédiée...

Les contraintes et exigences étaient les suivantes :
  • accès aux sources via internet par le protocole SVN+SSH, sur un port autre que le port 22 (SSH)
  • éventuellement accès aux source sur le LAN par SVN seul (port traditionnel)
  • accès différenciés au système de suivi selon les types d'utilisateurs : accès invité aux résultats, accès authentifié à la configuration du projets, et accès administrateur à la configuration du système lui-même
  • rendu des pages de suivi à travers un reverse proxy HTTP, qui redirige une adresse sur le port 80 vers une adresse sur un autre port et une autre machine sur le même LAN
  • configuration équivalente à un fichier XML exportable, voire gérable en conf
La situation initiale en développement et en configuration était la suivante :
  • accès aux sources depuis Eclipse 3.2.2 / Windows XP SP2 par SVN+SSH
  • accès aux sources depuis Eclipse 3.2.2 / Mac OS X 10.4.9 par SVN+SSH
  • accès aux sources depuis une ligne de commande Windows XP SP2 par SVN+SSH (utilisation conjointe de PuTTY Pageant et de TortoiseSVN)
  • accès aux sources depuis des scripts Ant sous Windows XP SP2 par SVN+SSH (utilisation de svnAnt)
  • accès aux sources depuis une ligne de commande FreeBSD 6.2 par SVN+SSH (déclaration d'un tunnel déclaré dans ~/.subversion/config)
  • accès aux sources depuis des scripts Ant sous FreeBSD 6.2 par SVN+SSH (utilisation de svnAnt)
Les systèmes d'intégration continue que j'ai testés sont les suivants :
  • CruiseControl 2.6.2 (26 avril 2007)
  • LuntBuild 1.4.1 (5 juin 2007)
  • Continuum 1.0.3 (24 avril 2006)
Et le gagnant est... Continuum.

Ce n'est en aucun cas une étude approfondie. L'idée était d'aller vite.

C'est-à-dire que si on galère plus d'une heure sur l'installation ou la configuration d'un produit, hop, on l'abandonne.

Dans le détail, ce que j'ai constaté, sans creuser plus avant :

CruiseControl
  • permet de visualiser les résultats de tests (format junitreport)
  • ne permet pas de différencier les modes d'accès. Tous les utilisateurs qui voient les résultats peuvent également déclencher des builds.
  • réagit très mal quand on le met derrière un reverse proxy. Il y aurait des patchs à rajouter pour essayer quand même, mais bon.
    Quand on rentre dedans et qu'on voit l'indigence de certains développements open source, on essaie de changer des dizaines de lignes, mais on désespère.
    Abandon.
  • depuis Windows, avait de gros problèmes à aller chercher les sources par SVN+SSH (ah, et pourquoi ça ?).
  • note : permet de choisir l'emplacement des répertoires de local working copy pour SVN
LuntBuild
  • offre une typologie de 3 utilisateurs.
  • permet une configuration fine par une IHM web.
  • permet de positionner le rapatriement de sources sur des branches ou des tags
  • permet un paramétrage sympa : on peut fixer des propriétés d'exécution, etc.
  • franchement, c'était le plus prometteur.
  • quoique bénéficiant d'un installeur graphique bien foutu, est compliqué à installer en headless (= en ligne de commande).
    La copie de la webapp dans le répertoire de Tomcat 4.1.34 ne fonctionne pas, on obtient des java.lang.IllegalStateException indémerdables, mais si on le met dans Tomcat 5.5.17, il faut renseigner des variables qui ne sont pas documentées... Produit open source, pas de documentation de référence, tout ça.
    Abandon.
  • depuis Windows, avait de gros problèmes à aller chercher les sources par SVN+SSH (tiens donc ?).
  • note : met où il veut les répertoires de local working copy pour SVN

Continuum
  • permet un accès différencié entre invités et utilisateurs enregistrés
  • est d'une installation très simple
  • a une IHM web très simple aussi, voire rudimentaire (bien plus fonctionnelle que celle de CruiseControl cela dit)
  • du coup, ne disposerait pas d'une configuration exportable ? Apparemment pour cela il s'agit d'utiliser l'interface XML-RPC...
  • permet de changer la Base URL de l'IHM web (pratique pour le reverse proxy)
  • nécessite de modifier %ANT_HOME%\bin\ant.bat sous Windows, pour renvoyer un code erreur !=0 en cas de BUILD FAILED
  • se connecte sans problème à SVN+SSH depuis Windows
  • un projet = un module SVN (ouch!)
  • renomme à sa guise les répertoires de local working copy Subversion... (re-ouch!) Ça m'apprendra à être encore plus modulaire !
  • attend des plombes sur le checkout d'un gros projet (bah, c'est l'initialisation)
  • est rustique par rapport au potentiel de CruiseControl, mais au moins Continuum marche, lui, derrière le reverse proxy ! et marche plutôt bien :-)
  • ah, j'oubliais : la documentation de prise en main est très bonne (au vu du résultat atteint en un temps limité, pas de la qualité intrinsèque de la doc), mais je cherche encore la documentation de référence.

06 juin 2007

Réseautage cadres sur Toulouse

Par l'intermédiaire d'un collègue, Olivier Boisselet, j'ai pu participer hier à une soirée sur Toulouse, organisée par Cadres d'Oc. Allez, disons 60 personnes présentes ? Le thème de la conférence était « Marque ou pas marque ? ». Un panorama de concepts marketing, plus la vision personnelle de l'intervenant.
À part ça, ça réseaute à fond. Business, business, business, social, business, business, business... ;-)

Soirée bien sympathique ma foi. L'humanité et le dynamisme du secrétaire, Bernard-Yves Saint-Paul, sont je crois ce que je retiendrai le plus.

C'était l'occasion de rencontrer par une belle soirée toulousaine des entrepreneurs et cadres de tout poil. Tout le monde était en costard :-O et avait sa vingtaine de cartes de visite réglementaire.

Là il est 9 h 00. Les retours commencent à se faire : mails, demandes de contact Viadeo...

La France qui se lève tôt ? Tu parles. Business as usual, oui.

Merci Olivier.

03 juin 2007

Bill Gates and Steve Jobs: Video

Tout le monde en parle, alors je regarde : D5.

Et... Wow!

Ils parlent de l'informatique comme on en parlait en 1980. Les mêmes yeux qui pétillent, les mêmes rêves, et toujours une très grande énergie. Ils parlent de leur business et de leur passion. Ils s'envoient des vannes. Affectivement, il y a comme une complicité entre eux. Ils expriment leurs visions, leurs façons d'envisager les choses, avec une grande liberté : grande liberté d'action (100 milliards USD de capitalisation pour Apple Corp. Pour Microsoft, je ne veux même pas le savoir !), mais aussi grande liberté de pensée. C'est la Silicon Valley. C'est... l'Amérique.

Au moins ça change des lanceurs de start-ups qui ne parlent que pognon et Business Models tirés par la pub. Gates et Jobs parlent de valeur, de stratégie, de marché, de consommateurs, et même... d'utilisateurs.

Hey! ça m'a rappelé... un symbole, tout droit sorti des années 1980. Une pomme arc-en-ciel :-)

28 mai 2007

Formalisation vs. Annotations (suite à : codegen vs. @)

On dirait bien qu'il faut que les fichiers sources de génération, les méta-données, les diagrammes, les annotations... soient exprimés bêtement dans un langage fonctionnel. Langage fonctionnel, dont les documents « déclaratifs » XML, YAML, UML... sont des exemples primaires.

La frontière étant que le langage de programmation du code rajouté ne doit pas se mélanger aux « informations » (pour le coup, on est bien dans de l'information !) des méta-données. Tant que toute cette partie formelle est équivalente à une expression prouvable, on peut profiter de notre arsenal de preuve.

27 mai 2007

Génération de code vs. Annotations

Le sujet est un peu plus général que le titre, mais bon.

Il apparaît que dans le processus de développement logiciel, la génération de code qui s'appuie sur un formalisme (par exemple UML, XML, YAML...) est supérieure aux techniques inline qui s'embarquent dans le code lui-même : annotations, Generics, syntaxes de conventions à la RoR, reflection, JSP...

En pratique, cela se comprend quand le framework sous-jacent n'est pas bien mûr, ou pas maîtrisé : autant pouvoir s'appuyer sur du code produit par génération plutôt que sur un comportement « magique ». Mais en gros c'est une question de goût.

Cependant, du point de vue théorique, la génération de code est un opérateur qui a un inverse, et pas l'inlining. Dans les cas qui m'intéressent (principalement de la génération par XSLT), le code produit par génération est équivalent à la formalisation initiale du composant. Tandis qu'en inlining, non seulement on peut enrichir la formalisation avec du code (JSP...), on peut ou pas utiliser certaines techniques (Generics...), mais différents développeurs pourront avoir des techniques différentes. Certes, par rapport à la génération l'inlining a une richesse sémantique (cela du reste lorsque des gens trouvent intéressant de lire ce code), mais on n'a plus d'inverse.

L'inverse assure l'équivalence entre le code produit et la notation formelle. Ainsi un point de contrôle sur le code est équivalent à un point de contrôle sur la notation formelle. Ce n'est pas du tout le cas avec l'inlining : il faut écrire des points de contrôle spécifiques.

Le mieux qu'on puisse tirer est une extraction formelle à partir de code inlined : liste des annotations, etc. On obtient moults points de contrôles, mais on est forcément en-deçà du code lui-même. Et on perd évidemment toute la sémantique.

En conclusion : il ne faudrait plus mettre la sémantique dans l'inlining, mais dans une description autonome et disjointe. Et malgré les apparences il ne faut pas imaginer pouvoir suivre ce principe quand on utilise les annotations : on est toujours tenté par elles d'enrichir le code ou par le code d'enrichir icelles.

25 mai 2007

Plateformes applicatives

Le principe est le suivant : on met à disposition des utilisateurs une plateforme sur laquelle ils peuvent mêler eux-mêmes des composants applicatifs. Derrière, le métier, ou business, est lui regroupé non pas par utilisateurs, mais par services. Cela fait un maillage consistant, où chacun agrège ce qu'il veut : les utilisateurs font du drag&drop de widgets, les utilisateurs-développeurs font des mashups, les entreprises créent des partenariats pour se partager les données. Imaginez que vous puissiez faire installer par drag&drop un service Flickr sur votre page personnelle (modèle de NetVibes, voire d'AppExchange...), service qui propose des « objets » manipulables : des albums, des images, des personnes, des tags... et que cette manipulation permette les échanges avec les autres widgets : drag&drop d'image de Flickr vers un module de chat, recherche d'images analogues, retouche d'image... Ces fonctionnalités d'échanges ne sont pas apportés par les widgets eux-mêmes (très important), mais par la plateforme.

Oui, oui, ça date de 1984, et ça s'appelle Macintosh. Les applications y sont bien pensées, mais, surtout, elles prévoient dès leur conception de pouvoir échanger des « objets » avec les autres applications.
Imaginons qu'on arrive à ce modèle également pour le web.

Selon le point de vue adopté sur ces principes, on obtient les univers Netvibes (cohérence de la plateforme applicative), l'écosystème Netvibes (services publiés), la Facebook Platform (services publiés), AppExchange de SalesForce (services publiés, logique de partenariat entre métiers).

Un article de Fred Cavazza connexe : Réseau social + Web OS = Facebook Plateform

Et les Fûts ? Ben les Fûts c'est ça, mais pour les associations, open source, déployable sur le modèle Peer-to-Peer, et surtout, surtout, encore à l'état d'étude.

23 mai 2007

PHP vs Java

C'est moi, ou du code Java pourrave écrit à la va-vite, sans caching, sans pool de connexions, avec de l'introspection dans tous les sens, va plus vite que le code PHP ultra-optimisé avec les pconnect() de la mort-qui-tue qu'il était censé reprototyper ?

Déjà 100 ms de gagnées sur 130... Que reste-t-il à PHP ?

05 mai 2007

YAML vers XML

YAML est une notation fortement lisible et bien adaptée aux fichiers de configuration.

J'ai découvert YAML avec Ruby on Rails, et il m'a semblé pertinent de l'utiliser pour mes fichiers de configuration et de sources de génération de code.

Dès lors, afin de reboucler avec l'existant écrit XSLT ou autres mécanismes qui prenaient du XML en entrée, il est apparu intéressant de chercher un moyen de convertir du YAML en XML. Et là c'est absolument extraordinaire : alors que la spécification décrit en détail le modèle de représentation YAML, les essais de binding XML sont totalement désastreux.

J'ai bien trouvé quelques sources en Java :
  • JYaml. Fin constatée des travaux : février 2006. Java 5 only.
  • JvYAML. Activité constatée : de juin à septembre 2006.
  • yaml4j. Juin 2005.
  • JAML.
Hors Java, parlons par exemple de Syck, dédié à Ruby, Python, PHP et OCaml, rien de moins.
Mais tout ça est orienté fichiers plats, périmètre restreint, échanges de données, et performances.

En Java, je ne trouve pas de documentation d'architecture. L'un parle fichiers plats, l'autre System.out.println(), l'autre type cast...

Je n'ai pour ma part aucun intérêt à utiliser YAML dans des échanges de données. Je préfèrerais voir cracher du bête XML, dans le bête respect de la spécification.

01 mai 2007

Exhaustivité du Système d'Information

Mais quel intérêt de chercher à tout classifier, à tout contrôler ?

Pourquoi vouloir tout automatiser ?

Et pourquoi cette peur de la redondance des données ?

Un bon SI, c'est un SI au service des humains. Les humains préfèrent d'ailleurs un système fiable à un système qui se permet d'avoir des données incohérentes et qui en plus aurait des velléités de totalitarisme.

L'exhaustivité du SI, c'est un mythe idéologique. C'est une perversion. C'est souhaiter une plate-forme unique, qui contienne des données en correspondance à tout instant, dont la fiabilité serait assurée par la théorie, c'est-à-dire par un discours incomplet. C'est tomber systématiquement dans le travers de réfuter ce qui n'a pas été prévu par l'enthousiasme naïf du démiurge. « Pourquoi irais-je contrôler le résultat, puisque si tout a été fait comme prévu, le résultat est bon ». Aucune place pour la critique. Aucune certitude (sauf que les implémenteurs sont forcément mauvais). Et aucun humour, vous remarquerez.

Alors que d'un autre côté, on sait créer des systèmes souples, avec des traitements asynchrones et des contrôles dans tous les sens, en donnant à l'envi des indicateurs de fiabilité, en écrivant d'ailleurs ces contrôles avant le système lui-même. La fiabilité est donnée par l'usage. Et la fiabilité est forcément bonne. Pas parfaite dans un idéal, mais... bonne en pratique. Si les indicateurs sont publics, qui a intérêt à ce qu'ils soient mauvais ?

23 avril 2007

Confluence Personal License

Confluence, ce très bon wiki moultes fois recommandé, a depuis peu (me semble-t-il) un programme de licensing gratuit pour 2 utilisateurs. Tout le monde peut lire et laisser des commentaires anonymes, mais seuls 2 comptes, dont le compte Admin, peuvent créer et modifier des pages.

Le produit nécessite un JDK 1.4, vient par défaut avec son propre serveur HTTP et sa propre base de données.

Installé.

Confluence en licence standard (on part à $1200 dans le cas où on est ni une association à but non lucratif ni un projet open source) est un outil obligé pour travailler de façon collaborative. C'est un produit simple, rapide, efficace, ergonomique. Il vient avec un éditeur WYSIWYG pas trop buggé (pas trop, ai-je dit), une recherche full text très puissante, il sait indexer les documents Word, PowerPoint et PDF, et exporter en Word et PDF. Il est possible de rajouter des plugins. Le support est même réactif.

N'acceptez pas moins bien.

22 avril 2007

Pratique de l'art

Le 9 novembre 1989, Mstislav Rostropovitch, lui aussi virtuose, est lui aussi allé jouer dans une foule bruyante, voire pire : Bach était alors couvert par le bruit des burins et des marteaux piqueurs. Le mur de Berlin tombait, morceau après morceau.

Pourtant Rostropovitch ne s'est jamais plaint de n'avoir pas été écouté lors de cette expérience. Ce que depuis Paris il avait découvert se dérouler ce soir-là avait suscité chez lui une bête nécessité créatrice. L'art n'avait plus besoin de prétexte, ni l'artiste de public. Il s'agissait à mon avis d'une bête transcendance, du même ordre qu'un bête marteau crevait ce mur emprisonnant l'Europe.

Les expériences de Rostropovitch devant le mur de Berlin et de Joshua Bell dans le métro de Washington sont à mon avis à comparer. Si Kant n'était pas tant taxé de rigorisme, ce rapprochement servirait pleinement plusieurs de ses démonstrations sur la raison pratique.

18 avril 2007

Instrumentation

Joshua Bell a été convié en janvier dernier par le Washington Post a venir jouer du violon dans une station de métro, pour voir si des passants seraient touchés par la musique.

Ce qui me frappe c'est la différence d'appréciation de la musique sur la vidéo lorsqu'on voit que quelqu'un écoute ou... personne.

Dans cette expérience la virtuosité de Joshua Bell a été délibérément instrumentée pour montrer que des usagers du métro sont instrumentés de façon plus forte et plus durable par leur quotidien, et que certains, extrêmement rares, peuvent s'échapper de cette routine et être attentifs pour un instant à la sérénité.

Mais ce que j'y vois surtout, c'est la démonstration que l'art existe dans la relation avec le public, et que la virtuosité dans le vide, eh bien... ça n'est rien de plus. Mr Bell a dû bien s'ennuyer par moments.

Ah, et l'instrument est un Stradivarius.

Same difference.

17 avril 2007

Bug tracker planté

Tiens, ça ne m'était encore jamais arrivé, de planter un bug tracker. Où est-ce que je fais un rapport ? Cette fois ce n'était pas méchant cependant : un problème de mises à jour mal terminées sur la machine « repository ».

Une occasion de plus de mesurer l'importance des backups.

#51. Mettre en place des backups automatiques pour les données du bug tracker.

Ha... ha.

16 avril 2007

FreeBSD/i386

J'ai été médisant l'autre jour. FreeBSD/i386 s'est installé comme un charme sur le Dell. Il dispose par ailleurs d'un JDK natif et gère les RAMs de 4 Go.

Kss.

11 avril 2007

Jamais sans Windows

Ils sont sympas chez Dell. On peut désormais commander des machines sans Windows préinstallé. Sauf que sur un Dimension E520 nSeries (sans OS, donc) même le CD fourni avec un FreeDOS beta8 bootable ne s'installe pas, car le clavier USB cesse soudain d'être reconnu en plein milieu de la procédure. Idem pour un FreeDOS 1.0 final. Alors ne parlons pas de Linux ou de *BSD.

Certes l'update DM061 BIOS 2.2.1 semble avoir été passée avant la livraison. Mais rien ne fonctionne pour autant.

C'est rageant.

30 mars 2007

Subversion Repositories (SVN)

Un projet chez SourceForge, un projet chez Google Code, un serveur dans un cagibi distant (remote cagibi), chacun avec un repository Subversion (SVN), le deux premiers avec un accès HTTPS, le troisième en SVN+SSH. But du jeu, arriver à développer avec ou sans Eclipse, sur des postes Mac (Mac OS X) ou Windows (XP), et faire un peu d'intégration pas trop discontinue sur du NetBSD...

Mazette que de temps passé sur la configuration de tout ce petit monde.

Les Fûts sont au point mort

Déjeuner hier des trois fondateurs du projet.

Les nouvelles ne sont pas brillantes.

On gèle toutes les actions auprès des associations... Certaines attendaient un site web. Elles ne l'auront pas :-(
On gèle toutes les actions auprès des financeurs... Certains croyaient dans le projet. Il faudra attendre :-(
Et la prochaine réunion technique n'est pas prévue...

Bref.

21 mars 2007

Affinitiz : blogs et communautés

Affinitiz, un service qui allie blogs et communautés. Bon, d'après la présentation ce n'est pas d'une ergonomie folle, mais ça a le mérite d'exister, suivez mon regard.

Le service existerait depuis 6 ans, et compte actuellement 300 000 adhérents.

18 mars 2007

top10is : pour les associations sportives

Via « Créer et animer une association Loi 1901 » : top10is, un outil en ligne, actuellement en béta gratuite, qui cible les associations sportives… Euh, surtout les clubs de tennis, en fait.

17 février 2007

À quand l'hébergement par les internautes ?

Vu chez Transnets : «Web 3.0: une autre branche pour l’arbre des possibles»

Voici un extrait de l'idée :
Web 1.0: Les contenus sont produits et hébergés par des entreprises.

Web 2.0: Les contenus sont produits par les internautes et hébergés par des entreprises.

Web 3.0: Les contenus sont produits et hébergés par les internautes.
(Cela signifie ne plus héberger son mail sur Gmail, ses photos sur Flickr, etc… Les données sont reçues, stockées et accessibles sur une machine administrée par et physiquement chez l’interna
ute.)

Oooh, comme je suis d'accord :-) C'est ça, internet. La mise en réseau, à la fois des machines et des geeks (l'internet du début), des gens normaux (le web, puis le web 2.0), mais également des machines chez les gens (le peer-to-peer enfin valorisé par un côté réellement applicatif).


J'irai plus loin : Échangeons des données cryptées par P2P, et distribuons les traitements.

12 février 2007

Typographie française sur le web

En travaillant sur Unicode, je découvre la typographie sur le web.

Certes, je faisais jusqu’ici mon possible pour utiliser les guillemets chevrons [«…»] bien français au lieu des guillemets anglophones ["], j’usais de capitales accentuées, même dans le cas de majuscules (voir ici: Majuscule et capitale, minuscule et bas de casse), et je rajoutais au mieux de belles espaces insécables avant les signes de ponctuation double comme [:], [;], [?] et [!], mais… en restant dans le jeu de caractères ISO-8859-1 (ou « ISO-Latin-1 ») j’avais au final tout faux.

Les liens suivants m’ont ouvert les yeux :
Tout d’abord, les signes de ponctuation [;], [?] et [!] ne doivent pas être précédés d’une espace insécable, mais d’une… fine.

Ah.

Et comment fait-on une fine en HTML ? M’enfin, en changeant la taille de la police de l’espace insécable, c’est bien connu !
Tous à bord !
Doit s’écrire :
Tous à bord<span style="font-size: 30%;">&nbsp;</span>!
Autant dire que ça commence bien.

Ensuite, l’apostrophe. Moi qui croyais benoîtement que la courbure imposée lors de la frappe par Microsoft Word était de l’ordre du superflu, eh bien non, l’apostrophe française s’écrit bien [’] (Unicode &#8217;), et non ['] (ASCII &#39;).

Et le tiret cadratin, alors ? Oh, un simple &#8212; (—). Rappelons en effet que le &#151; du Windows CP-1252 n’est pas Unicode, et ne fonctionne comme l’indique sa table de codage, que sous Windows.

Le tiret demi-cadratin est lui donné par &#8211; (–).

Les points de suspension ? &#8230; (…).

Et heureusement que je suis sur Mac : tous ces caractères, en plus des majuscules accentuées, sont facilement accessibles au clavier. À part la fine insécable, bien sûr.

Me voilà donc à revoir toutes mes pages web francophones et à estimer le temps de recomposition de leurs textes.

Mais soudain j’échoue pour mon infortune sur une page de typographie, datée de 2004, qui s’intitule « Les ligatures ».

Page où l’on se remémore qu’on doit d’user du « œ » &#339; pour bien parler d’un œuf (Unicode) et non d’un oeuf (pour s’en tenir à ISO-8859-1) ; quant au «æ» de Lætitia, il se trouve, lui, dans ISO-8859-1.

Mais page, où l’on se fait également et aimablement rappeler, que « f i » doit être ligaturé. Ainsi que « f l ». « f f i ». « f f l ». Etc. !

« f f » : « ff », &#64256;
« f i » : « fi », &#64257;
« f l » : « fl », &#64258;
« f f i » : « ffi », &#64259;
« f f l » : « ffl », &#64260;
« c t » : « … », &#…; Introuvable ?
« s t » : « st », &#64262;

On parlera donc de « signification » et d’« efficacité », et non de "signification" ou d'"efficacité" (quelle horreur ! une apostrophe droite mariée avec d’angliches guillemets ; on ne sait plus qui est qui – sans parler de l’absence de ligature).

Comparez en sélectionnant des parties de mots : dans les premiers cas, les lettres ligaturées forment bien un unique caractère.

Et c’est là qu’on atteint la limite de l’exercice : ces mots aux lettres joliment ligaturées ne peuvent plus être trouvés dans la page par une bête recherche dans son navigateur ! On ne sait non plus ce qui advient de l’indexation du texte.

Faut-il patcher Firefox ? Google ? Aïe, aïe !

11 février 2007

Hellotipi : plateforme de sites familiaux

Le site Hellotipi : http://www.hellotipi.com/
Blog du créateur, mrBoo : http://www.mrboo.fr/

Hellotipi se présente comme une plateforme de création de sites de famille.
Chaque site de famille contient :
  • Un blog communautaire (chacun peut y donner des nouvelles et faire des commentaires)
  • Des albums de photos (stockage illimité)
  • Un arbre généalogique simplifié (à venir)
  • Un annuaire des membres de la famille
  • Un agenda partagé (pour planifier des événements familiaux)
Wikis, calendriers, plateforme mutualisée… On a tous les mêmes bonnes idées :-)
mrBoo parle même d'utiliser OpenID : « Votre identité numérique »

03 février 2007

Internationalisation de logiciel

Chez Finis Africae, un article sur la difficulté à utiliser les bons codes de langues (pour PalmOS, bon…) lorsqu'on veut internationaliser un logiciel : http://www.finis-africae.net/article.php?id=861

30 janvier 2007

Où en sont les Fûts ?

C'est l'hiver.

Standby sur les Fûts pour 3 mois.
Personnellement, je prends mes marques sur une nouvelle mission, qui me retrouve basé à Montauban.
Les autres sont un petit peu tous sous l'eau. Ils réagiront sur ce blog si ce n'est pas vrai :-)

Les projets de statuts sont d'après moi dans leur état définitif, mais… mais… mais qu'est-ce qui bloque, alors ?
Les fiches d'adhésion sont au même point.

Les développements de la plateforme PHP/Java sont interrompus jusqu'à fin mars.

Des prototypages et des essais de CMS et de wikis PHP pour les associations qu'on avait contactées en 2006 sont en cours. Si, si, c'est en cours. Je sais, ça ressemble à un gros serpent de mer, cette histoire. Même pas foutus d'installer Joomla! ou Drupal chez Free ! Il faut dire qu'avec ces solutions on est loin de la plateforme de services transverses, donc forcément, la motivation n'est pas la même... Mais ça avance. Les installations de produits en tests se succèdent sur la plateforme technique.

Les réunions mensuelles continuent, avec un staff qui se réduit finalement à 4 habitués : Benoît, Christophe, Pierre et moi. Les discussions, ainsi que sur la mailing-list, se concentrent actuellement sur des sujets techniques.

La dernière réunion a eu lieu jeudi dernier 18 janvier. Au programme, le « DVD du prestataire ». 2 Go de logiciels vaillamment récoltés par Benoît, gratuits et / ou open source, pour le métier de la partie « technique » de l'association. Ça sert aussi à ça, les Fûts :-)

C'est l'hiver, donc.

On est déjà fin janvier.

Ça ne nous empêche pas de vous souhaiter, et de nous souhaiter par la même occasion :-) que cette année soit la meilleure du monde :-)