Richard Stallman – Qu’est ce que le logiciel libre ? (par Deleteriios)
Étiquette : openSource
Note de lecture : Alfresco Enterprise content management implementation, par Munwar Shariff
Note : 4 ; Visite guidée, mais sans plus.
Avec ce livre j’avais l’intention de mieux appréhender Alfresco, d’en connaitre les concepts, l’architecture ainsi que les fonctions et les APIs. Cet ouvrage n’a répondu que pour moitié à mes attentes. Autant dire que j’en ressors un peu frustré. Il s’apparente d’avantage à un accompagnement orienté utilisateur, ce qui un peu surprenant venant de PACKT publishing.
Pourtant, cela commence plutôt bien, avec un premier chapitre, nous donnant un tour d’horizon des fonctionnalités proposées par Alfresco et une vue très « PowerPoint » de l’architecture. Le second chapitre nous mets le pied à l’étrier (et l’eau à la bouche) en nous permettant de démarrer, installation comprise.
A partir du chapitre 3, l’auteur tente, non sans maladresse, de nous mettre dans la situation d’un déploiement réel d’Alfresco. Cela commence par le paramétrage du déploiement, aux chapitres 3, pas spécialement clairs et dont on se demande si l’on a vu tout les aspects en question. La question de l’authentification est abordé au chapitre 4, là encore si l’on inondé de copies d’écran, on reste hélas sur notre faim pour ce qui est de la configuration avec LDAP, par exemple ! Le chapitre 5 dédié à l’implémentation de la gestion de contenu est dans le même ton : l’auteur ne développe pas les concepts, focalise sur des sujets secondaires (l’édition des documents dans l’interface) et passe trop rapidement sur d’autres sujets plus importants (la vue WebDAV, par exemple). Au moins, on sait qu’il nous reste des choses à apprendre.
L’implémentation des règles métier est abordée au chapitre 6, de manière plutôt claire. L’extension du modèle de document fait l’objet du chapitre 7, mais est trop succinct à mon goût. Difficile de plonger dans la création et la mise en place d’un aspect avec ce type d’information. De même les types et relations « custom » sont plutôt bâclées. Un exemple solide aurait été le bienvenu, adossé à un cas réel.
Il y a peu à dire des recherches (traitées au chapitre 8) et il y aurait beaucoup à dire des workflows (traités au chapitre 9) qui se déclinent en 2 types. Au moins on a ici une vue d’ensemble, mais on sait que l’on a pas mal à approfondir. L’aspect « collaboratif » est traité au chapitre 10, de façon fort superficielle, à grand renfort de copies d’écran. Elle passe complètement sous silence l’intégration dans les portails JSR 168, ce qui est une grave erreur à mon avis.
Je n’ai pas porté d’intérêt au chapitre 11 consacré à la customisation de l’interface utilisateur. Mais les 2 derniers chapitres sont parmi les plus intéressants du livre. Le chapitre 12 se focalise sur la maintenance : sauvegardes, exports et migrations. Le chapitre 13 traite l’intégration avec les systèmes d’imagerie et d’OCR tels que Kofax.
Voici donc un livre qui m’a largement laissé sur ma faim. De plus, la façon dont l’auteur aborde le système par les fonctionnalités visibles et non les fondamentaux lui garantie une obsolescence rapide. Quoi qu’il en soit, c’est hélas le seul ouvrage dédié à la star de l’ECM open source.
Référence complète : Alfresco, Enterprise content management implementation – Munwar Shariff – Packt publishing 2006 – ISBN : 1-904-811-11-6 ; EAN : 978-1-804-81111-4
Note de lecture : Wicket in Action, par Martijn Dashorst & Eelco Hillenius
Note : 7 ; Un apprentissage progressif, classique et sans surprise mais efficace d’un framework Web à la sauce client riche.
Wicket est un Framework de présentation Web vraiment à part. En effet, c’est à ma connaissance le seul à être statefull. En cela et par sa séparation HTML / Java, il me rappelle beaucoup les frameworks d’IHM Windows avec lesquels j’ai longtemps travaillé (OWL et MFC). C’est sans doute pour cela que je me sens à l’aise avec.
Wicket in action est sans nul doute un très bon tutorial pour comprendre et rentrer dans Wicket, par la pratique.
Le premier chapitre nous présente un incontournable « Hello, World » à la sauce Wicket. C’est très bien … à l’exception de mon incapacité à faire fonctionner cela par moi-même ! En fait, certains ingrédients nécessaires viennent plus tard, beaucoup plus tard ! C’est l’un de mes seuls reproches par rapport à ce livre par ailleurs excellent.
Le second chapitre fait le tour du Framework, une excellent idée, même si au final l’ensemble est un peu lourd à digérer pour un début. Mais les chapitres suivants vont revenir sur chacun des éléments.
Une application web, ça commence par une page, puis deux, puis trois. Avec le troisième chapitre les choses sérieuses commencent et on y construit une vraie amorce d’application Web, avec du HTML et des pages Wicket mappant des composants, une redirection de page, etc… C’est aussi le début de l’application d’exemple du livre. S’il n’y avait qu’un seul chapitre à lire, ce serait celui-ci.
On se plaint parfois de la complexité des modèles Wicket, mais ceux-ci sont admirablement expliqués au chapitre 4, en avançant progressivement sur les types de modèles de plus en plus complexes. Bravo !
Le chapitre 5 sur les liens, labels et répéteurs nous donne l’impression de revisiter une partie du chapitre 3. C’est une impression assez bizarre. Mais la qualité pédagogique est toujours au rendez-vous.
Même long de presque 40 pages, le chapitre 6 sur les formulaires explique clairement les composants de saisie, mais aussi la cinématique de fonctionnement du formulaire, c’est à dire son cycle de vie.
Le chapitre 7 conclut la seconde partie de ce livre en présentant la composition des pages, la manière de modulariser celles-ci et d’améliorer ce faisant la réutilisabilité.
La troisième partie s’attache aux usages avancés de Wicket. Le chapitre 8 ouvre le bal avec le développement de composants réutilisables. Pas franchement facile à suivre.
Plus important (on aurait pu mettre ça en seconde partie), l’utilisation des CSS et des ressources est au cœur du chapitre 9. Un contenu finalement indispensable.
Le chapitre 10 conclut cette 3ème partie, et c’est avec l’inévitable volet Ajax de Wicket. Je ne suis pas franchement sûr que celle-ci soit toujours d’actualité avec l’avancée des librairies Ajax modernes, dont JQuery, pour laquelle une adaptation Wicket existe : WiQuery.
La quatrième partie évoque la mise en production des applications Wicket. On commence au chapitre 11 par évoquer la sécurité et l’usage des contextes de session. Le chapitre 12 parle d’internationalisation. Nécessaire mais ennuyeux.
Le chapitre 13 s’intéresse à l’intégration avec Spring et Hibernate. C’est un sujet important, mais hélas pas très bien traité ici.
Le dernier chapitre (la mise en production) nous réserve une étonnante surprise : il débute par l’évocation des tests unitaires ! Franchement on aurait pu débuter le livre par ça, ou presque ! Puis on évoque un reste à faire de petits sujets : configuration, logging, monitoring (avec JMX), etc..
Le livre est vraiment excellent. Je le conseille (presque) sans réserve aux personnes souhaitant se mettre à Wicket. Mes réserves, les voici :
Quelques bizarreries dans l’ordonnancement des sujets, mais rien de grave.
Un contenu qui commence à dater : il s’agit de la version 1.3 de Wicket, antérieure à Java 1.5 ; la version courante fait un usage abondant des génériques et rend légèrement obsolète certaines parties de code. Le texte mériterait un rafraichissement !
Référence complète : Wicket in Action – Martijn Dashorst & Eelco Hillenius – Manning 2008 – ISBN: 1932394982 ; EAN: 978 1932394986
Note de lecture : Liferay, Portal Enterprise Intranets, par Jonas X. Yuan
Note : 3 ; Un tour du produit vu par l’utilisateur sans beaucoup d’intérêt.
La qualité des ouvrages publiés par Packt pub peut s’avérer assez variable. Hélas, ici on n’est pas dans le meilleur. Je dois aussi avouer qu’il s’agit d’un choix éditorial de s’être concentré sur l’utilisation de l’outil (et de ses portlets) plutôt que sur le volet architecture ou administration. Je suis donc un peu déçu, mais l’angle adopté pourra satisfaire un lecteur souhaitant plutôt découvrir l’outil et en faire le tour des fonctionnalités. A cet égard, les 375 pages du livre sont découpés en 13 Chapitres.
Je passe rapidement sur le 1er chapitre qui ne parle pas réellement de Liferay, mais de l’intérêt d’utiliser un portail pour un intranet. Le second chapitre rentre d’avantage dans le vif du sujet en nous proposant de réorganiser les pages et la navigation dans le portail, le tout via des manipulations interactives. Une bonne entrée en matière, je dois avouer.
Le 3ème chapitre évoque la gestion des utilisateurs et des droits à différents niveaux. Il manque une explication synthétique de cette gestion des droits par ailleurs complexe. Hélas encore, les aspects d’intégration LDAP et SSO sont évoqués plus que légèrement.
Le 4ème chapitre est consacré à la portlet forum et à la gestion des tags. Une vue utilisateur et trop superficielle à mon goût. Il en vu de même pour les chapitre 5 et 6 consacrés respectivement au Wiki et aux Web Forms, puis aux blogs et des flux RSS. On pourra toujours se dire qu’à l’issu de ces 4 chapitres on a une vue intéressante des portlets standard du produit !
Le chapitre 7 continue le tour des portlets, avec une petite originalité : WSRP, c’est à dire l’accès aux « remote portlets », mais tout ceci reste bien superficiel. Le chapitre 8 est dans la même ligne, expliquant l’utilisation du CMS interne de Liferay, mais sans vraiment entrer dans le fond.
Bref, tout ça continue dans la même lignée jusqu’au chapitre 13. Dans l’ensemble ce livre n’est pas foncièrement mauvais, il est simplement inutile, car il donne fort peu de choses par rapport au tour du propriétaire que l’on peut faire par nous même. J’aurais aimé une compréhension plus en profondeur de l’outil, qui aurait justifié l’existence de ce titre, mais que nenni !
Référence complète : Liferay, Portal Enterprise Intranets – Jonas X. Yuan – Packt publishing 2008 – EAN : 978 1 847192 72 1
Note de lecture : Pro Wicket, par Karthik Gurumurthy
Note : 6 ; Une bonne surprise : globalement clair et pédagogique
Le monde Java s’étoffe décidément de nombre de frameworks open-source aussi surprenants qu’inventifs. Ils constituent, à mon avis, bien plus l’avenir de la plateforme Java Enterprise que l’approche normative que pousse Sun contre vents et marées. Bien sûr, il y a aussi un phénomène de mode sur tous ces frameworks open-source, les nouveaux poussant les anciens. Wicket est l’un des nouveaux venus et vient concourir dans la catégorie pourtant déjà surpeuplée des frameworks de présentation Web ! Mission accomplie, pourtant, car la qualité de ce framework et son approche « disruptive » (une approche mixte xhtml / Java, mais pilotée par le Java) car basée sur des ressources non managées et stateful, en ont rapidement fait un produit populaire. Il a d’ailleurs été accueilli au sein de la communauté Apache.
Tout framework majeur finit par avoir son livre. Dans le cas présent, il n’en existe (ou existait, devrais-je dire) qu’un, celui-ci. Autant dire que je craignais le pire, car le premier livre sur une technologie est pratiquement toujours un ratage total, l’auteur se focalisant plus sur la mise sur le marché que sur la qualités du texte. Apress fait hélas partie des éditeurs soutenant cette approche. A la lecture de ce livre, je dois m’avouer soulagé et agréablement surpris.
Le point fort du livre est sans conteste son approche pédagogique : le framework est introduit progressivement, en commençant par un exemple simple et fonctionnel. Chaque étape, chaque nouvelle fonctionnalité est introduite dans l’étape précédente par la mise en évidence de la lacune de fonctionnalité correspondante. Les exemples sont nombreux et occupent une part importante du texte (pas loin de 40% du texte), mais ils sont hélas souvent émaillés de petites erreurs qui heureusement ne gênent pas leur compréhension.
L’ouvrage est divisé en 9 chapitres, ceux-ci sont donc relativement gros, car le texte compte près de 300 pages, sans les annexes. Le premier chapitre est globalement l’équivalent d’un « hello world » assez étoffé. En réalité, on pourrait déjà écrire et déployer des applications Wicket assez simples à la fin des 33 pages de ce chapitre ! C’est tout dire…
Le chapitre 2 couvre un aspect plus spécifique du framework : les éléments de validation et de conversion. Chemin faisant, nous explorons quelques éléments plus avancés tels que la gestion des propriétés ou les listeners de vues.
Le chapitre 3 est sans aucun doute le plus consistent et le plus important du livre. D’abord par ses 60 pages, ensuite car il couvre complètement une petite étude de cas permettant d’explorer les aspects les plus importants du framework. Vous pouvez facilement vous arrêter à la fin de ce chapitre pour écrire votre première application Wicket et reprendre les aspects plus avancés ultérieurement.
Le chapitre 4, couvrant la structuration des pages est à mon avis le moins réussi et le moins clair. J’avoue avoir décroché assez rapidement.
Un des sujets à la mode est l’intégration de Wicket avec Spring, même si il s’agit là du mariage du veau et du cochon tant ces frameworks sont différents dans leur approche. Le chapitre 5 couvre très clairement le « comment » de ce module d’intégration, mais aussi (bien que plus succinctement) les intégrations Tapestry, Hibernate ou JPA.
Le chapitre 6 reprends là ou le chapitre 2 s’était arrêté pour couvrir l’internationalisation. Utile mais pas passionnant.
Le chapitre 7 couvre le développement de composants Wicket personnalisés. Une section à lire seulement après avoir pris un peu de bouteille avec Wicket.
Ajax est un sujet à la mode, le chapitre 8 n’évite pas le sujet car il lui est consacré, mais le sujet reste traité un peu rapidement ici. On a toutefois assez d’éléments pour démarre avec les composants Ajax de Wicket.
Le dernier chapitre couvre deux sujets qui ne sont pas mineurs : comment tester unitairement nos pages et formulaires Wicket, et ce qu’il y a de neuf dans Wicket 2.0.
En bref, voici un livre pour débuter en tout confort avec Wicket. Cela a été un bon achat… à l’époque. Un petit rafraichissement avec la dernière version du framework et tout serait parfait !
Référence complète : Pro Wicket – Karthik Gurumurthy – Apress 2006 – ISBN : 1-59059-722-2 ; EAN : 978-1-59059-722-4
Note de lecture : Liferay Portal Administrator’s Guide 2nd édition, par Richard Sevoz Jr
Note : 3 ; Quand on a vraiment besoin, on n’a pas forcément le loisir d’être difficile sur la forme…
La première chose que l’on découvre quand on prend ce livre en main, c’est qu’on n’a pas envie de lire ! Le format n’est pas pratique (trop grand pour un format poche, mais trop petit pour une lecture confortable), le papier est de qualité très médiocre, la mise en page est lamentable, la qualité des illustrations inexistante et même la typographie n’est pas en reste avec ce charmant carnage.
La bête fait 255 pages hors annexes (celles-ci sont anecdotiques) sur seulement 6 chapitres. Des chapitres assez longs en moyenne, donc.
En parcourant le chapitre 2 « initial setup », on s’aperçois toutefois de certaines choses : d’abord il est vrai que les copies d’écran sont franchement trop nombreuses, même si certaines sont utiles (elles ont souvent des indications comme des parties cerclées, au lieu d’être brutes comme c’est trop souvent le cas). Cela explique la longueur inhabituelle de 89 pages pour ce chapitre. Mais les informations sont claires et précises et des recettes d’installation numérotées permettent de venir à bout de difficultés dont on sait qu’elles prennent du temps sinon. A propos de l’installation, la liste des serveurs d’application pour lesquels est fourni une explication est tout simplement impressionnante.
Le chapitre 3 « configuration » est quand même plus court, avec ses 44 pages. Mais il a un petit goût de tutorial un peu cheap dans sa première partie. Le genre où l’on apprend rien. La partie dédiée à la configuration LDAP rattrape un peu le coup.
La configuration avancée, vous savez celle où l’on parle des « ext » est traitée au chapitre 4. C’est le plus long du livre et de loin, avec ses 90 pages ! Les très complexes fichiers de propriétés sont passés en revue, mais souvent avec des explications franchement sibyllines. La recherche et l’exploitation des informations de ce chapitre sont l’affaire de gens motivés et acharnés … et qui en ont vraiment le besoin. Abandonnez l’idée d’en faire une lecture linéaire. Seule la section dédiée à l’installation des plugins nous offre un oasis d’une relative fraicheur.
Le chapitre 5 « enterprise configuration » nous expose en un peu moins de 30 pages les possibilités de déploiement de Liferay en mode « solid rock » : clustering, cache distribué, déploiement à chaud, etc… sont les sujets qui y sont traités. Le chapitre a le mérite de développer un peu ses explications.
Le dernier chapitre « maintaining a Liferay Portal » parle backup, logging, procédures d’upgrades sur une dizaine de pages.
Voilà un texte auquel on ne s’attaque pas pour le plaisir. Si certains chapitres présentent des procédures d’exploitation claires, l’ensemble de la prose est très sèche et peut surtout être utilisée comme référence. Mais même là, ce n’est pas du grand confort.
Un tel ouvrage se doit de rester à jour par rapport aux nouvelles versions de Liferay. Une troisième édition de cet ouvrage y répond.
Référence complète : Liferay Portal Administrator’s Guide 2nd édition – Richard Sevoz Jr – Liferay Press 2008
Retours sur l’agile tour Bruxelles 2012
Je m’étais fixé dans mes objectifs sur ce second semestre, de me joindre à la communauté agile Belge à l’occasion de l’agile tour Bruxelles. je n’ai pas hésité longtemps à répondre à l’appel à orateurs de Bruno Sbille. Plusieurs raisons à cela:
- L’opportunité de faire une présentation en Anglais. Il faut bien garder la forme !
- L’occasion de rendre la politesse à Bruno qui nous avait fait le plaisir de venir faire une présentation dur la Programmation Neuro Linguistique lors d’une soirée du Scrum User Group.
J’espérais donc bien être retenu. Je l’ai été : merci au comité d’organisation !
L’aller-retour dans la journée, ça fait une grosse journée, mais ça valait le coup.
Pascal Van Cauwenberghe : 11 steps to perfect code
Pascal s’est présenté comme un “recovery bug writter”. Il nous a présenté son processus destiné à éliminer les bugs. Il compte 11 étapes, pas moins.
La qualité dépend-t-elle des testeurs ? La réponse est non. En fait, elle est souvent inversement proportionnel au nombre de testeurs. Cela peut paraitre provocateur, voir choquant. mais réflechissez à l’impact psychologique sur les développeurs d’‘une très importante équipe de testeurs.
1 – Mettre en évidence le bug. Jusqu’ici tout va bien.
2 – Votre réaction : et meeeerde ! Non, justement. Il faut remercier le rapporteur. Pascal nous fera faire l’exercice plusieurs fois durant cette heure: remercier à haute voix: Thank you !
3 – Reproduire le problème. Identifier les conditions sous lesquelles ce bug se manifeste est une simple question de bon sens.
4 – Ajouter (au moins) un test qui échouera suivant ces conditions.
5 – Corriger le problème. Vous suivez toujours ?
Bon ça y est, on a fini. Comment ça “non” ?
6 – Rejouer la totalité des tests unitaires. La correction d’un bug peut introduire une régression. Nous le savons tous. Mais prenons-nous tous la peine de rejouer la totalité des tests ? Bien sûr le but n’est simplement de les rejouer, mais de les rejouer jusqu’à ce qu’ils passent tous !
7 – Faire une analyse causale : pourquoi ce bug n’a pas été intercepté précédemment ? Il faut toujours faire attention aux objectifs que l’on fixe : on risque de les atteindre. Si le but est la couverture du code, est-on certain qu’elle est synonyme de tests associés ? Le véritable objectif n’est pas la couverture du code, mais la qualité de celui-ci.
8 – Améliorer les tests.
Là, ça devrait être terminé. Non, toujours pas ?
9 – Améliorer la façon dont les tests sont écrits. Mais ceci est autre chose, n’est-ce pas plutôt un point qui devrait être remonté en rétrospective ? La rétrospective ce n’est pas pour la fin de sprint. La démo ce devrait être tout le temps.
10 – “Un bug ne voyage jamais seul” : à la recherche des bugs similaires !
11 – Faites que ce bug soit impossible à reproduire !
Traquer les bugs ainsi peut sembler coûteux. En fait, ça l’est au début. Pascal s’appuie sur la théorie des contraintes pour expliquer que cette approche permet finalement de livrer plus vite ! En l’occurrence sur un projet, au bout de 5 mois au lieu de 8 !
Jan De Baere : Kaban at different levels
Jan a choisi de nous présenter Kanban tel qu’il est utilisé réellement dans les projets auxquels il a participé, avec les leçons qui ont accompagné sa mise en oeuvre.
La règle de conduite que nous propose Jan repose sur 3 axes:
- Visualiser le workflow.
- Limiter le “work in progress”, en s’appuyant sur l’expérimentation.
- Mesurer et gérer le workflow.
L’exemple d’une circulation sur une autoroute illustre assez bien ces 3 points, même si les paramètres conduisant à la formation des bouchons sortent des fondements théoriques de Kanban (eh oui, il n’y a pas que la théorie des contraintes…).
Cette session avait pour but de nous exposer cette mise en oeuvre dans différents contextes:
- Un projet classique.
- Un projet distribué
- Le Kanban au niveau individuel
- la gestion d’un portefeuille de projets.
Plutôt que d’asséner les différents éléments de la présentation je préfère mettre en avant les éléments principaux:
- Les “expedites”: lorsqu’ils sont trop nombreux, il ya un problème à régler !
- Mettre en évidence les éléments qui sont attendus. Là encore, ils peuvent stigmatiser des problèmes à régler au niveau organisationnel.
- Les “buffers”: ils peuvent apparaitre utiles dans le workflow, mais sont à utiliser avec parcimonie. Ce sont des sources de gâchis, au sens Lean.
- Il y a un lien direct entre le “work in progress” et le “lead time”. Ils croissent de concert.
L’un des grands moments fut certainement la présentation du “kanban portable” (et pliable) réalisé par Jan !
Pour ma part, je garderais dans mes notes l’usage du “personnal kanban” avec ses limites de WIP adaptatives:
- Les tâches “high energy” : la limite de WIP est de … 1 ! Ce sont les tâches qui demandent un haut niveau de concentration.
- Les tâches “medium”, c’est le travail ordinaire. La limite de WIP est de 2.
- Les autres tâches, celles qui ne nous donnent pas vraiment de faire un travail correspondant à notre niveau de qualification. Il n’y a pas de limites de WIP pour celles-ci.
Ce peut être du bon sens, mais c’est sans aucun doute un point à garder !
Alan Holtz : Lessons learned from the Scrum Master
J’espère qu’Alan me pardeonnera de ne pas avoir pris de note lors de sa session. J’étais en fait en train de faire l’ultime préparation de la mienne ! Si une photo vaux mieux que de grands discours, en voici donc une !
Yves Hanoulles : How 146 people made 13 projects
Yves a acquis une grande notoriété dans la communauté agile, par son implication dans de nombreux projets. J’avoue que j’avais du mal à comprendre comment il pouvait mener à bien cette activité débordante. Cette session répond à ces questions.
Comment nait un projet ?
Yves débute simplement un projet par un problème qu’il rencontre et sur lequel il ne trouve pas sur le net de ressources pouvant l’aider.
Comment construire une communauté de contributeur ?
Simplement en demandant autour de lui, mais en s’adressant de manière directe aux intéressés, s’ils peuvent et souhaitent l’aider sur son projet. C’est une question franche et directe qui n’appelle pas obligatoirement de réponse positive : on peut ne pas avoir le temps, ne pas être intéressé par ce projet, etc… Yves accueille de manière factuelle et simple cette réponse.
A partir de là, Yves accorde une complète confiance aux collaborateurs dès le départ, avec complet accès en lecture et écriture aux ressources du projet : la confiance n’est devrait pas être “gagnée”, mais donnée !
Surtout Yves nous rappelle qu’il faut toujours penser à remercier une personne qui se propose de contribuer.
Collaboration et outillage
Tous ces projets se déroulent sans aucune rencontre face à face : tout est mené et coordonné à distance, l’outillage permettant cela est donc important. Les principaux que j’ai noté :
- Skype
- email: Oui, bien qu’Yves soit un fervent défenseur de la limitation de l’usage de l’email en entreprise, il reste un média essentiel pour ces projets collaboratifs.
- Google doc.
Si les projets agiles défendent la co-location, Yves nous rappelle que selon Jim McCarthy, celle-ci n’est pas une nécessité : ce qui est nécessaire, c’est une communication avec une large bande passante.
Who is agile ?
Yves a terminé sa session sur quelques reflexions sur la rédaction d’un livre en mode agile, tel que “who is agile ?” a été rédigé.
- La rédaction d’un livre en mode agile est possible, intégrant des itérations et du feedback. C’est non seulement possible et même souhaitable. Une plateforme comme Leanpub est un grand facilitateur en ce sens.
- La lecture d’un livre réalisé en mode agile est pr contre moins sympathique.
Jeff Cumps : How to solve your thoughthests impediments
Jeff nous invitait à une session-atelier sur le A3 problem solving. Un réel challenge d’ailleurs car il ne disposait que d’une heure pour nous exposer les principes et nous permettre de les mettre en oeuvre sur une problématique de notre choix.
Je ne vais pas détailler l’atelier ici. Le timing était un peu serré, mais nous avons pu avoir la satisfaction de bien avancer sur nos exemples. Disons que 1h30 aurait probablement été un créneau plus confortable. Mais peut-être pas plus, non plus !
En fait le point positif du temps limité était d’aller droit à l’essentiel sur l’exercice pour en comprendre les points principaux. Ce que Jeff a fait avec clarté. Une très bonne session pour conclure cette journée !
Ambiance, boissons et rencontres
Chaque conférence agile est l’occasion de croiser ou recroiser des passionnés. L’évènement a été ciblé petit par les organisateurs : 70 personnes, donc volontairement peu de buzz autour de ce premier Agile Tour Bruxelles. Un grand “up” pour les organisateurs à propos de la convivialité et de l’ambiance sur cet Agile Tour Belge. Ca donne vraiment l’envie d’y revenir.
Couleur locale oblige, nous avons conclu la journée autour d’une bière.
Un geste sympathique pour les orateurs : un assortiment très couleur locale une fois encore. Que je vous laisse découvrir.
OSMM, un modèle de maturité pour l’open-source
Je publie ici ce court papier que j’avais écrit en 2005. Les reflexions qu’il soulève restent pertinentes. Le mouvement ope-source ayant pris beaucoup plus d’ampleur depuis 7 ans, il y aurait certainement des choses à modifier ou à ajouter…
Voici également le lien vers ce papier dans Issuu
Talk is cheap, show me the code !
Note de lecture : Tika in Action, par Chris A. Mattmann & Jukka L. Zitting
Note : 6 ; Comment faire un livre correct à partir d’un Framework qui ne le justifierait à priori pas !
Tika est un framework de l’écosystème Apache Lucene. Il s’agit d’un framework facile à utiliser, permettant d’extraire des informations de contenu et des métadonnées depuis de nombreux formats de fichiers. Les chapitres 5 et 6 nous disent presque tout ce que l’on a besoin de savoir pour utiliser Tika : extraire le texte et les métadonnées depuis un format de fichier en utilisant la très pratique façade Tika ! Les auteurs sont parvenus à passer de deux chapitres à 15 (200 pages) sans tomber dans le simple remplissage. Ils ont su explorer différentes facettes du Framework en gardant un propos intéressant.
La première partie « getting started » nous met au parfum des problématiques inhérentes aux différents formats de fichiers, à leur détection, à la lecture de leur contenu et des métadonnées. On y couvre aussi une description haut niveau de l’architecture de Tika et la façon de l’intégrer dans un projet. Cette partie se termine par la description de l’étude de cas Lucene : comment Tika s’intègre dans une architecture de moteur de recherche.
La seconde partie est le cœur de l’ouvrage : l’exploitation de Tika. On passe en revue successivement la détection de format, l’extraction du contenu puis des métadonnées pour aborder une intéressante description des algorithmes de détection de langage ! Le dernier chapitre de cette partie « what’s in a file » ne m’a pas laissé un souvenir impérissable.
La troisième partie est consacrée à l’intégration. Bien entendu on aborde la façon dont Tika s’intègre avec Lucene puis on aborde en détail la « search stack » Lucene, ce qui m’a donné une bonne compréhension du rôle des différents frameworks ! Le chapitre sur la façon d’étendre Tika est passé un peu vite à mon gréé et j’aurais aimé voir abordé l’intégration en utilisant Tika packagé en bundle OSGi : dommage !
Les quatre études de cas figurant en quatrième partie n’étaient certainement pas indispensables, surtout qu’elles restent assez superficiellement décrites. Mais elles sont une façon agréable de clore le livre.
Voici un livre qui n’est probablement pas indispensable pour simplement utiliser Tika. Mais les auteurs ont eu l’intelligence d’intégrer du matériel donnant plus de perspective : standards des métadonnées, détection de types, détection du langage, intégration dans une architecture de recherche, etc… Ce n’est donc pas une lecture indispensable, mais elle pourra être source d’inspiration quand à l’usage que l’on peut faire de ce type de fonctionnalités.
Référence complète : Tika in Action – Chris A. Mattmann & Jukka L. Zitting – Manning 2012 – ISBN : 978 1 935182 85 6











