Social ET environnement

En rédigeant le compte rendu de la soirée de lancement de la deuxième saison des artisans du changement je me suis rendu compte que bien que cette série soit consacrée à l’entrepreneuriat social, les intervenants avaient largement placé la soirée sous le thème du développement durable.

Un peu plus tard, en lisant le programme du festival bobines sociales, j’ai pu constater que la plupart des films présentés auraient leur place dans un festival sur la protection de l’environnement.

Ces deux exemples montrent bien que l’on prend de plus en plus conscience que les problèmes sociaux et environnementaux sont étroitement liés et quasi indissociables :

  • on ne peut protéger l’environnement que si l’on fournit aux populations des moyens de vivre sans piller la nature
  • à l’inverse, dans une planète surexploitée le mythe de la croissance illimitée n’est pas viable et on ne peut fournir des moyens de vivre convenablement au plus grand nombre qu’en modifiant la répartition des richesses pour préserver l’environnement.

En schématisant, et en définissant le fait d’être « de gauche » comme celui de placer l’équité sociale au tout premier plan, je pense qu’il ne devrait plus être possible d’être de gauche sans être écologiste ni d’être écologiste sans être de gauche…

Notes de migration de Gallery 2 vers WordPress et NextGEN Gallery

Quelques notes rapides prises lors de la migration de mes albums Gallery 2 vers le plugin WordPress NextGEN Gallery

Attention : les manipulations de bases de données décrites ici sont dangereuses et il n’y a aucune garantie qu’elles fonctionnent pour vous!

La première différence est terminologique :

  • Gallery gère une « galerie » qui est la racine de votre collection de photos et est composée d’albums pouvant être imbriqués les uns dans les autres (les albums sont composés de photos et d’albums).
  • NextGEN Gallery gère des « galeries » photos qui sont des ensembles de photos ne pouvant pas être imbriquées les uns dans les autres mais peuvant être groupées dans des « albums » qui peuvent, eux, être imbriqués les uns dans les autres (les galeries sont uniquement composées de photos et les albums sont composés de galeries et d’albums).

Cette différence se retrouve au niveau de la structure des répertoires, puisque les albums de Gallery forment physiquement une structure arborescence sur le système de fichier alors que les galeries de NextGEN Gallery sont toutes aux même niveau et que ses albums ne sont pas matérialisés sur le système de fichier (ils sont virtuels et n’existent que dans la base de données).

Mes albums Gallery avaient tous, c’est une chance, des noms uniques. J’ai donc simplement « aplati » la structure de fichiers après transfert dans wp-content/gallery et utilisé l’interface d’administration de WordPress pour créer les galeries à partir des répertoires que je venais de transférer.

Le nombre d’albums étant limité, je n’ai pas cherché à migrer leur définition et les ai également recréé manuellement dans l’interface d’administration.

Je voulais par contre éviter de perdre les métadonnées associées aux photos et c’est à ce niveau qu’il m’a fallu faire preuve d’un peu de « geekerie »!

J’ai commencé par examiner la base de données Gallery 2 (qui dans mon cas était gérée par MySQL) pour exporter ces métadonnées en XML :

vdv@dedibox4:/var/lib/wordpress_vdv/wp-content/gallery$ mysql -uroot -pXXXX --default-character-set=utf8 -X gallery2_vdv > /tmp/images.xml <<EOF
select 
	e.g_id,
	i.g_description,
	i.g_keywords,
	i.g_summary,
	i.g_title,
	f.g_pathComponent,
	fp.g_pathComponent,
	iam.g_orderWeight
from 
	g2_Entity e,
	g2_Item i, 
	g2_FileSystemEntity f,
	g2_ChildEntity ce,
	g2_FileSystemEntity fp,
	g2_ItemAttributesMap iam
where 
	e.g_entityType = "GalleryPhotoItem"
	and e.g_id = i.g_id 
	and e.g_id = f.g_id
	and e.g_id = ce.g_id
	and e.g_id = iam.g_itemId
	and fp.g_id = ce.g_parentId
order by fp.g_pathComponent,  iam.g_orderWeight;
EOF

A noter :

  • L’option « -X » pour formatter les données en XML
  • L’option « –default-character-set=utf8 » indispensable dans mon cas pour éviter que MySQL n’insère des caractères ISO-8859-1 dans un document XML sans déclaration d’encodage!

Le document XML obtenu est de la forme :

<?xml version="1.0"?>

<resultset statement="select 
    e.g_id,
    i.g_description,
    i.g_keywords,
    i.g_summary,
    i.g_title,
    f.g_pathComponent,
    fp.g_pathComponent,
    iam.g_orderWeight
    from 
    g2_Entity e,
    g2_Item i, 
    g2_FileSystemEntity f,
    g2_ChildEntity ce,
    g2_FileSystemEntity fp,
    g2_ItemAttributesMap iam
    where 
    e.g_entityType = &quot;GalleryPhotoItem&quot;
    and e.g_id = i.g_id 
    and e.g_id = f.g_id
    and e.g_id = ce.g_id
    and e.g_id = iam.g_itemId
    and fp.g_id = ce.g_parentId
    order by fp.g_pathComponent,  iam.g_orderWeight" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <row>
        <field name="g_id">22909</field>
        <field name="g_description" xsi:nil="true" />
        <field name="g_keywords" xsi:nil="true" />
        <field name="g_summary" xsi:nil="true" />
        <field name="g_title">dsc00001</field>
        <field name="g_pathComponent">aaa.jpg</field>
        <field name="g_pathComponent">011120-Forum-XML-2001</field>
        <field name="g_orderWeight">1000</field>
    </row>
    
    <row>
        <field name="g_id">22913</field>
        <field name="g_description" xsi:nil="true" />
        <field name="g_keywords" xsi:nil="true" />
        <field name="g_summary" xsi:nil="true" />
        <field name="g_title">dsc00002</field>
        <field name="g_pathComponent">aab.jpg</field>
        <field name="g_pathComponent">011120-Forum-XML-2001</field>
        <field name="g_orderWeight">2000</field>
    </row>
    
    ...
    
</resultset>

A partir de ce document XML, j’ai ensuite écrit une transformation XSLT 2.0 pour générer les instructions SQL insérant les données correspondantes dans la base de données WordPress / NextGEN Gallery.

Pour cela, il faut créer les tags en insérant des lignes dans les tables wp_terms et wp_term_taxonomy :

insert into wp_terms (name, slug) values ("albatros d'amsterdam", "albatros d'amsterdam");
insert into wp_term_taxonomy (term_id, taxonomy, parent, count) select term_id, 'ngg_tag', 0, 0 from wp_terms where name = "albatros d'amsterdam";                  

Associer les tags aux photos et incrémenter les compteurs adéquats :

insert into wp_term_relationships (object_id, term_taxonomy_id, term_order) 
    select pid, term_taxonomy_id, 1
        from 
            wp_ngg_gallery g,
            wp_ngg_pictures p,
            wp_terms t,
            wp_term_taxonomy taxo
        where
        	p.galleryid = g.gid
        	and t.term_id = taxo.term_id
        	and g.title = "amsterdam-vrac"
        	and p.filename = "crop0011.jpg"
        	and t.name="albatros d'amsterdam";
update wp_terms t, wp_term_taxonomy taxo set count = count + 1 where t.term_id = taxo.term_id and t.name="albatros d'amsterdam";               

Et enfin, mettre à jour les photos elles mêmes :

update
	wp_ngg_gallery g,
	wp_ngg_pictures p
set
	p.image_slug = "dsc00001",
	p.description = "dsc00001",
	p.alttext = "dsc00001",
	p.sortorder = 1
where
	p.galleryid = g.gid
	and g.title = "011120-Forum-XML-2001"
	and p.filename = "aaa.jpg";

A noter que je me suis appuyé, là aussi, sur le fait que mes galeries ont des noms uniques et que l’on peut donc identifier les photos à partir de leur nom de fichier et du nom de leur galerie.

La transformation utilise bien entendu le template nommé décrit dans mon billet précédent.

Vous pouvez la télécharger si vous voulez y jeter un coup d’œil.

Une fois la migration achevée, il faut encore veiller à gérer les redirections (cool uris don’t change…), ce que j’ai fait ç grand coups d’expressions régulières :

RedirectMatch	301	^/gallery/				https://blog.eric.van-der-vlist.com/gallery/?
RedirectMatch	301	^/gallery2/v(/[^/]*)*(/[^/]*/[^/]*\.(jpg|JPG|png))	https://blog.eric.van-der-vlist.com/wp-content/gallery$2?
RedirectMatch	301	^/gallery2/v/(.*)/(slideshow\.html)	https://blog.eric.van-der-vlist.com/gallery/$1/?
RedirectMatch	301	^/gallery2/v/(.*)			https://blog.eric.van-der-vlist.com/gallery/$1?
RedirectMatch	301	^/gallery2/				https://blog.eric.van-der-vlist.com/gallery/?

Formattage de texte en XSLT 2.0

Lors de la migration de mes albums photo de Gellery vers WordPress, j’ai du transformer des fragments XML tels que :

<row>
  <field name="g_id">22909</field>
  <field name="g_description" xsi:nil="true" />
  <field name="g_keywords" xsi:nil="true" />
  <field name="g_summary" xsi:nil="true" />
  <field name="g_title">dsc00001</field>
  <field name="g_pathComponent">aaa.jpg</field>
  <field name="g_pathComponent">011120-Forum-XML-2001</field>
  <field name="g_orderWeight">1000</field>
</row>

En instruction SQL telles que :

update
  wp_ngg_gallery g,
  wp_ngg_pictures p
set
  p.image_slug = "dsc00001",
  p.description = "dsc00001",
  p.alttext = "dsc00001",
  p.sortorder = 1
where
  p.galleryid = g.gid
  and g.title = "011120-Forum-XML-2001"
  and p.filename = "aaa.jpg";

Ce n’est pas bien compliqué, mais la méthode classique pour faire cela en XSLT est bestiale, répétitive, ennuyeuse et illisible… Cela donne quelque chose comme :

<xsl:template match="row">
 <xsl:variable name="title" select="if (field[@name='g_title'] != '') then field[@name='g_title'] else field[@name='g_pathComponent'][1]"/>
 <xsl:variable name="description" select="if (field[@name='g_description'] != '') then field[@name='g_description'] else $title"/>
 <xsl:variable name="summary" select="if (field[@name='g_summary'] != '') then field[@name='g_summary'] else $title"/>

 <xsl:text><![CDATA[update
 wp_ngg_gallery g,
 wp_ngg_pictures p
set
 p.image_slug = "]]></xsl:text>
 <xsl:value-of select="$title"/>
 <xsl:text><![CDATA[",
 p.description = "]]></xsl:text>
 <xsl:value-of select="$description"/>
 <xsl:text><![CDATA[",
 p.alttext = "]]></xsl:text>
 <xsl:value-of select="$summary"/>
 <xsl:text><![CDATA[",
 p.sortorder = ]]></xsl:text>
 <xsl:value-of select="position()"/>
 <xsl:text><![CDATA[
where
 p.galleryid = g.gid
 and g.title = "]]></xsl:text>
 <xsl:value-of select="field[@name='g_pathComponent'][2]"/>
 <xsl:text><![CDATA["
 and p.filename = "]]></xsl:text>
 <xsl:value-of select="field[@name='g_pathComponent'][1]"/>
 <xsl:text><![CDATA[";
]]></xsl:text>
 </xsl:template>

En tapant ce galimatia je ne pu m’empêcher de penser à la manière dont j’aurais pu faire cela en Python :

print '''
update
 wp_ngg_gallery g,
 wp_ngg_pictures p
set
 p.image_slug = "%(title)",
 p.description = "%(description)",
 p.alttext = "%(alttext)",
 p.sortorder = %(sortOrder)
where
 p.galleryid = g.gid
 and g.title = "%(galleryTitle)"
 and p.filename = "%(filename)";
''' % {"title": ..., "description: ...", ...}

Ne trouvez vous pas cela bien plus simple et plus élégant?

La bonne nouvelle, c’est que c’est très simple à implémenter en XSLT 2.0!

J’ai choisi une syntaxe « ${param-name} »plutôt que « %(param-name) » comme en Python, mais vous pourrez facilement adapter mon implémentation si vous préférez rester « pythonique »… Il suffit en fait de définir ce « template » nommé :

<xsl:template name="template">
 <xsl:param name="template"/>
 <xsl:param name="parameters"/>
 <xsl:analyze-string select="$template" regex="\$\{{(\i\c*)\}}" flags="">
   <xsl:matching-substring>
     <xsl:value-of select="$parameters/*[name() = regex-group(1)]"/>
   </xsl:matching-substring>
   <xsl:non-matching-substring>
     <xsl:value-of select="."/>
   </xsl:non-matching-substring>
 </xsl:analyze-string>
</xsl:template>

Et vous pouvez ensuite l’utiliser à loisir pour constituer vos chaînes de caractères :

 <xsl:variable name="title"
   select="if (field[@name='g_title'] != '') then field[@name='g_title'] else field[@name='g_pathComponent'][1]"/>
 <xsl:variable name="description" select="if (field[@name='g_description'] != '') then field[@name='g_description'] else $title"/>
 <xsl:variable name="summary" select="if (field[@name='g_summary'] != '') then field[@name='g_summary'] else $title"/>
 <xsl:call-template name="template">
   <xsl:with-param name="parameters">
     <title>
       <xsl:value-of select="$title"/>
     </title>
     <description>
       <xsl:value-of select="$description"/>
     </description>
     <alttext>
       <xsl:value-of select="$summary"/>
     </alttext>
     <gallery-title>
       <xsl:value-of select="field[@name='g_pathComponent'][2]"/>
     </gallery-title>
     <filename>
       <xsl:value-of select="field[@name='g_pathComponent'][1]"/>
     </filename>
     <sort-order>
       <xsl:value-of select="position()"/>
     </sort-order>
   </xsl:with-param>
   <xsl:with-param name="template"><![CDATA[update
 wp_ngg_gallery g,
 wp_ngg_pictures p
set
 p.image_slug = "${title}",
 p.description = "${description}",
 p.alttext = "${alttext}",
 p.sortorder = ${sort-order}
where
 p.galleryid = g.gid
 and g.title = "${gallery-title}"
 and p.filename = "${filename}";
]]></xsl:with-param>
</xsl:call-template>

Simple et efficace, non?

Coup de neuf pour mon blog

Mon blog était hébergé sur un vieux serveur qui commence à donner des signes de faiblesses et son déménagement sur un serveur plus récent a été l’occasion de lui donner un petit coup de neuf…

Mises à jour de la version de WordPress et de ses plugins bien entendu, mais aussi changement de thème : le thème dkert3 que j’utilisais jusqu’à présent s’est subitement mis à générer une erreur PHP après l’upgrade et en activant Twenty ten (le nouveau thème par défaut de WordPress) pour examiner ce qui se passait j’ai trouvé qu’il convenait bien à ce blog.

Le plus gros changement est sans doute l’intégration de mon ancien album photo au blog.

Pour le moment, cette intégration est faite « à périmètre constant » et reproduit l’ancien album mais j’essayerai de trouver le temps de l’enrichir et de l’améliorer!

C’est album photo était auparavant géré par Gallery, un logiciel de gestion d’albums photos que j’utilisais depuis sa première version.

Pourquoi l’abandonner?

Le positionnement de Gallery devient un peu délicat : c’est un logiciel de gestion d’albums photos destiné à publier des photos sur le web et à les partager des photos avec ses amis ou sa famille sans être un logiciel de gestion de photos ou un DAM.

J’apprécie beaucoup le logiciel Gallery, mais il me semble qu’il est pris en tenaille entre les extensions permettant de gérer des albums photos directement dans les blogs et les DAMs qui permettent également de publier des photos sur internet.

Ma décision d’intégrer l’album photos a finalement été motivée par deux raisons :

  • le souhait de pouvoir intégrer plus facilement les photos de l’album au blog,
  • la charge de travail lié au maintient de deux logiciels différents pour le blog et pour l’album photo.

Avant de prendre cette décision, j’ai migré mon ancien album photo sous la dernière version de Gallery (Gallery 3) et ai testé les plugins heiv Gallery3 et  Gallery3 Picker qui permettent d’intégrer respectivement des albums et des photos de Gallery3 dans WordPress. Le résultat était satisfaisant mais il m’a semblé moins convainquant que le plugin de gestion de photos NextGen Gallery que j’utilise déjà sur le site du Retour à la Terre.

Outre ce plugin, j’ai également installé :

  • Broken Link Checker qui vérifie les liens inséré dans le blog. J’ai du travail à faire à ce niveau : le plugin a détecté 72 liens « cassés’!
  • OpenID qui me permet, ainsi qu’à mes visiteurs de m’identifier en utilisant un OpenID.
  • Une version modifiée de Comment Form Notes qui affiche un message pour inciter mes visiteurs à utiliser OpenID pour poster leurs commentaires (ils évitent ainsi la phase de « modération »).
  • pageMash, bien utile pour gérer l’arborescence des pages du blog.
  • Raven’s Antispam dont j’espère qu’il facilitera la tâche de gestion des commentaires sur le site. Dites moi s’il bloque intempestivement vos commentaires!
  • Redirection qui permet de garder des URLs cools (qui ne changent pas) et d’analyser les erreurs 404.
  • Relevanssi qui améliore les fonctions de recherche.
  • Shutter Reloaded qui gère l’affichage des photos de manière spectaculaire.
  • XRDS-Simple nécessaire au plugin OpenID.

Un grand merci aux développeurs de WordPress et de ces plugins!

L’écosystème WordPress continue de m’impressionner par sa richesse. C’est une des raisons pour lesquelles j’ai adopté WordPress mais cette richesse comporte aussi des risques : lorsque l’on dépend de 10 plugins et d’un thème pour gérer un site, les risques que quelque chose ne se passe pas bien quand on met à jour la version du moteur WordPress ne sont pas négligeables et on a tendance à croiser les doigts avant chaque mise à jour!

Cachez cette sécheresse que l’on ne saurait voir

Sécheresse en Normandie

Les chiffres publiés par Univers Nature viennent confirmer, si l’on en doutait, que la sécheresse de notre verger normand n’est pas cas isolé.

Ce sont au contraire la moitié des départements français qui ont été soumis à des arrêtés préfectoraux imposant des restrictions d’usages de l’eau et le quart des départements qui sont sous restriction totale.

Je ne me souviens pourtant n’avoir vu passer qu’un petit article dans l’Eure Agricole en juillet sur le sujet et une recherche sur Google actualité laisserait presque penser que les sécheresses sont réservées aux « pays du sud« .

Pourquoi ce silence? A t-on oublié que l’eau est un élément vital? Le sujet n’est il pas beaucoup plus important que, par exemple, le cours de la bourse que tout bulletin d’information se croit obligé de donner?

Peut-être que les journalistes se désintéressent tout simplement du sujet.

A moins qu’ils ne le trouvent moins vendeur que des sujets plus bling-bling tels que la grippe A ou la castration chimique des récidivistes en matière de criminalité sexuelle (qui ne concernerait que 1,6% des condamnés).

Ou qu’ils veuillent éviter de mettre un peu plus de pression sur les agriculteurs qui ont suivi les incitations de nos ministères de l’agriculture pour tout miser sur des cultures gourmandes en eau (maïs notamment) et consomment maintenant 68% de l’eau consommée en France.

Ou encore qu’on ne veuille éviter de faire trop de bruit alors que de grandes manœuvres sont en cours pour achever la marchandisation des ressources naturelles dont l’eau n’est qu’un exemple.

Et vous, qu’en pensez-vous?

Les belles images

Certains pays sont mal partis : l’Afrique noire en particulier; la poussée démographique en Chine et dans toute l’Asie est inquiétante; cependant grâce aux protéines synthétiques, à la contraception, à l’automation, à l’énergie nucléaire, on peut considérer que vers 1990 sera instaurée la civilisation de l’abondance et des loisirs. La terre ne formera plus qu’un seul monde, parlant peut-être –grâce aux traducteurs automatiques– une langue universelle; les hommes mangeront à leur faim, ils ne consacreront au travail qu’un temps infime; ils ne connaitront plus la douleur ni la maladie.

Les belles images, Simone de Beauvoir, 1966

Ce petit roman que j’avais acheté chez un bouquiniste pendant mes années de taupe n’est, à juste titre, pas considéré comme une œuvre majeure de Simone de Beauvoir et je l’avais complètement oublié avant de la redécouvrir sur une étagère chez mes parents.

Les belles images qu’il décrit semblent aujourd’hui incroyablement naïves et utopiques : pensait-on réellement que les progrès technologiques allaient assurer le bonheur de l’humanité? Si j’essaye de me remettre dans l’ambiance de l’époque, il me semble que cette vision était en tout cas couramment affichée dans les médias et par nos dirigeants. Ce qui est également frappant est l’absence de toute considération environnementale dans cette vision.

Ce décalage est d’autant plus troublant qu’il est cantonné à ces déclarations et n’existe pas au plan des actes : on pourrait le transposer et le rendre très actuel en les remplaçant et en conservant la trame du roman et les actes de ses personnages qui n’ont pas pris une ride.

Les belles images ont décidément bien peu d’influence sur notre façon de vivre!

Réparer son toit

D’après notre couvreur notre toiture a été refaite lors des reconstructions massives effectuées après la dernière guerre. C’est son état général et surtout la taille des ardoises, introuvables en France mais communes en Angleterre, qui lui fait dire cela.

Elle tient encore le coup. Ce sont les crochets métalliques qui tiennent les ardoises qui lâchent lorsque le vent est trop violent comme cela a été le cas ces derniers jours en Normandie et cinq ardoises avaient été déplacées.

Ce n’est pas bien compliqué de replacer des ardoises : il suffit de remplacer les crochets et de les glisser à leur place.

Réparer mon toit fait partie des occupations simples et fondamentales que j’ai toujours plaisir à faire par moi-même tout comme faire mon pain.

C’est aussi l’occasion de voir notre terrain et les alentours sous un angle inhabituel et spectaculaire et le plateau qui nous entoure est d’une grande beauté bien que les agriculteurs aient fait disparaître le bocage normand dont on devine encore quelques traces.

Algorithmes génétiques

Un aspect inattendu du magasin le Retour à la Terre créé par ma femme Catherine est qu’il me donne l’opportunité de travailler dans des domaines connexes à ceux que je connais sur des projets intéressants parce que directement valorisables et à taille humaine.

C’est le cas du système de gestion des emplois du temps dont je viens de terminer une première version.

La gestion des emplois du temps dans une entreprise gérant une dizaine de personnes avec des rôles et des contraintes d’emploi du temps très variées est un véritable casse-tête et Catherine passait chaque semaine plus d’une demi-journée à constituer l’emploi du temps de la semaine suivante.

Les recherches que j’ai fait sur Internet pour essayer de dénicher un logiciel pouvant gérer cela sans modifier les habitudes déjà prises au magasin (j’estime que c’est aux logiciels de s’adapter aux organisations et non l’inverse) et de préférence disponible en Open Source se sont soldées par un échec et après l’avoir vu une nouvelle fois gâcher son week-end à travailler sur l’emploi du temps je me suis résolu à écrire mon propre système pour gérer cela.

Ce type de problème me rappelait pourtant de mauvais souvenirs, l’optimisation sous contraintes restant pour de nombreux centraliens de ma promotion synonyme de « Simplexe« , un des points les plus obscurs du cours d’analyse numérique…

Pour éviter cela, j’ai décidé de mettre en pratique les rudiments d’algorithmes génétiques que j’avais récemment acquis grâce au livre fascinant de Toby Segaran : « Programming Collective Intelligence« .

Et ça marche!

C’est sans doute un des problèmes les plus complexes que j’ai dû résoudre et l’efficacité de cette méthode est simplement ahurissante.

En deux mots, les algorithmes génétiques appliquent à la recherche de solutions des techniques empruntées à l’évolution naturelles des espèces : on part d’une population de solutions générées aléatoirement que l’on note et on les améliore, génération après génération par des sélections et des mutations et croisements aléatoires.

Les deux principales difficultés sont la modélisation et la notation des solutions, le reste étant de la programmation classique sans grande difficulté.

C’est une manière de programmer – et de raisonner! – totalement nouvelle pour moi. Elle est fascinante par le parallèle entre ces populations de solutions et la biodiversité du monde qui nous entourent et l’observation de la manière dont convergent ces solutions alimente toutes sortes de réflexions…

J’aime beaucoup ce type de projets courts dont la richesse repose sur quelques idées simples.

Un demi siècle

J’ai cinquante ans depuis dimanche et me propose de faire un rapide survol de ces cinq décennies…

1958

Je suis né en au Raincy en 1958 mais n’ai pu rester que quelques mois dans cette commune du « neuf trois » qui s’appelait encore Seine et Oise : mes parents louaient un meublé chez une vieille dame qui ne supportait pas les enfants et nous a expulsé peu après ma naissance.

Les effets du baby boom se faisaient encore cruellement sentir et nous avons du revenir habiter chez mes grands parents dans un petit deux pièces pendant plusieurs années avant de pouvoir trouver un appartement dans un HLM.

1958 c’est aussi (entre autres) :

1968

Un matin de printemps je découvre que les portes de l’école primaire Jean Jaurès de Villeneuve la Garenne dans laquelle je suis élève en classe de CM2 sont verrouillées par de grosses chaînes. Une affiche nous informe que l’école est fermée jusqu’à nouvel ordre et je rentre chez moi.

J’apprécie beaucoup ces vacances imprévues pendant lesquelles nous suivons fébrilement les informations à la radio et où tout le monde discute politique et se prend à refaire le monde. Peu de temps après, c’est au tour de mon père de rentrer à la maison. Je n’ai jamais compris s’il faisait grève ou s’il avait simplement été empêché d’aller travailler, mais le laboratoire de Saint-Gobain dans lequel il travaille est lui aussi fermé.

L’essence se met ensuite à manquer et nous redécouvrons un monde sans voiture où l’on se déplace à pieds et en vélo. Le temps est comme suspendu et Villeneuve la Garenne semble loin de tout.

1968 c’est aussi (entre autres) :

1978

A la fin du printemps, je passe les concours d’entrée aux grandes écoles et entreprend seul en vélo un long périple de Viarmes dans le Val d’Oise aux portes de la Picardie jusqu’à Tarragone au sud de la Catalogne.

Ce voyage me permet de tourner la page de deux années de « taupe« .

C’est en Auvergne que mon père me donne au téléphone les résultats des concours et que j’apprends que je suis accepté à l’Ecole Centrale de Paris et je profite pleinement de ces moments de liberté avant une orientation que j’ai choisi par défaut de vocation.

En seconde, j’avais essayé en vain de convaincre mes parents de quitter la région parisienne pour reprendre une ferme dans les Cévennes et avais ensuite caressé l’idée de devenir menuisier mais avait fini par me laisser guider par mes professeurs vers une voie plus conforme à mes « capacités ».

C’est à l’Ecole Centrale que je rencontrerai deux ans plus tard ma femme Catherine et le bilan des trois années que j’y passerai ne sera donc pas entièrement négatif mais j’aurai du mal à supporter le discours dominant nous répétant à longueur de temps que nous étions l’élite de la jeunesse française.

Ma réaction à ce matraquage consistera dans un premier temps à me réfugier au CTI (Centre de Traitement Informatique) dans lequel nous programmions un vénérable Iris 45 au moyen de cartes perforées avant de me consacrer au journal de l’école, le PI (Piston Information) dans lequel j’exposais mes idées de manière aussi polémique que violente.

1978 c’est aussi (entre autres) :

1988

Après trois ans d’études à l’Ecole Centrale et dix huit mois de travail pour le CNRS dans le cadre du service national dont un an passé à l’île Amsterdam, je suis entré dans la vie « active ». J’ai travaillé pendant cinq ans chez TRT, une filiale du groupe Philips.

J’ai beaucoup hésité avant de quitter le CNRS où je travaillais sur la mesure du taux de CO2 dans l’air et où le problème de réchauffement climatique était déjà bien connu, mais le laboratoire dans lequel je travaillais n’embauchait en moyenne d’une demi chercheur par an et il m’aurait fallu faire au moins trois ans d’études pour obtenir un DEA et un doctorat payé en dessous du SMIC avant d’avoir une chance sur deux d’intégrer l’équipe… J’ai donc cédé à la facilité en acceptant une des offres d’emplois qui nous arrivaient de manière quasiment spontanée à notre sortie de l’école.

Je me suis bien intégré chez TRT et trouvais mon travail plutôt intéressant mais je ne me sentais pas bien à ma place dans une société de cette taille et en janvier 1988 je rejoins Anator, une petite société indépendante d’une vingtaine de personnes.

Je suis marié avec Catherine, nous avons deux enfants de un et trois ans et nous vivons rue Ginoux, dans le 15ème arrondissement de Paris.

1988 c’est aussi (entre autres) :

1998

Après deux petites entreprises, Anator et Esterel, j’ai rejoint Sybase en 1993 et au début 1998, j’y suis responsable européen du support de deuxième niveau de la gamme serveurs de données.

Bien qu’étant plutôt allergique aux grands évènements sportifs, il m’est difficile d’ignorer la coupe du monde cette année là : l’architecture informatique de son système de gestion utilisait beaucoup de produits Sybase et mon équipe aurait été en première ligne en cas de problème technique.

Il faut donc organiser les astreintes et le fonctionnement du support technique 24 heures sur 24 en utilisant le réseau de support « follow the sun » permettant de mobiliser des équipes Sybase se relayant sur tous les continents.

En marge de toute cette excitation, il faut gérer des tâches moins prestigieuses : Sybase qui a été pendant un temps la société croissant le plus vite sur le Nasdaq paie le prix de sa stratégie de croissance forcenée. Le mot d’ordre « get big fast » s’avère insuffisant sur le long terme, le chiffre d’affaire se met à stagner et chaque manager doit donner des noms pour le prochain plan social.

Je décide de tenter ma chance et à l’automne 1998, j’ajoute mon nom sur la liste ce qui me permet aussi de ménager mon équipe…

Chez Sybase, j’ai découvert Internet et les logiciels libres. J’ai aussi beaucoup aimé l’ambiance et le travail du support technique et j’essaye d’abord de lancer une société de support technique autour des logiciels libres.

Mon idée est de proposer aux grands comptes des contrats de supports similaires à ceux qu’ils souscrivent auprès des éditeurs de logiciels classiques et portant sur l’ensemble des logiciels libres qu’ils utilisent. Je suis convaincu que l’absence d’une telle offre freine l’adoption des logiciels libres et que l’arrivée d’internet permet de faciliter les communications avec les clients et avec les développeurs et donc de réduire les coûts.

Puisque le projet se nourrira du développement des logiciels libres qu’il favorisera à son tour, je l’appelle Amphyprion en référence au poisson clown de la famille des amphiprioninae qui vit en osmose avec son anémone.

Avec deux complices, je pars à l’assaut des sociétés de capital risque et la première que nous contactons semble intéressée. Nous discutons assez longuement avec elle avant qu’elle nous dise qu’elle ne donnera pas suite parce que notre projet semble manquer d' »effet de levier ». Nous sommes avant l’éclatement de la bulle internet et les capitaux risqueurs cherchent des niveaux de gain qu’une société de service ne peut pas assurer!

Après ce premier revers, mes deux acolytes se découragent et trouvent un homme miracle, un investisseur prêt à financer le projet à ses débuts et à en prendre la direction, ce qui m’enchante moins. Ne voyant pas ma place dans le projet tel qu’il se redessine, je les laisse poursuivre créer open care sans moi.

Après cette péripétie, je me tourne vers une activité plus classique de conseil et crée Dyomedea au début de l’année 1999.

Catherine et moi avons maintenant quatre enfants de cinq, huit, onze et treize ans. Nous habitons toujours dans le 15ème arrondissement mais nous avons déménagé rue Edgar Faure.

Nous avons acheté une maison de campagne aux Préaux en 1994 lorsque nous nous sommes aperçus que nos enfants étaient ébahis quand ils voyaient une vache. Nos week-ends sont donc consacrés au jardinage et nous entreprenons de planter des arbres fruitiers sur le terrain de 1,7 ha qui l’entoure.

L’effet sur la santé des enfants est surprenant : depuis que nous les emmenons régulièrement à la campagne, la plupart des maladies bénignes qu’ils avaient auparavant disparaissent et le rythme de nos visites chez le pédiatre diminue fortement!

1998 c’est aussi (entre autres) :

2008

Après « du côté de » un projet de site web de quartier pour lequel je n’ai pas réussi à trouver de modèle économique viable, j’ai développé une activité de conseil et de formation autour des technologies XML et suis rapidement devenu un expert international reconnu dans mes domaines d’excellence.

Cela va faire dix ans que je travaille comme indépendant et c’est Catherine qui décide de franchir le pas et de quitter Renault pour créer sa société. Cherchant un projet qui soit utile à l’amélioration de la condition humaine et à la protection de la nature, elle décide de créer un magasin de produits biologiques et rejoint le réseau Biocoop dont elle partage les valeurs éthiques.

Le magasin a ouvert ses portes le 20 août et le succès est au rendez-vous puisque tous les objectifs ont été largement dépassés et Catherine a ainsi pu créer une dizaine d’emplois directs.

Il fait partie d’une démarche plus large et nous voulons réorienter notre vie pour être plus proches de la nature et plus respectueux de l’environnement. Le magasin se double ainsi d’une activité de production de fruits : ceux de notre maison de campagne dont le verger est maintenant certifié AB et labellisé Nature & Progrés et à terme ceux d’un second verger que nous avons acheté et commencé à planter au printemps.

Je me suis également lancé dans l’apiculture sous l’impulsion de notre fils cadet et nous avons des ruches depuis 2004.

Il faut donc que j’arrive à trouver un équilibre entre mes activités de conseil et de formation et mes nouvelles activités dans nos vergers qui demanderont de plus en plus de travail à mesure que les arbres grandiront et au magasin dans lequel je ne travaille pas à plein temps mais aide ponctuellement, notamment pour ce qui est de l’informatique et du site internet.

Lorsque nous ne sommes pas à la campagne, nous habitons toujours dans rue Edgar Faure.

2008 c’est aussi (entre autres) :

RSS en campagne

Les agriculteurs AB sont rares en Haute-Normandie dont les bocages ont été transformés en grandes culture partout où c’était possible. Pour briser l’isolement, ils se sont rassemblés au sein de groupements et cherchent à garder le contact par tous les moyens.

En tant qu’arboriculteur AB, nous ne faisons pas exception à la règle et rendons volontiers visite à Paola et Benoît Lelièvre de la ferme de Pincheloup qui sont nos plus proches voisins AB, mais depuis le mois d’août et l’ouverture du magasin, nous avons du quelque peu espacer ces contacts.

Catherine a reçu hier un mail de Paola lui donnant quelques nouvelles et lui disant que nos aventures étaient suivies avec attention par la ferme de Pincheloup grâce… au flux RSS de notre site!

Lorsque j’ai participé à la rédaction de la spécification RSS 1.0 en 2000, j’étais loin de me douter que ce vocabulaire dont j’avais tant de mal à expliquer l’intérêt à mon entourage serait un jour utilisé dans les campagnes et me servirait à mener à bien un projet de nature si différente!