Archives pour la catégorie Informatique

Apprendre Zope et Plone

Ceci est une traduction de mon message initialement posté en anglais.
On dit parfois que la maîtrise de Zope et de Plone est un art difficile. On a également dit que la courbe d’apprentissage pour Zope est particulièrement raide. J’ai également lu plusieurs débutants (comme moi) qui demandaient par où commencer pour se mettre au développement Zope. « Ne commencez pas à apprendre Zope sans connaître Python ! », « Inutile de maîtriser TAL, TALES et METAL pour construire des interfaces utilisateurs dans Plone, il vaut mieux apprendre les techniques de CSS avancées », et d’autres réflexions du même genre… Alors je me demande : quelle est la progression recommandée pour apprendre Zope et Plone ? comment rendre la courbe d’apprentissage globale plus douce ou ne serait-ce qu’un peu plus visible et gérable ? Le diagramme ci-dessous représente ma compréhension de la « feuille de route d’apprentissage » idéale pour celui qui souhaiterait devenir un maître en Zope et Plone :
La feuille de route idéale pour apprendre à tirer profit de Zope et Plone.

Zope and Plone learning roadmap

It is sometimes said that the art of mastering Zope and Plone is difficult. It has also been said that learning Zope Zen involves a steep learning curve. I have also read many newbies (like me) asking for information about the first steps to go through in order to smoothly get into Zope development. « Don’t start learning Zope before you know Python ! », « No need for mastering in TAL, TALES and METAL for building Plone user interfaces, you’d rather learn advanced CSS techniques », or the like… So I wonder : what is the recommended roadmap for learning Zope and Plone ? how to make the global learning curve smoother or just a little bit more visible and manageable ? So the diagram below is my guess on the ideal learning roadmap for a would-be master in Zope+Plone :
The ideal roadmap for learning Zope and Plone.

Information Architecture

Le concept d’EIA (Enterprise Information Architecture, à ne pas confondre avec EAI = Enterprise Application Integration) est un concept marketing qui désigne un ensemble d’activités informatiques prenant une importante croissante dans l’entreprise : la mise en place de référentiels de données communs à l’ensemble des fonctions, entités, divisions et systèmes d’une même entreprise. Ce concept s’applique dans le cadre de projets liés aux technologies de méta-annuaires (pour constituer et faire vivre des référentiels d’identités de personnes et/ou de structures), aux technologies d’EAI (pour intégrer des systèmes applicatifs transactionnels les uns aux autres, tels qu’un système de prise de commande et un système de pilotage de la production ou de gestion des stocks), et aux technologies de datawarehouse (pour regrouper en un même lieu et sous une forme cohérente les données produites par tous les systèmes informatiques de l’entreprise de manière à produire des tableaux de bord par exemple).
Avec l’émergence des technologies du Web Sémantique, ce concept d’EIA se décline en SIA, comme Semantic Information Architecture. Cet article explique en quoi une activité de SIA permet, par une meilleure compréhension des données de l’entreprise, de créer de la valeur pour celle-ci.

Stratégie annuaires

Pour mener à bien un projet annuaire d’entreprise (avec ou sans méta-annuaires), Phil Windley recommande de se doter d’une démarche stratégique en 5 étapes :

  1. Créer une « Architecture de l’Information dans l’Entreprise » (EIA = Enterprise Information Architecture) pour expliciter le contexte métier de votre stratégie annuaire
  2. Déterminer les standards que votre organisation choisit de respecter
  3. Inventer une politique d’authentification et d’autorisation cohérente avec votre EIA
  4. Planifier et implémenter les services d’annuaires nécessaire à la mise en place de vos politiques
  5. Publier une politique de protection des données privées qui soit en accord avec votre cadre législatif et les attentes de vos parties prenantes

Windley identifie plusieurs sources de gains pour les projets de gestion d’identité : une approche cohérente et systématique des clients, une sécurité accrue pour les applications et l’information « corporate », une réduction des coûts d’administration des utilisateurs et des droits informatiques, et une meilleure application des politiques de sécurité internes et externes. Pour finir, il conclut par :

Construire une stratégie d’identité électronique qui fonctionne requiert un effort considérable, mais si vous négligez de faire cet effort, plutôt que de constituer un actif, la gestion des identités deviendra une source constante de problèmes et un obstacle pour vos initiatives stratégiques »

rdflib and ROPE

I just blog this Bob DuCharme article so that I can remember where practical information about rdflib can be read.
By the way, I have tested the very pre-pre-release of Reinout’s ROPE (see ROPE = Rdflib + zOPE). And I could install it on a Zope 2.7.0b3 fresh install. It was quite easy to install it. But, as Reinout said, it is still a very early release and, as you can see on the attached screenshot, there is much work to be done before it is really usable. This screenshot is just a hint for Reinout : if you add several namespaces into a rdfstore (shouldn’t you name it a « rope » ?), they end up displayed one next to another instead of being options of the same HTML select widget. Anyway, I am looking forward further releases of Rope.

L’avenir de l’énergie

Dans la sérieuse revue Scientific American a été présenté un ouvrage faisant le point sur l’avenir énergétique de la planète. Selon l’auteur de ce livre, la question essentielle est de savoir comment mettre l’énergie à la portée des bourses des milliards de personnes pauvres sur la planète sans pour autant endommager de manière irrémédiable l’environnement mondial (et donc celui des pays riches notamment). L’ouvrage défend les thèses suivantes :

  • Nos civilisations ne seront pas de sitôt à cours d’énergie ; par contre elles sont presque déjà « à cours d’environnement ».
  • Il n’est pas prudent d’attendre des preuves supplémentaires de l’impact climatique des activités humaines ; cet impact est suffisamment probable pour devoir influencer nos politiques énergétiques dès à présent.
  • Il faut interrompre le subventionnement du marché de l’énergie, « internaliser » dans ce marché le coût induit par les changements climatiques liés à la production de gaz à effets de serre (« polleur payeur »), et fournir aux pays pauvres les technologies environnementales modernes qui leur éviteront de passer par les étapes les plus polluantes du développement industriel.

Economie sociale et ISR

Les acteurs de l’ économie sociale (coopératives, mutuelles et associations) seraient des champions de l’Investissement Socialement Responsable. Autre idée : la principale faiblesse de l’économie sociale est la difficulté à prendre des risques car les investisseurs ne sont pas rémunérés pour leur prise de risque ; d’où le besoin de sociétés de capital risque spécialisées dans les entreprises de l’économie sociale.

Pensez à l’offshore

Le Gartner Group évoque l’externalisation à l’offshore des activités de développement applicatif. Il précise que seule la phase de développement proprement dite peut se réaliser efficacement à l’offshore. Les activités de maintenance requièrent trop de présence sur site. Le Gartner indique également qu’il est parfois préférable d’externaliser auprès de fournisseurs nationaux plutôt que de se tourner vers l’offshore : en effet, le niveau de compétence et, surtout, la facilité de communication offerte par les fournisseurs locaux peut représenter un avantage déterminant sur le coût de la main d’oeuvre dans les pays en voie de développement. Les entreprises envisageant d’externaliser ces activités devraient donc prendre grandement en compte ces difficultés de communication dans l’organisation de leur projet. D’autres difficultés résident notamment dans la barrière du langage, la qualité des infrastructures de communication et, tout simplement, les différences culturelles. Hormi les cas pour lesquels l’offshore offre des coûts au jour.homme 6 fois moindres que les coûts d’un prestataire national, l’externalisation auprès de partenaires locaux semble raisonnable voire préférable.
Le Gartner conseille d’externaliser totalement la création graphique, le design Web et le développement HTML, d’externaliser partiellement l’administration système, l’administration de bases de données et le développement de composants applicatifs. Le Gartner conseille de ne pas externaliser l’analyse fonctionnelle et le contrôle qualité et déconseille formellement d’externaliser le webmastering et l’architecture.

Produit pour la gestion sémantique de contenu

La société Voquette offre une technologie nommée SCORE, qui prétend faciliter la gestion sémantique de contenu. Cette publication auprès de l’IEEE présente leur vision du web sémantique.
Les activités commerciales que Voquette identifie dans le domaine du Web Sémantique portent sur le développement de taxonomie ou d’ontologies ainsi que de standards de méta-données pour l’entreprise, l’organisation de contenus selon ces taxonomies, l’annotation de contenu avec ces méta-données, l’analyse de contenu à la recherche de « motifs » (patterns), le « data mining » pour identifier les relations implicites entre des données provenant de sources différentes. Les principales applications actuelles du Web Sémantique concernent la recherche et la personnalisation, l’organisation du contenu et des portails d’entreprise, la syndication de contenus. Les technologies du Web Sémantique trouvent leurs débouchés dans les marchés de la gestion de contenu et de la gestion des connaissances (knowledge management). Voquette définit plusieurs concepts relatifs à l’usage de ces technologies.
La recherche sémantique et la personnalisation sémantique consistent, pour un produit logiciel, à différencier un mot selon ce qu’il désigne. Par exemple, le mot « palm » tel qu’employé par l’utilisateur désigne-t-il un produit matériel (« Palm Pilot »), un produit logiciel (« Palm OS »), une société (« Palm ») ou encore un élément d’anatomie humaine (la paume de la main) ? Un moteur de recherche sémantique saura distinguer ces concepts et aider ainsi son utilisateur à préciser ses requêtes ou bien à ne considérer que les résultats pertinents sur le plan conceptuel.
La gestion des méta-données sémantique permet d’organiser un contenu, par exemple documentaire, non seulement en fonction de méta-données syntaxiques (longueur d’un document, date de création, format du fichier) mais aussi en fonction des concepts auxquels ce document est lié (le groupe d’auteurs qui l’ont écrit, sa thématique principale, la raison pour laquelle il a été écrit, …)
La normalisation sémantique consiste à établir des relations d’équivalence entre différentes formes syntaxiques désignant une même entité comme par exemple, pour désigner le PDG d’une société, le nom de celui-ci, son surnom, sa fonction (« PDG de telle société »), etc. La normalisation sémantique implique généralement le choix d’une forme canonique pour identifier le concept désigné (une norme consistant par exemple à prendre le prénom plus le nom de famille d’un individu).
L’association sémantique consiste à établir des recommandations (recommander un contenu pour une personne donnée), des évaluations de pertinence (établir la force du lien sémantique entre un contenu et une requête) ou, d’une manière plus générale, estimer la probabilité qu’une entité donnée soit liée à une deuxième entité par une association logique donnée.
L’architecture du système SCORE est composée d’agents extracteurs de contenus, paramétrés à l’aide d’une « boîte à outils d’extraction ». Ces agents permettent à la fois d’alimenter et de faire évoluer un modèle de référence et d’alimenter un corpus de contenus faisant référence à ce modèle par le biais de relations sémantiques (annotations sémantiques). Ces relations sémantiques sont enrichies automatiquement par le biais d’un composant capable de procéder à ces catégorisations automatiques. Ensuite, un « moteur sémantique » permet de puiser dans le modèle et dans le corpus les contenus pertinents. SCORE fournit une application de « tableau de bord sémantique » qui s’appuie sur ce moteur ainsi qu’une API qui permet au développeur de construire ses propres applications sémantiques de gestion de contenu. Les caractéristiques principales qu’ont recherché les concepteurs de SCORE sont sa performance et sa capacité de montée en charge plutôt que la sophistication de ses mécanismes d’inférence. Le moteur permet donc uniquement de parcourir les relations sémantiques établies et n’offre pas de capacité d’inférence similaires à celles d’un moteur de raisonnement logique (systèmes experts, …). Enfin, il convient de noter que le composant de catégorisation automatique s’appuie sur une combinaison de plusieurs méthodes de catégorisation : probabilistique (bayésienne), par apprentissage (modèles markoviens) et par approche formelle.

La panoplie du parfait petit Zopeur

Voici les ressources nécessaires à tout développeur francophone qui veut se plonger dans la technologie Zope avec la meilleure efficacité :

Externaliser en offshore : l’Ile Maurice plutôt que l’Inde ?

La tentation de l’externalisation des développements Web spécifique vers l’Inde est forte : des coûts relativement bas, un système éducatif performant et une parfaite maîtrise de la langue anglaise, plus des expériences réussies de sociétés américaines. Pourtant, pour les sociétés francophones, l’Ile Maurice pourrait s’avérer être un meilleur choix. L’Ile Maurice offre en effet deux avantages de taille pour une meilleure coordination des projets : un bilinguisme (et bi-culturalisme) français et anglais, ainsi qu’une plus grande proximité dans les fuseaux horaires (deux heures de décalage avec Paris).

Agrégation de carnets Web dans l’entreprise

Les agrégateurs de contenu pour carnets Web permettent aux entreprises d’unifier la publication d’informations issues de leurs multiples systèmes informatiques, quand bien même ceux-ci s’appuient sur des technologies propriétaires et hermétiques. Il s’agit d’une forme de communication partiellement concurrente des systèmes dits de « portail ».
Ainsi, une entreprise américaine a constaté que la principale source d’information quotidienne de ses employés était la messagerie électronique. Pourtant, la messagerie n’offrait pas un mode de communication des plus efficaces pour accéder à l’information critique pour les activités quotidiennes. Les utilisateurs se plaignaient de la difficulté qu’ils avaient à accéder à l’information pertinente. Les listes de diffusion de messagerie étaient difficiles à gérer et à maintenir au rythme des mouvements de personnel. Quant aux portails intranet, ils ne pouvaient saisir l’information critique quotidienne qu’au prix de licences logicielles très coûteuses.
C’est pourquoi cette société a adopté l’usage des carnets Web et des agrégateurs de contenu qui leur sont associés. Sur ces carnets, chaque employé des équipes de développement produit a été invité à publier des foires aux questions, ses rapports d’avancement de projets, les résultats de son travail quotidien et ses documents de conception. Les forces de vente ont été invitées à inscrire dans leurs carnets Web l’avancement de leurs travaux de prospection commerciale. De plus, certains des systèmes informatiques existants, qu’il s’agisse d’applications métiers ou de logiciels de portails ou de gestion de contenu, ont été équipés d’une interface permettant de publier automatiquement certaines de leurs données sous la même forme que celles des carnets Web.
Chaque utilisateur a ensuite été équipé d’un logiciel d’agrégation de contenu, qui va chercher les dernières informations les plus pertinentes sur chacun des carnets Web des collègues et des systèmes automatisés ; ces informations s’affichent regroupées par catégories. Grâce au logiciel d’agrégation, chaque utilisateur peut consulter d’un rapide coup d’oeil l’information concernant l’activité de ses collaborateurs directs, la trier, l’archiver, la parcourir par mot-clef et, éventuellement, la commenter ou l’enrichir à leur tour sur leur propre carnet. Contrairement au système de messagerie, ce n’est pas au producteur de cette information de décider à quels « consommateurs » il la destine. C’est à chacun d’orienter son agrégateur personnel de contenu vers les sources d’information pertinentes pour son activité.
Cette forme de communication, contrairement aux logiciels de portails intégrés tels que Sharepoint Portal, repose sur une technologie standardisée (XML + RDF + RSS) qui est soutenue par une communauté de développeurs informatiques à la fois étendue, diverse et ouverte. Le caractère ouvert de cette technologie a permis à la société utilisatrice de choisir, pour en bénéficier, un logiciel open source qui l’implémente de manière satisfaisante et surtout gratuite. L’économie des licences logicielles a été significative par rapport à la généralisation d’un logiciel de portail.