Archives mensuelles : décembre 2003

Retour d’expérience sur la gestion de contenu

Content management, the hard way rapporte l’expérience de quelques consultants en gestion de contenu. Il part du constat de la désillusion actuelle des sociétés qui ont acheté, à grand frais, des solutions de gestion de contenu propriétaires, fermées et « sur-sophistiquées » (à la « Storyserver de Vignette » et autres « Teamsite d’Interwoven »). Ces sociétés utilisatrices ont constaté des coûts de maintenance exorbitants et des coûts de l’ordre de 20 000 euros par utilisateur et par an ! Et elles se sont retrouvées prisonnières d’une relation commerciale avec un éditeur sur la solution duquel elles avaient investi et dont elles peuvent aujourd’hui difficilement se débarasser.
Dans ce contexte, les solutions distribuées sous licence open source, telles que Red Hat CMS, OpenCMS, Zope et Plone ou encore MidGard paraissent séduisantes. Elles rencontrent déjà un succès commercial certain puisqu’elles ont conquis des références comme Siemens, la Banque Mondiale, le groupe Viacom, l’US Navy ou encore l’OTAN. Pourtant, le fait que la licence soit de type « open source » ne garantit en rien le succès du projet. Le type de licence garantit certes l’accès au code source, mais encore l’entreprise doit-elle veiller à ce que la solution choisie ait une architecture ouverte, évolutive et interopérable. Plus encore, l’entreprise doit veiller à disposer sur le marché d’une diversité suffisante de sources de compétences pour assurer le support de la solution : la solution considérée place-t-elle l’entreprise dans la même position de faiblesse vis-à-vis d’un fournisseur unique que dans le cas d’une solution commerciale ? ou bien existe-t-il suffisament de sociétés de services offrant des compétences solides sur ce produit ?
L’article mentionne également les tactiques des éditeurs de produits propriétaires pour contrer l’avancée de la gestion de contenu « open source » : former les commerciaux à discourir sur les faiblesses de ce nouveau type de concurrent, rappeler que l’open source a plus de succès en position de « suiveur » qu’en tant qu’innovateur (sic), affirmer que l’avenir de la gestion de contenu n’est pas la gestion de contenu Web mais le concept marketing de « gestion de contenu d’entreprise » qui, comme le précise l’article, relève plus du fantasme que la réalité.
En bref, les solutions propriétaires se sont déjà cassées les dents. Les solutions open source paraissent séduisantes mais ne sont pas une panacée pour autant.

ZEO et « scalabilité » de Zope

ZEO est un produit logiciel (distribué sous licence open source) qui permet, à partir du serveur d’application Zope, de constituer des architectures techniques offrant de bonnes capacités de disponibilité et de montée en charge. ZEO est une solution client-serveur qui permet à plusieurs serveurs Zope de partager le même base de persistence objet ZODB. Les schémas de cette présentation brésilienne de la bête vous en disent plus. A voir également : le produit (commercial) « Zope Replication Server » de la société Zope Corporation (à l’origine du développement de Zope). ZRS permet de répliquer une base ZODB de manière à ce qu’elle ne constitue plus le point critique de l’architecture.

Ecologies industrielles

Encore une belle idée rapportée par worldchanging.com : le concept d' »écologies industrielles ». L’idée consiste à modéliser la complexité des flux de matière entre installations industrielles à la manière dont on modélise une chaîne alimentaire ou un système écologique « classique ». Plus encore que modéliser, ce concept permettrait de concevoir des systèmes de relations entre industries qui minimiseraient leur impact sur l’environnement au sens large. Un exemple célèbre d’un tel système conçu intentionnellement concerne le parc industriel de Kalundborg, au Danemark. L’histoire raconte que les usines de ce parc industriel ont établi des formes de symbiose : ce que rejettent les unes est consommé par les autres. La consommation en eau et en énergie ainsi que la quantité de polluants émis par ces usines auraient ainsi grandement diminué. L’histoire précise également que le facteur clef du succès d’un tel système réside dans la qualité des relations entre les ingénieurs actifs dans ce parc : transparence et ouverture seraient leur credo.

La place de PHP dans l’économie française

Plus des trois quarts des 20 plus grandes entreprises classées par bénéfice utilisent la technologie PHP pour un ou plusieurs de leur site internet (site mère, filiale, site promotionnel etc..).

C’est ce que révèle une étude de la SSII Globalis. Maintenant, certes, les plus grandes entreprises françaises sont tellement grandes qu’elles utilisent sans doute toutes les technologies les plus répandues. On peut donc au moins en déduire que la technologie PHP est une technologie parmi les plus répandues. Et on peut aussi confirmer que l’image de PHP « langage pour site perso » est assez éloignée de la réalité.

« Open sourcer » des développements spécifiques

Redistribuer des développements spécifiques sous licence « open source » (« open sourcer » des développements spécifiques) peut constituer une brique importante d’une stratégie informatique visant à se doter d’une architecture durable. Un témoignage sur Slashdot présente les arguments utiles pour convaincre une direction informatique du bien-fondé d’une telle démarche :

L’argument le plus simple pour la plupart des managers est du type : « vous bénéficiez du travail de N programmeurs mais vous ne payez le salaire que de M d’entre eux. » Et vous obtenez du test gratuit de certaines parties de votre produit. Vous pouvez également renforcer le soutien de la direction en mentionnant occasiollement : « Eh, je viens de resynchroniser nos modifications du package TRUCMUCHE, and j’ai vu que quelqu’un vient d’y ajouter le module TRUCBIDULE que nous justement l’intention de développer. » Cela donne à votre direction la douce et agréable sensation d’obtenir quelque chose à partir de rien.

Plus loin, il est ajouté, sur le même ton quelque peu cynique :

Dans de nombreux cas, bien sûr, contribuer au code open source ne faisait pas partie des intentions premières. L’idée d’origine était seulement d’utiliser un module pioché dans une archive quelconque. Mais parfois on découvre que le module ne fait pas exactement ce que l’on attendait de lui. Avec les logiciels libres, on peut résoudre ce problème. Et on donne ses modifications en retour, bien sûr. Ensuite, on en parle à la direction, qui hausse systématiquement les épaules et va s’occuper de quelque chose de plus intéressant. Si il y a débat, celui-ci peut être abrégé en rappelant quelque chose du genre : « Ce module nous a permis d’économiser plusieurs mois de développement ; passer un jour à résoudre un problème et à publier nos modifications est un petit prix à payer pour un tel bénéfice. »

Jon Udell complète ce témoignage par une analyse plus circonspecte de la situation :

Même lorsque les développeurs maison sont prêts à contribuer en retour, leur code (à juste titre) n’est pas toujours le bienvenu. ‘Le propriétaire d’un projet open-source froncerait les sourcils devant des modifications proposées par des personnes qui n’ont pas encore montré patte blanche […] Mais le développeur maison n’a ni le temps ni la disponibilité suffisante pour montrer patte blanche. Résultats : de multiples duplications maison (des « forks ») et la perte de ressources qui en résulte. »

Jon Udell rapporte également le terme de « releasability remediation » qui semble désigner l’activité consistant à rendre un code redistribuable au regard de la bureaucratie ambiante (restriction aux exportations, mesures de sécurité de l’entreprise, etc.).
Son article évoque ensuite diverses formes de contribution des entreprises aux projets open source dont elles bénéficient : publicité (via un bel enrobage dans des carnets Web, des discussions et des messages dans Usenet) et subventionnement de recherches académiques. La question qui reste ouverte est celle de la meilleure forme de contribution par l’entreprise à ces projets. Dans leurs commandes à leurs prestataires informatiques, les entreprises devraient-elles faire l’effort financier nécessaire à la redistribution de leurs développements spécifiques à base de logiciels open source ? Comment valoriser cet effort auprès de l’actionnaire et donc de la direction générale ?

Bliki, WikiLog

Le concept de Bliki ou de WikiLog désigne une famille de logiciels de contenu qui cumulent les fonctionnalités des Wikis et des WebLogs (ou carnets Web). On en parle ici en anglais et surtout sur le CraoWiki en français et plus en détails.
Mes idées du moment sur le comportement attendu d’un Bliki (je préfère Bliki à WikiLog, le mot condense mieux le concept) :

  • Dans mon carnet Web, lorsque je publie un message qui contient un WikiName, celui-ci devrait être détecté automatiquement et transformé en lien pointant vers la page correspondant sur le Wiki associé à mon carnet Web. Si cette page n’existe pas, elle devrait être créée. Le Wiki associé devrait supporter la fonctionnalité de pingback et la fonctionnalité de trackback de manière à ajouter, en bas de la page du WikiName la mention et le lien de ce WikiName dans mon carnet Web.
  • De même que les Wikis peuvent généralement afficher les « backlinks » d’un WikiName donné (la liste des autres pages Wiki dans lesquelles ce WikiName est mentionné), ils devraient permettre de rechercher ce WikiName dans un weblog donné voire dans Google.
  • Lorsque quelqu’un veut ajouter un commentaire sur une WikiPage, le logiciel Wiki devrait lui proposer soit d’ajouter le commentaire dans le corps même de la WikiPage, soit d’ajouter son commentaire dans le carnet Web associé au Wiki, soit encore dans le carnet Web associé à l’utilisateur en cours (si celui-ci est identifié par cookie ou bien authentifié plus sûrement), soit enfin dans un carnet Web qui sera crée automatiquement pour cet utilisateur si celui-ci n’en dispose pas encore. Son commentaire sera ensuite lié en pingback et/ou en trackback depuis la WikiPage.
  • Lorsque quelqu’un veut ajouter un commentaire dans un carnet Web, le carnet Web devrait lui proposer plutôt d’ajouter ce commentaire dans son carnet Web personnel voire lui proposer un assistant de création de carnet Web si l’utilisateur n’en dispose pas déjà d’un.

Pour résumer, afin de faire des Blikis, plutôt que d’inventer un nouveau type de logiciel « from scratch », je suis partisan d’ajouter des fonctionnalités aux carnets Web et aux Wikis existant, en s’appuyant sur des spécifications ouvertes telles que le format classique des WikiName, les trackbacks et les pingbacks. Ces fonctionnalités seraient les suivantes :

  • support des trackbacks et pingbacks dans les Wikis
  • support des WikiNames dans les carnets Web
  • afin de boucler la boucle des Blikis, ajout d’un assistant à la création de carnet Web lors de tout ajout de commentaire dans un Wiki ou dans un carnet Web

Les pingbacks dans WordPress

OK. Les trackbacks fonctionnent bien, avec WordPress. Mais les pingbacks, est-ce qu’ils marchent bien, eux ? Essayons en ajoutant également un lien vers cet ancien post. Ce lien devrait automatiquement être soumis à un pingback lorsque je publierai le message que vous lisez actuellement. Normalement, après ça, je devrais voir mon pingback apparaître dans les commentaires du message lié ci-dessus.

Les trackbacks dans WordPress

Dans WordPress, les URLs inclues dans un post sont automatiquement soumises à un « pingback » (ce qui cause parfois des timeout lors de la validation d’une nouvelle entrée, d’ailleurs). Mais les trackbacks, je n’avais jamais essayé. Alors faisons un test de trackback sur http://sig.levillage.org/index.php?m=200312#post-386 pour voir si ça marche bien.

Développement d’une architecture informatique durable

Les grandes entreprises ont besoin de stratégies informatiques, en particulier en matière d’architecture applicative. Voici donc une esquisse de stratégie architecturale.

  1. Objectifs stratégiques
    • sécuriser l’environnement informatique : maintenir la sécurité de fonctionnement du système d’information, faire cesser la prolifération désordonnée des technologie, maîtriser l’incendie du e-business
    • optimiser les économies : réduire les coûts sur le long terme, gagner en productivité
    • bâtir un ordre social pour la communauté informatique : ordonner les investissements informatiques, se doter d’une politique, de règles d’architecture, de processus de contrôle, construire une communauté interne pour soutenir et faire appliquer cette politique
    • => « triple bottom line » => comment assurer développement durable d’une architecture informatique ? une architecture « future-proof » ?
  2. Objectifs tactiques : construire une architecture applicative durable …
    • … du point de vue économique : à moindre TCO = « scalable » (évolutivité, capacité à supporter des développements futurs à moindre coût), exploitable et maintenable (minimiser les coûts récurrents), à moindre investissement (licences logiciells, …)
    • … du point de vue écologique : sûre et robuste quelles que soient les évolutions du reste de l’environnement informatique (sécurité, interopérabilité, portabilité, évolutivité), sobre en ressources (en ressources réseaux, en infrastructure), assurant une autonomie vis-à-vis de son environnement (indépendance vis-à-vis des politiques commerciales des fournisseurs, indépendante de l’évolution des métiers de l’entreprise, indépendante des évolutions de l’organisation de l’entreprise à moyen terme y compris acquisitions et cessions),
    • … du point de vue social : appuyée sur un modèle de gouvernance durable, qui implique toutes les parties prenantes de la gestion des systèmes d’information (y compris les fournisseurs et éditeurs, les services utilisateurs, les équipes informatiques, la direction générale), offrant des ancrages de l’organisation dans des communautés locales et des réseaux de partenariat étendus (avec d’autres entreprises partenaires, avec les futurs gestionnaires de cette architecture, …)
    • donc appuyée sur les principes architecturaux suivants :
      • couplage faible et couplage tardif : les composants mis en oeuvre doivent offrir une modularité extrême, pouvoir évoluer indépendamment les uns des autres, être « agnostiques » sur l’usage qui sera fait des données qu’ils traitent ou produisent (de manière à en maximiser les opportunités de réutilisation), faire les hypothèses les plus réduites possibles sur les évolutions à venir du S.I., ne pas requérir de vision globale (ni d’étude globale) préalable à leur mise en oeuvre, supporter une dynamique d’évolution « en bazar » plutôt qu’ « en cathédrale », s’assembler selon le modèle REST (REpresentational State Transfer) plutôt que selon le modèle RPC (Remote Procedure Call)
      • l’architecture applicative est isolée des métiers : de même que la fonction financière de l’entreprise peut être rendue indépendante des spécificités de ses métiers, l’architecture applicative, pour être durable, doit être considérée comme indépendante des métiers d’entreprise ; sa portée est universelle dans l’entreprise ; son universalité offre des opportunités de benchmarking et de partenariat étendues avec les acteurs externes
      • respect absolu des standards les plus ouverts possibles : qu’il s’agisse d’un standard de facto (informatique « legacy », monopole commercial, …) ou de jure (spécifié par un organisme de normalisation), un standard est ouvert si :
        • il « vient de l’Internet », i.e. on peut observer un grand nombres de ses implémentations sur l’Internet, ses spécifications détaillées sont publiées sur l’Internet, la communauté qui l’a élaborée privilégie l’Internet comme mode de collaboration,
        • il dispose d’implémentations nombreuses et diverses et l’une de ses implémentations est distribuée sous une licence de type « open source »,
        • ses spécifications sont élaborées par une communauté ouverte : regroupant des acteurs d’origine et de taille diverses, avec une barrière à l’entrée très basse, et sachant tirer partie des contributions qui lui sont adressées sur la base de l’intérêt objectif de celles-ci et non de l’identité du contributeur
  3. Objectifs opérationnels
    • contrôler l’architecture par le biais des relations fournisseurs : favoriser systématiquement la mise en concurrence des fournisseurs informatiques, n’acquérir une technologie que lorsqu’elle s’accompagne d’une offre de services supportée par une communauté de prestataires à la fois diversifiée (plusieurs sociétés de services) et dynamique (nombreuses références, nombreuses contributions), ne placer des fournisseurs en situation de monopole (contrats cadres) qu’à condition de préparer le changement futur de fournisseur (si les conditions contractuelles ne sont pas respectées ou bien, tout simplement, à l’issue du contrat), rester systématiquement dans une position de fermier (« je cultive ma terre ») plutôt que de métayer (« je cultive la terre du propriétaire », en l’occurence celle de mon fournisseur), piloter les choix logiciels par les principes architecturaux (couplage faible et tardif, respect des standards)
    • open sourcer l’architecture : c’est-à-dire externaliser les coûts de développement auprès de tiers par le biais d’une redistribution sous lience « open source » des adaptations spécifiques et développements maison, de manière à annuler les coûts d’investissements (pas de coûts de licences à l’achat) et de manière à mutualiser les coûts de développement et de maintenance avec des tiers (autres entreprises utilisatrices, sociétés de services informatiques, informaticiens indépendants) ; pour cela, redistribuer systématiquement les développements maison non stratégiques (non liés à un avantage concurrentiel certain) sous licence « open source »
    • préférer les choix « juste-assez » aux choix « idéaux » (« le mieux est l’ennemi du bien ») : pour évaluer la disponibilité en compétences informatiques nécessaires à l’exploitation et la maintenance de la technologie nouvellement acquise, ne pas confondre la disponibilité suffisante de compétences et la disponibilité maximale de compétences ; appuyer le choix de nouvelles technologies à acquérir non pas sur leur degré absolu de sophistication (ce qui se paie en compétences d’exploitation) et de popularité médiatique (ce qui se paie en coût de licences et de support) mais sur l’adéquation entre celle-ci et le besoin qu’on en a ; si votre système d’information est urbanisé, préférer l’approche « citadine » à l’approche « 4×4 »

Webisons le développement durable

01 Informatique note que seuls 10% des entreprises du CAC40 publient sur Internet une véritable information sur leur responsabilité sociale et environnementale. A quoi ça sert que Ducros se décarcasse à faire du reporting NRE détaillé en interne si ce n’est pas pour maximiser la transparence de l’entreprise en en publiant les résultats sur le site institutionnel de l’entreprise ?

Le secteur sans but lucratif

Edith Archambault a effectué un travail d’étude qui est devenu une référence pour décrire l’organisation du « secteur sans but lucratif en France et dans le monde ». Voici, ci-après, quelques informations de synthèse glanées dans cette étude.
De plus en plus d’associations loi 1901 se créent en France, notamment pour incarner des solidarités spécialisées (soutien aux victimes d’une même maladie rare, d’un attentat, etc.). Le « tiers secteur » représente 5% des emplois salariés en France (soit environ 1 million de salariés), ce qui est équivalent au volume de l’emploi dans l’agriculture, par exemple. L’emploi salarié dans les associations croît en moyenne de 3,4% chaque année. Toutefois, il inclut un grand nombre d’emplois temporaires ou atypiques (emplois jeunes…). Le budget du tiers secteur est d’environ 45 milliards d’euros, soit l’équivalent du chiffre d’affaire de l’ensemble des services d’eau, gaz et électricité ou encore l’équivalent de la construction mécanique. Il faudrait ajouter à cela l’estimation monétaire du travail bénévole. Le poids du secteur associatif attendrait alors 75 milliards d’euros. Les principaux secteurs d’activité des associations sont les suivants :

  • la culture et les loisirs : 42% du nombre d’associations, 47% du bénévolat, dédiés à l’entraînement sportif, aux mouvements de jeunesse et aux clubs du troisième âge ainsi qu’aux associations culturelles
  • les services sociaux : 33% des dépenses courantes du secteur, 40% de l’emploi du secteur associatif, 21% du nombre d’associations, 16% du bénévolat avec les hôpitaux privés non lucratifs (qui assurent 16% des activités sanitaires en France, loin derrière le secteur public, mais avec une plus grande spécialisation sur le traitement du cancer, de la toxicomanie et la rééducation), les maisons de retraite, et les services sociaux vers les pauvres et les populations en difficulté (handicapés), ainsi qu’avec les services de procimité et de maintien à domicile ; les associations emploient environ 60% des travailleurs sociaux
  • l’éducation et la recherche : 25% des dépenses courants, 21% de l’emploi, avec notamment l’enseignement privé dont 95% d’écoles privées catholiques ainsi que la plupart des écoles de commerce et les associations de parents d’élèves
  • Il est intéressant de noter que les activités d’aide internationale (humanitaire), les fondations et la défense de l’environnement ont un poids économique extrêmement faible malgré une visibilité médiatique et politique élevée.

60% des ressources du secteur associatif proviennent de financements publics dont le premier pourvoyeur est la sécurité sociale, devant les caisses de l’Etat (surtout pour l’enseignement privé) et les communes (pour l’entraînement sportif et les activités culturelles). L’idée que l’Etat délègue aux associations certains services publics est courante. Les dons individuels aux associations sont peu répandus en France (par rapport aux pratiques des autres pays européens par exemple) car la majorité des français a tendance à considérer que ce mode de financement fait double emploi avec l’impôt. Les recettes privées des associations assurent cependant un tiers de leurs revenus, principalement sous la forme des cotisations de leurs membres. Actuellement, ces financements évoluent vers une privatisations des ressources : moins de soutien public, plus de ressources propres. Le bénévolat progresse également de manière considérable.