Blog d'un ingénieur informaticien parmi d'autres...

Blog myBlog = BlogFactory.getWordPressBlog();

Follow me on TwitterFlux RSS

  • Accueil
  • A propos
  • Contact
Menu EGit

De SVN à Git sous Eclipse

31/08/10

Posté par Benoît Courtine dans Systèmes d'information

1 commentaire

Il y a main­te­nant quelques semaines, j'ai été frappé par le virus Git. Dans la fou­lée, j'ai migré la ges­tion de confi­gu­ra­tion de mes com­po­sants pour Talend Open Stu­dio sous GitHub. Et depuis, pour mieux mai­tri­ser cet envi­ron­ne­ment, j'ai pris Pro­Git comme livre de chevet.

Plus récem­ment encore, j'ai décidé de pas­ser égale­ment sous Git mon envi­ron­ne­ment de tra­vail pro­fes­sion­nel pour le déve­lop­pe­ment Java. Mais cette fois, ce n'est plus aussi simple, car on ne peut pas rem­pla­cer comme ça le ser­veur SVN cen­tral uti­lisé par les dif­fé­rentes équipes de développement.

Mais Git et Sub­ver­sion peuvent être uti­li­sés ensemble. On tra­vaille sous Git en local, pro­fi­tant ainsi de tous ses avan­tages (pas­sage rapide d'une branche à l'autre, pour bien décou­pler les dif­fé­rents tra­vaux, etc.), et on syn­chro­nise ce tra­vail sous Git avec le ser­veur SVN.

Ce mode de tra­vail et ses avan­tages ont très bien été expli­qués dans le der­nier article de Nico­las de Loof. En par­ti­cu­lier, ce qui m'intéresse, c'est la rapi­dité de mise en oeuvre sans avoir à faire évoluer la plate-forme de déve­lop­pe­ment d'un iota.

Cet article expli­quant tout ce qu'il y a à savoir pour débu­ter avec Git et SVN, je ne recom­men­ce­rai pas. Je vais donc abor­der l'étape sui­vante : l'intégration de cette nou­velle méthode de tra­vail dans mon envi­ron­ne­ment de développement.

La suite >

Il y a main­te­nant quelques semaines, j'ai été frappé par le virus Git. Dans la fou­lée, j'ai pour Talend Open Stu­dio sous GitHub. Et depuis, pour mieux mai­tri­ser cet envi­ron­ne­ment, j'ai pris Pro­Git comme livre de che­vet. Plus récem­ment encore, j'ai décidé de pas­ser égale­ment sous Git mon envi­ron­ne­ment de tra­vail pro­fes­sion­nel pour le déve­lop­pe­ment Java. Mais cette fois, ce n'est plus aussi simple, car on ne peut pas rem­pla­cer comme ça le ser­veur SVN cen­tral uti­lisé par les dif­fé­rentes équipes de déve­lop­pe­ment. Mais Git et Sub­ver­sion peuvent être uti­li­sés ensemble. On tra­vaille sous Git en local, pro­fi­tant ainsi de tous ses avan­tages (pas­sage rapide d'une branche à l'autre, pour bien décou­pler les dif­fé­rents tra­vaux, etc.), et on syn­chro­nise ce tra­vail sous Git avec le ser­veur SVN. Ce mode de tra­vail et ses avan­tages ont très bien été expli­qués dans le der­nier article de Nico­las de Loof. En par­ti­cu­lier, ce qui m'intéresse, c'est la rapi­dité de mise en oeuvre sans avoir à fa
Eclipse, EGit, Git, Outils de développement, SI, SVN

Libérons (un peu) les développeurs

29/08/10

Posté par Benoît Courtine dans Méthodes

5 commentaires

Il y a peu, j'ai posé sur Twit­ter la question :

Son­dage express : pour ou contre le com­mit des fichiers propres à l'IDE dans le ges­tion­naire de sources ?

Un petit échange s'en est suivi avec @pierre_fauvel, qui pense que c'est en effet une bonne pra­tique. Pour ma part, je suis plus mitigé sur cette ques­tion… 140 carac­tères, c'est un peu court pour argu­men­ter : je pen­sais donc publier un billet pour étayer mon avis sur la ques­tion. M. Fau­vel a eu la même idée, et m'a devancé.

Avant de lire ce qui suit, je vous ren­voie donc a son très inté­res­sant billet sur la question.

Oui, il faut par­ta­ger les bonnes pratiques

Je suis bien évidem­ment d'accord : il doit y avoir de la com­mu­ni­ca­tion dans une équipe, ainsi qu'un par­tage des bonnes pra­tiques : c'est une évidence !

Il me vient tout de suite à l'esprit plu­sieurs appli­ca­tions concrètes incon­tour­nables de ce prin­cipe. En par­ti­cu­lier pour tout ce qui concerne l'outillage du projet :

  • l'outil de ges­tion de confi­gu­ra­tion : c'est la base du tra­vail col­la­bo­ra­tif. Il est donc incon­ce­vable qu'un déve­lop­peur n'utilise pas le même sys­tème que les autres
  • la ges­tion du build : la manière de construise le pro­jet doit être la même pour chaque déve­lop­peur (Ant, Maven, Gradle, Ivy, ou autre), afin d'assurer la repro­duc­ti­bi­lité de celui-ci. C'est pour cela que nous met­tons les fichiers de confi­gu­ra­tion du build (les pom.xml, profiles.xml, etc. de Maven dans notre cas) sont mis en ges­tion de configuration.
  • les outils d'intégration conti­nue ainsi que les résul­tats asso­ciés (tests en échec, métriques de qua­lité Sonar, etc.)
  • les règles de qua­lité de code à mettre en place (PMD, Check­Style, Find­Bugs). En par­ti­cu­lier pour celles-ci, il est impor­tant que tous les déve­lop­peurs soient convain­cus de leur uti­lité, et soient d'accord sur les limites à appli­quer et leurs rai­sons : pour­quoi limi­ter une méthode à 30 lignes de code plu­tôt que 20 ou 40 ?…

Mais il faut aussi lais­ser une marge de liberté aux développeurs…

Les points pré­cé­dents étant acquis, il ne faut pas non plus trop vou­loir trop contrô­ler. En par­ti­cu­lier, je ne suis pas par­ti­san d'avoir un envi­ron­ne­ment de déve­lop­pe­ment unique, confi­guré de la même manière pour tous les déve­lop­peurs, et dont la confi­gu­ra­tion serait mise en ges­tion de configuration.

En effet, même s'il faut par­ta­ger les bonnes pra­tiques, il me semble que cer­taines pra­tiques ne peuvent jus­te­ment pas être hié­rar­chi­sées. Dans ce cas, pour­quoi en impo­ser une plu­tôt qu'une autre ?

Pre­nons un exemple concret : l'utilisation de SVN avec Eclipse. On peut uti­li­ser Sub­clipse ou Sub­ver­sive. Les deux ont des fonc­tion­na­li­tés simi­laires, et le choix est donc affaire de pré­fé­rence plus que de "bonne pra­tique". On pour­rait effec­ti­ve­ment choi­sir d'en impo­ser un arbi­trai­re­ment, afin d'uniformiser les envi­ron­ne­ments de déve­lop­pe­ment, mais j'avoue que je n'en vois pas l'intérêt : le choix n'impacte en rien la pro­duc­ti­vité, et je pré­fère donc lais­ser la liberté à cha­cun de choi­sir celui qu'il préfère.

Les déve­lop­peurs ont sou­vent leurs propres habi­tudes, et leurs outils pré­fé­rés. Et bien sou­vent, il existe des outils concur­rents dont il est dif­fi­cile de dire lequel est meilleurs que l'autre :

  • vi, kate, emacs, etc. pour l'édition de fichiers sur les sys­tèmes Unix
  • Note­pad++, PSPad, etc. pour faire la même chose sous Win­dows
  • 7Zip ou Pea­Zip pour la ges­tion des archives sous Windows
  • etc.

Plu­tôt que d'imposer un outil unique, je pré­fère lais­ser le choix aux déve­lop­peurs d'utiliser celui qu'ils pré­fèrent. Ainsi, cha­cun sera effi­cace (en uti­li­sant l'outil avec lequel il est à l'aise), et cela ne péna­lise à mon avis pas le tra­vail de l'ensemble de l'équipe.

Si je fais ce choix, c'est aussi pour une ques­tion de moral : un déve­lop­peur n'est pas un enfant, et n'aime donc géné­ra­le­ment pas qu'on le prenne pour tel. J'ai ten­dance à pen­ser que cha­cun est à même de déci­der quels outils lui conviennent le mieux, et appré­ciera de pou­voir les uti­li­ser : il en sera non seule­ment plus effi­cace, mais aussi plus motivé qu'on lui fasse confiance.

Tout ceci n'étant bien sûr vrai que dans la mesure où ces choix per­son­nels ne sont pas gênants pour le tra­vail de l'équipe. Bien sûr, nous dis­cu­tons sou­vent de ces choix, et par­fois, nous convain­quons nos col­lègues qu'un logi­ciel est vrai­ment meilleurs qu'un autre. C'est ainsi que sur la recom­man­da­tion de Damien, j'ai adopté yEd pour l'édition de diagrammes.

Quelques exemples

Un de mes col­la­bo­ra­teurs a pré­féré tra­vailler sous Ubuntu plu­tôt que sous Win­dows. Cet OS répond à ses besoins, et est par­fai­te­ment com­pa­tible avec le tra­vail du reste de l'équipe (SVN, ser­veurs de test, etc.). Sa licence Win­dows a été ins­tal­lée sur une machine vir­tuelle lorsqu'il en a besoin occasionnellement.

Mon nou­veau dada, c'est Git. J'en ai fait la pré­sen­ta­tion aux équipes de déve­lop­pe­ment, mais avant de le déployer à grande échelle, je pré­fère le tes­ter : je l'ai donc ins­tallé loca­le­ment, en le connec­tant au SVN de l'équipe. Mon envi­ron­ne­ment est donc "per­son­na­lisé", mais cela n'impacte pas le tra­vail de l'équipe. Si je suis convaincu, je pro­po­se­rai aux autres cette solu­tion, en leur pré­sen­tant ses avan­tages, mais en lais­sant libres ceux qui pré­fèrent gar­der leurs habi­tudes de tra­vailler direc­te­ment avec Sub­ver­sion. Et il y a des argu­ments pour cha­cune, comme par exemple le plu­gin EGit pour Eclipse qui n'est pas encore du tout au niveau de ceux qui existent pour SVN (mais là, j'anticipe sur un pro­chain article…).

Nous tra­vaillons tous sous Eclipse. Je n'ai jamais eu l'occasion de tra­vailler avec des IDE mixtes. Mais dans la mesure où d'autres IDE (Net­beans par exemple), per­mettent de tra­vailler avec Maven, SVN, etc., je ne pense pas que cela soit impos­sible ou nui­sible. Ainsi, si un col­la­bo­ra­teur pré­fé­rait par habi­tude uti­li­ser un autre IDE, je n'y ver­rais pas d'inconvénient (mais là, je suis peut-être un grand optimiste).

Conclu­sion

Afin de lais­ser cette marge de manoeuvre aux déve­lop­peurs, il faut y mettre quelques moyens. Deux d'entre eux me viennent à l'esprit :

  • chaque déve­lop­peur est admi­nis­tra­teur local de sa machine
  • main­tien de manière col­la­bo­ra­tive (wiki, par exemple) d'une liste de "logi­ciels recom­man­dés" par caté­go­rie : édition de texte, etc., voire d'un centre de télé­char­ge­ment interne, pour accé­lé­rer la vitesse d'accès et uni­for­mi­ser les ver­sions des logi­ciels (lorsque c'est pertinent)
  • cha­cun a un accès à Inter­net peu res­treint, per­met­tant au moins l'accès au télé­char­ge­ment de logi­ciels (libres) de son choix, mais aussi à la veille tech­no­lo­gique, aux forums de dis­cus­sion tech­niques, etc. (per­son­nel­le­ment, je pré­co­nise même l'absence totale de blo­cage, sauf en cas d'abus manifestes).

A mon sens, cette sou­plesse ne va pas à l'encontre d'un déve­lop­pe­ment struc­turé, tant qu'elle res­pecte la plate-forme de déve­lop­pe­ment com­mune et les spé­ci­fi­ci­tés du pro­jet. Elle per­met aux membres de l'équipe de tes­ter plu­sieurs outils, et d'échanger sur leurs expé­riences avec ceux-ci.

Cette diver­sité per­met de mul­ti­plier les tests com­pa­ra­tifs, de com­mu­ni­quer et de capi­ta­li­ser sur les résul­tats de ces tests :

  • si un outil a clai­re­ment l'avantage sur ses concur­rents, il sera natu­rel­le­ment adopté par l'ensemble de l'équipe
  • si les outils ne peuvent être dépar­ta­gés, il n'est pas la peine de choisir

Mais reve­nons au sujet ini­tial. Pour les rai­sons évoquées ci-dessus, je ne mets pas les fichiers propres à l'IDE sous ges­tion de confi­gu­ra­tion. Je ne consi­dère pas la confi­gu­ra­tion de l'environnement de déve­lop­pe­ment comme étant une "par­tie inté­grante du pro­jet". Ceci dit, une "confi­gu­ra­tion type du pro­jet" est tout de même acces­sible pour ceux qui la veulent : elle n'est pas sous SVN pour éviter à ceux qui ont une confi­gu­ra­tion per­son­na­li­sée d'écraser par erreur lors d'un com­mit celle par défaut.

Il y a peu, j'ai posé sur Twit­ter la ques­tion : Son­dage express : pour ou contre le com­mit des fichiers propres à l'IDE dans le ges­tion­naire de sources ? Un petit échange s'en est suivi avec @pierre_fauvel, qui pense que c'est en effet une bonne pra­tique. Pour ma part, je suis plus mitigé sur cette ques­tion… 140 carac­tères, c'est un peu court pour argu­men­ter : je pen­sais donc publier un billet pour étayer mon avis sur la ques­tion. M. Fau­vel a eu la même idée, et m'a devancé. Avant de lire ce qui suit, je vous ren­voie donc a son très inté­res­sant billet sur la ques­tion. Oui, il faut par­ta­ger les bonnes pra­tiques Je suis bien évidem­ment d'accord : il doit y avoir de la com­mu­ni­ca­tion dans une équipe, ainsi qu'un par­tage des bonnes pra­tiques : c'est une évidence ! Il me vient tout de suite à l'esprit plu­sieurs appli­ca­tions concrètes incon­tour­nables de ce prin­cipe. En par­ti­cu­lier pour tout ce qui concerne l'outillage du pro­jet : l'outil de ges­tion de confi­gu­ra­tion : c'est la base du
Outils de développement, Société

Découverte de Git et de GitHub

24/08/10

Posté par Benoît Courtine dans Systèmes d'information

Aucun commentaire

Après avoir uti­lisé pen­dant quelques années Sub­ver­sion, qui me satis­fai­sait pour la ges­tion des sources de mes pro­jets per­son­nels (com­po­sants Talend, entre autres…), j'ai décidé par curio­sité de tes­ter Git, à cause des dif­fé­rents articles que j'ai pu lire récem­ment à ce sujet, dont la quasi-totalité vente les mérites.

Lorsque l'on a l'habitude d'un ges­tion­naire de confi­gu­ra­tion cen­tra­lisé comme Sub­ver­sion, la prise en main est rude… Les concepts ne sont pas les mêmes, et lorsqu'on essaye d'appliquer ceux dont on a l'habitude, on se retrouve face à quelques pro­blèmes : mon pre­mier réflexe a par exemple été de cher­cher com­ment lan­cer le "ser­veur Git" avant uti­li­sa­tion. #FAIL, comme on dirait sur Twit­ter…

Heu­reu­se­ment, vu la popu­la­rité crois­sante de ce sys­tème, je n'ai eu aucun mal à trou­ver des tuto­riels qui m'ont ré-aiguillé sur la bonne voie. Je me suis ainsi rapi­de­ment mis à "la phi­lo­so­phie" de Git. Effec­ti­ve­ment, j'approuve ce que j'ai pu lire : une fois qu'on l'a essayé, on a du mal à s'en pas­ser. Je vais y reve­nir… Mais avant ça, voici ma liste de remer­cie­ments et des liens qui m'ont aidé à décou­vrir Git :

  • le site offi­ciel, pour com­men­cer, qui pro­pose le pro­gramme (évidem­ment), mais aussi un tuto­riel de mise en place, le manuel ainsi que le Git Com­mu­nity Book.
  • Pro­Git, ou Git Magic, deux autres ouvrages de réfé­rence dis­po­nibles en ligne
  • Unders­tand Git concep­tually pour bien com­prendre les concepts de Git
  • Why Git is bet­ter than X, dont le titre en dit long sur le contenu : un plai­doyer sur les avan­tages de Git par rap­port aux autres ges­tion­naires de configuration
  • Git atti­tude, four­nis­sant à ce jour deux articles très inté­res­sants en fran­çais sur l'installation de Gito­sis (même si je ne l'utilise pas) et sur l'installation de Git avec un "prompt" gérant l'auto-complétion des com­mandes Git.
  • Le pense-bête de Nico­las de Loof sur l'utilisation de Git avec un repo­si­tory cen­tral SVN, ainsi que son article sur le refac­to­ring d'un pro­jet SVN sous Eclipse en uti­li­sant Git

Avec toutes ces lec­tures, j'ai pu me mettre cor­rec­te­ment à Git. Les liens ci-dessus conte­nant toute la lit­té­ra­ture néces­saire pour prendre un bon départ, je vous épar­gne­rai un n-ième tuto­riel qui se conten­te­rait de reco­pier ce qui existe déjà…

Le pre­mier pro­jet per­son­nel qui est passé de SVN à Git, ce sont les com­po­sants Talend que je déve­loppe. Chaque com­po­sant étant dans un réper­toire dis­tinct, et consti­tué d'une quin­zaine de fichiers maxi­mum, j'ai jugé plus simple de les regrou­per dans un unique projet.

Et c'est là que les méca­nismes de Git vont m'aider. Car sou­vent, j'ai des idées d'amélioration (ou de créa­tion) pour plu­sieurs com­po­sants n'ayant rien à voir : fini­tion du bcFi­leOut­pu­tOOS­pread­sheet, pos­si­bi­lité de logs condi­tion­nelles dans tLog4J, etc.

Il existe sur SVN un méca­nisme de branches, mais pas­ser d'une branche à l'autre et effec­tuer des fusions de branches une fois le tra­vail ter­miné n'est pas aisé :

  • temps de switch rela­ti­ve­ment longs (sur­tout lorsque le pro­jet a une taille consé­quente). En déve­lop­pe­ment Java sous Eclipse, quand je tra­vaillais sur plu­sieurs évolu­tions fonc­tion­nelles (branches) dif­fé­rentes, j'en suis venu à clo­ner mon pro­jet en asso­ciant chaque pro­jet à une branche dif­fé­rente pour pou­voir chan­ger de branche en un temps acceptable.
  • de très fré­quents "faux" dans les conflits remon­tés par SVN lors des fusions (prin­ci­pa­le­ment en cas de sup­pres­sion, de renom­mage ou de dépla­ce­ment d'un fichier). La ges­tion manuelle de ces conflits sous SVN est plus que pénible.

De ce fait, j'utilisais peu ce sys­tème, et la plu­part de mes com­mits étaient effec­tués dans le trunk.

Dans Git, le méca­nisme de branche est beau­coup mieux géré, et est donc au coeur du sys­tème. Le réflexe à avoir sous Git, c'est "une nou­velle idée = créa­tion d'une nou­velle branche". Si cette idée abou­tit, elle sera fusion­née dans la branche prin­ci­pale (mas­ter). Sinon, elle sera sim­ple­ment sup­pri­mée. Voici pour­quoi ça marche :

  • le repo­si­tory Git, étant local, créer ou chan­ger de branche est une opé­ra­tion très rapide, et on n'a plus besoin de clo­ner son pro­jet. La "stash" (boite à idées), per­met de gar­der en mémoire le tra­vail en cours sur une branche avant d'en chan­ger, sans pour autant devoir effec­tuer un commit
  • la fonc­tion­na­lité de fusion des branches fonc­tionne beau­coup mieux que sous SVN. Quand le tra­vail sur une branche est ter­miné, on la fusionne dans le "mas­ter" (équi­va­lent du "trunk"). Et les méca­nismes uti­li­sés par Git, avec ses dif­fé­rentes stra­té­gies de fusion, font que ça marche vrai­ment bien.

Après un chan­ge­ment dans mes habi­tudes de tra­vail, je m'y retrouve donc beau­coup plus faci­le­ment avec Git, avec une branche par évolu­tion de composant.

Der­nière étape : sau­ve­gar­der mon tra­vail, voire syn­chro­ni­ser mon tra­vail entre mes dif­fé­rents postes de déve­lop­pe­ment. Pour cela, SVN tour­nait sur un ser­veur dis­tant et gérait très bien ce double aspect sauvegarde/synchronisation. Jusqu'ici, Git est uni­que­ment ins­tallé sur une de mes machines de développement.

Plu­sieurs solu­tions sont possibles :

  • ins­tal­ler git sur un ser­veur dis­tant, avec un repo­si­tory "bare" (cf. les nom­breux tuto­riels sur le tra­vail col­la­bo­ra­tif avec GIt que l'on trouve en ligne) et y accé­der direc­te­ment par le pro­to­cole Git+SSH.
  • ins­tal­ler Gito­sis (cf. tuto­riel sur Git-attitude), offrant une ges­tion plus fine des droits sur plu­sieurs pro­jets. Cette solu­tion a beau­coup d'intérêt dans le cadre de "l'urbanisation de Git" dans le sys­tème d'informations d'une entreprise
  • uti­li­ser un héber­geur dédié, comme GitHub.

L'utilisation de GitHub est gra­tuite pour les pro­jets Open Source, et payante pour les autres. Mes com­po­sants étant jus­te­ment publiés en Open Source, j'ai opté pour cette der­nière solu­tion, beau­coup plus rapide à mettre en place (un for­mu­laire de créa­tion de compte à remplir).

Outre le repo­si­tory Git, la plate-forme GitHub, pro­pose, comme Sour­ce­Forge, un ensemble d'outils de suivi de pro­jet : un his­to­rique du pro­jet, des pages WIKI de docu­men­ta­tion, un bugtracker…

J'ai appré­cié cet aspect "Tout en un", qui manque (encore) à Talend Exchange. J'ai donc décidé de me ser­vir de cette base pour créer le site du pro­jet de mes com­po­sants Talend. Par rap­port à Exchange, il ne contient que les com­po­sants encore vivants (dont les fonc­tion­na­li­tés n'ont pas été inté­grées à la ver­sion de base du pro­duit). Si vous avez des remarques (bugs) sur mes com­po­sants, ou envie de contri­buer à ce pro­jet, c'est main­te­nant par là-bas que ça se passe…

Il ne me reste plus qu'à éditer les liens des com­po­sants sur Exchange pour indi­quer la nou­velle adresse du support…

Après avoir uti­lisé pen­dant quelques années Sub­ver­sion, qui me satis­fai­sait pour la ges­tion des sources de mes pro­jets per­son­nels (com­po­sants Talend, entre autres…), j'ai décidé par curio­sité de tes­ter Git, à cause des dif­fé­rents articles que j'ai pu lire récem­ment à ce sujet, dont la quasi-totalité vente les mérites. Lorsque l'on a l'habitude d'un ges­tion­naire de confi­gu­ra­tion cen­tra­lisé comme Sub­ver­sion, la prise en main est rude… Les concepts ne sont pas les mêmes, et lorsqu'on essaye d'appliquer ceux dont on a l'habitude, on se retrouve face à quelques pro­blèmes : mon pre­mier réflexe a par exemple été de cher­cher com­ment lan­cer le "ser­veur Git" avant uti­li­sa­tion. #FAIL, comme on dirait sur Twit­ter… Heu­reu­se­ment, vu la popu­la­rité crois­sante de ce sys­tème, je n'ai eu aucun mal à trou­ver des tuto­riels qui m'ont ré-aiguillé sur la bonne voie. Je me suis ainsi rapi­de­ment mis à "la phi­lo­so­phie" de Git. Effec­ti­ve­ment, j'approuve ce que j'ai pu lire : une fois qu'on l'a essay
DVCS, Gestionnaire de configuration, Git, GitHub, Open Source, SCM, SI, SSH, Subversion, talend

Flattr : un système économique bien pensé

19/08/10

Posté par Benoît Courtine dans Divers

3 commentaires

J'ai décou­vert hier la nou­veauté du moment : Flattr. L'idée est simple, mais il fal­lait l'avoir : c'est un sys­tème qui per­met aux inter­nautes de récom­pen­ser les sites que l'on trouve intéressants.

Il y a 10 ans, Pay­pal (racheté en 2002 par Ebay) a consi­dé­ra­ble­ment sim­pli­fié les paie­ments sur le web, en deman­dant un login/mot de passe plu­tôt qu'un numéro com­plet de carte bleu. Cepen­dant, ce sys­tème reste lourd pour effec­tuer un micro-don aux sites qui nous intéressent.

Le concept de Flattr, c'est donc d'aller encore plus loin que Pay­pal dans la sim­pli­fi­ca­tion du paie­ment, mais en se concen­trant sur les micro-paiements. Je m'y suis ins­crit pour voir son fonctionnement :

  • Tout d'abord, on charge son compte Flattr, avec la somme d'argent que l'on veut.
  • Ensuite, on choi­sit quelle somme on veut attri­buer tous les mois (de 2 à 100 euros) aux sites qui nous plaisent.
  • Tant qu'on est log­gué, on peut sans avoir besoin de se ré-identifier, "flat­trer" ces sites d'un simple clic, via un bou­ton (sou­vent simi­laire à ceux de Twit­ter).
  • A la fin du mois, Flattr divise la somme allouée men­suel­le­ment entre les sites "flat­trés" (en pré­le­vant sa dîme au pas­sage, je vais y reve­nir…). Si aucun site n'a été "flat­tré" dans le mois, l'argent est tout de même pré­levé pour être réparti entre des orga­nismes de charité.

La plu­part des réseaux sociaux des­ti­nés au grand public (Twit­ter, Face­book, etc.) sont gra­tuits pour l'utilisateur final, et finan­cés par la publi­cité (et la revente des infor­ma­tions com­mer­ciales que ces socié­tés peuvent extraire de l'utilisation des sys­tèmes). Voir ici par exemple pour plus d'information sur le modèle écono­mique des réseaux sociaux. Les réseaux sociaux pro­fes­sion­nels (Lin­ke­dIn, Via­deo, etc.) ne s'adressant pas au même public, ils peuvent se per­mettre d'avoir des fonc­tion­na­li­tés avan­cées payantes (recherche de pro­fils par mots-clés pour les recru­teurs, etc.).

Le génie de Flattr, c'est de s'adresser au grand public… tout en étant payant (même si c'est de façon dégui­sée). Pour cela, le sys­tème joue sur la sen­si­bi­lité des gens en les inci­tant à "sou­te­nir les per­sonnes qu'elles aiment" (tra­duc­tion de la page d'accueil), et en com­mu­ni­quant sur le sou­tien aux orga­nismes de charité.

On aurait pu ima­gi­ner un sys­tème avec deux typo­lo­gies d'utilisateurs :

  • Les mécènes (sou­te­nant gra­tui­te­ment les auteurs, artistes, etc.) du web
  • Les auteurs, artistes, etc. en ques­tion, uti­li­sant Flattr pour se faire micro-rémunérer par leurs fans

En réa­lité, pour faire par­tie de la deuxième caté­go­rie, il est obli­ga­toire de faire par­tie de la pre­mière : "il faut don­ner pour rece­voir". Avant d'avoir le droit de mettre un bou­ton "Flattr" sur son site, il faut donc ali­men­ter son compte et dépen­ser au moins 2€ par mois. Si le solde du compte arrive à 0, celui-ci est désac­tivé et on ne peut plus rece­voir jusqu'au réap­pro­vi­sion­ne­ment de celui-ci.

Quand je disais que Flattr était "payant", c'est parce qu'il pré­lève 10% de toutes les sommes qui tran­sitent par son biais. Chaque uti­li­sa­teur étant tenu de contri­buer au moins à hau­teur de 2€ par mois, cela fait donc à Flattr une rente de micro-paiement mini­male de 20 cen­times par uti­li­sa­teur et par mois. Sur la masse, cela peut repré­sen­ter une somme non négligeable.

Pour un mécène qui se contente de don­ner, ce pré­lè­ve­ment est invi­sible : il s'applique sur les sommes per­çues, au niveau des uti­li­sa­teurs qui reçoivent de l'argent. Pas de quoi crier au scan­dale sur cette pra­tique, la plu­part des sys­tèmes de paie­ment (Pay­pal, etc.) se financent avec ce mode de pré­lè­ve­ment. On remar­quera cepen­dant que 10% de pré­lè­ve­ments, c'est astro­no­mique par rap­ports aux taux pra­ti­qués par Paypal.

Note : lorsqu'on recharge son compte Flattr, on le fait par Pay­pal (ou un sys­tème équi­va­lent). Flattr doit donc s'acquitter auprès de ces sys­tèmes d'un pour­cen­tage du rechar­ge­ment. Cepen­dant, ces sommes sont re-facturées en amont, sur les uti­li­sa­teurs. Ainsi, si je paye 30€ (via Pay­pal) pour rechar­ger mon compte, il ne sera cré­dité que de 28,50€. Les 10% pré­le­vés par Flattr ne servent donc pas à payer ces frais.

A ces 10% de pré­lè­ve­ment obli­ga­toire s'ajoutent les reve­nus qui peuvent être géné­rés par la revente des infor­ma­tions récol­tées par le sys­tème sur les habi­tudes des consommateurs utilisateurs.

Il s'agit plus d'une consta­ta­tion que d'une cri­tique : il faut bien que cette société gagne de l'argent (comme les autres), et c'est un modèle écono­mique comme un autre. J'aurais même ten­dance à admi­rer la prouesse qui consiste à rendre "micro-payant" un sys­tème des­tiné au grand public.

Mon seul "malaise" concerne juste le manque de trans­pa­rence dans la com­mu­ni­ca­tion de Flattr sur ce pré­lè­ve­ment "des­tiné uni­que­ment à cou­vrir les frais de fonc­tion­ne­ment" : je ne peux m'empêcher de pen­ser à toutes les arnaques en ligne jouant sur la sen­si­bi­lité des utilisateurs.

Mais bon… Ne crions pas au loup trop vite, d'autant plus que l'idée de base (faci­li­ter par micro-paiement et par un sys­tème facile à mettre en place le sou­tien aux auteurs, artistes, etc. qui consacrent un temps pré­cieux à enri­chir la base de connais­sances du web) me plaît ! D'ailleurs, vous aurez remar­qué que je me suis ins­crit (et que j'ai donc accepté l'ensemble des condi­tions d'utilisation, incluant de payer ma dîme), et que le bou­ton "Flattr" est apparu sur les billets de ce blog (l'installation d'un simple plu­gin Word­Press aura suffit).

Et puis, si de vrais mécènes s'inscrivent dans l'unique but de finan­cer les autres, tout le monde pour­rait être gagnant (on peut tou­jours rêver) :

  • les éditeurs de contenu récu­pé­rant plus d'argent qu'ils n'en dépensent dans ce système
  • Flattr gagnant de l'argent par ses prélèvements

De manière pure­ment théo­rique et sim­pliste, pour que chaque éditeur gagne au moins autant qu'il dépense, en sup­po­sant la répar­ti­tion des "flat­trs" est homo­gène (hypo­thèse on ne peut plus fausse), il faut qu'un mini­mum de 11% des sommes "flat­trées" le soient par des purs mécènes. J'avoue que je ne sais abso­lu­ment pas quelle est la pro­por­tion mécènes/utilisateurs… et je ne suis pas sûr que Flattr com­mu­nique un jour les chiffres à ce sujet.

Note : si le "Flattr ID" numé­rique qui m'a été attri­bué est un entier auto-incrémenté, nous sommes depuis mon ins­crip­tion plus de 33000 uti­li­sa­teurs du système.

Mais je ne me fait pas d'illusions : dans tous les cas, je serai plus mécène que mil­lion­naire avec ce sys­tème. Le comp­teur de tweets de mes billets flirte avec le 0 (quand twee­ter est un clic gra­tuit), alors un Flattr payant, je n'en parle même pas…

Note de conclu­sion pour moi-même : si je veux plus de tweets (et "flat­trs"), il fau­drait peut-être que je songe à écrire des billets inté­res­sants… En atten­dant, je vais com­men­cer par essayer de trou­ver des conte­nus inté­res­sants à Flat­trer. J'en ai déjà trouvé un sans dif­fi­cul­tés. Pour les autres, le site Flattr offre un moteur de recherche inté­res­sant per­met­tant de trou­ver chaque mois du contenu à flat­trer (par type d'oeuvre, par popu­la­rité, flat­tre­ment par­lant, par tags, etc.).

[Edit] Mise à jour le 23 août 2010 : pas de chan­ge­ment majeur dans le fond, mais quelques pré­ci­sions oubliées dans la pre­mière ver­sion de l'article, comme l'existence d'un moteur de recherche.[/edit]

J'ai décou­vert hier la nou­veauté du moment : Flattr. L'idée est simple, mais il fal­lait l'avoir : c'est un sys­tème qui per­met aux inter­nautes de récom­pen­ser les sites que l'on trouve inté­res­sants. Il y a 10 ans, Paypal (racheté en 2002 par Ebay) a consi­dé­ra­ble­ment sim­pli­fié les paie­ments sur le web, en deman­dant un login/mot de passe plu­tôt qu'un numéro com­plet de carte bleu. Cepen­dant, ce sys­tème reste lourd pour effec­tuer un micro-don aux sites qui nous inté­ressent. Le concept de Flattr, c'est donc d'aller encore plus loin que Pay­pal dans la sim­pli­fi­ca­tion du paie­ment, mais en se concen­trant sur les micro-paiements. Je m'y suis ins­crit pour voir son fonc­tion­ne­ment : Tout d'abord, on charge son compte Flattr, avec la somme d'argent que l'on veut. Ensuite, on choi­sit quelle somme on veut attri­buer tous les mois (de 2 à 100 euros) aux sites qui nous plaisent. Tant qu'on est log­gué, on peut sans avoir besoin de se ré-identifier, "flat­trer" ces sites d'un simple clic, via un bouto
Flattr, Réseaux sociaux, Twitter, Web 2.0

Veille Technologique 2.0

18/08/10

Posté par Benoît Courtine dans Divers

Aucun commentaire

Depuis 2006, début de ma vie pro­fes­sion­nelle, je fais de la veille technologique.

Ca a com­mencé par la lec­ture des blogs tech­niques et sites d'information (dont cer­tains sont dans ma liste de liens), géné­ra­listes et spé­cia­li­sés dans le domaine du Java/J2EE. Avec le temps et l'ajout à ma liste de nou­velles sources d'information toutes plus inté­res­santes les unes que les autres, la lec­ture quo­ti­dienne de cha­cun de ces sites s'est avé­rée chro­no­phage. Je suis donc natu­rel­le­ment passé à l'agrégation de flux RSS, avec Google Rea­der.

Dans le même genre, j'ai essayé Net­Vibes. Entre les deux, c'est affaire de goût : il est moins sobre que Google Rea­der, mais offre des fonc­tion­na­li­tés inté­res­santes : sur chaque "Tableau de bord" (cor­res­pon­dant à un centre d'intérêt), les infor­ma­tions sont affi­chées par source (pré­sen­ta­tion que j'apprécie), et des wid­gets sont dis­po­nibles (réseaux sociaux, etc.).

Mais ce n'est que récem­ment que je suis passé à une "veille 2.0", lorsque je me suis mis à uti­li­ser Twit­ter comme source d'information. Mea culpa pour ce retard, que je vais ten­ter de jus­ti­fier. En uti­li­sant Face­book, je m'étais dit (avis que je par­tage tou­jours avec moi-même) que cet outil est pure­ment ludique (encore que je goûte assez peu à la joie des "pokes"), et abso­lu­ment pas adapté à une uti­li­sa­tion pro­fes­sion­nelle. Cet avis m'est d'ailleurs confirmé par le fait que très peu d'entreprises ont un compte ou un groupe Face­book qu'elles animent. A l'époque, en regar­dant Twit­ter de très loin, j'ai cru qu'il s'agissait d'un Face­book réduit à sa seule fonc­tion­na­lité "Ecrire sur le mur" : je me suis donc dit que ça n'avait aucun inté­rêt, et j'ai passé mon chemin.

Ce qui m'a mis la puce à l'oreille sur mon erreur, c'est que les per­sonnes et socié­tés que je sui­vais dans ma veille avaient pour la plu­part un compte Twit­ter. J'y suis donc retourné et j'y ai regardé d'un peu plus près. Si effec­ti­ve­ment, Twit­ter a des allures de "mur Face­book", son fonc­tion­ne­ment n'est pas le même, et c'est ce qui fait toute la différence :

  • contrai­re­ment à la rela­tion d'amitié sur Face­book qui est obli­ga­toi­re­ment réci­proque, sur Twit­ter, le fait de suivre quelqu'un sur Twit­ter n'implique pas la réciprocité.
  • la pos­si­bi­lité de faire suivre aux per­sonnes qui nous suivent les tweets qu'on a lus et qui nous paraissent inté­res­sants (pro­pa­ga­tion d'informations).

Ces deux fonc­tion­na­li­tés font de Twit­ter un outil tout à fait adapté à la veille. Après plu­sieurs mois d'utilisation, je remarque que Twit­ter est le moyen le plus rapide par lequel je me tiens informé des der­nières nou­velles du monde infor­ma­tique (et plus spé­ci­fi­que­ment Java). Pour com­plé­ter, je vous ren­voie à cette ana­lyse plus com­plète de Nico­las Mar­ti­gnole, ainsi qu'à un guide des us et cou­tumes de Twit­ter pour les débu­tants qui m'a été bien utile pour com­prendre les tweets quand je m'y suis mis.

En rédi­geant cet article sur les réseaux sociaux, il m'est revenu à l'esprit une ques­tion ren­con­trée lors d'un devoir en école d'ingénieurs, que je vous retrans­mets en guise de conclusion :

On sup­pose qu'on dis­pose d'une rela­tion d'amitié réci­proque (au sens mathé­ma­tique : "A est ami avec B => B est ami avec a").
Dans une foule de n per­sonnes (n>=2), démon­trer qu'au moins deux per­sonnes ont le même nombre d'amis

Depuis 2006, début de ma vie pro­fes­sion­nelle, je fais de la veille tech­no­lo­gique. Ca a com­mencé par la lec­ture des blogs tech­niques et sites d'information (dont cer­tains sont dans ma liste de liens), géné­ra­listes et spé­cia­li­sés dans le domaine du Java/J2EE. Avec le temps et l'ajout à ma liste de nou­velles sources d'information toutes plus inté­res­santes les unes que les autres, la lec­ture quo­ti­dienne de cha­cun de ces sites s'est avé­rée chro­no­phage. Je suis donc natu­rel­le­ment passé à l'agrégation de flux RSS, avec Google Rea­der. Dans le même genre, j'ai essayé Net­Vibes. Entre les deux, c'est affaire de goût : il est moins sobre que Google Rea­der, mais offre des fonc­tion­na­li­tés inté­res­santes : sur chaque "Tableau de bord" (cor­res­pon­dant à un centre d'intérêt), les infor­ma­tions sont affi­chées par source (pré­sen­ta­tion que j'apprécie), et des wid­gets sont dis­po­nibles (réseaux sociaux, etc.). Mais ce n'est que récem­ment que je suis passé à une "veille 2.0", lorsque je me suis mis
Réseaux sociaux, Twitter, Veille Technologique, Web 2.0

Mise à jour de mon environnement de développement

16/08/10

Posté par Benoît Courtine dans Java

Aucun commentaire

Comme à chaque sor­tie de ver­sion d'Eclipse, j'attendais pour Helios la dis­po­ni­bi­lité du plu­gin pour l'utilisation des ser­veurs Glass­fish.
Le rachat de Sun par Oracle aura eu cet effet posi­tif : le plu­gin n'a pas mis long­temps à sor­tir. Et Oracle a même fait mieux que ça : il a rafraî­chi son IDE "Oracle Enter­prise Pack for Eclipse" (OEPE de son petit nom), qui jusqu'à main­te­nant était tou­jours basé sur une (quand ce n'était deux) ver­sion de retard d'Eclipse. Je l'ai télé­chargé et testé et je dois avouer qu'il m'a convaincu :

  • il est basé sur la der­nière ver­sion stable d'Eclipse, Helios
  • il apporte d'un seul coup le sup­port des deux ser­veurs d'Oracle, Weblo­gic et Glassfish
  • il intègre un cer­tain nombre d'outils dédiés au déve­lop­pe­ment J2EE, comme le Oracle JSP Vali­da­tor, ou encore la pré­vi­sua­li­sa­tion de ces mêmes pages JSP

Je l'ai donc adopté, et jusqu'à main­te­nant, je n'ai pas été déçu. C'est une petite sur­couche à Eclipse, agréable sans pour autant être trop lourde. Je m'en suis donc servi comme base pour une réins­tal­la­tion propre de mon envi­ron­ne­ment de déve­lop­pe­ment habi­tuel. Je vais donc pro­fi­ter de celle-ci pour écrire un petit tuto­riel (un de plus, par rap­port à tous ceux que vous trou­ve­rez déjà grâce à Google) de mise en place de cet envi­ron­ne­ment.
La suite >

Comme à chaque sor­tie de ver­sion d'Eclipse, la dis­po­ni­bi­lité du plu­gin pour l'utilisation des ser­veurs Glass­fish. Le rachat de Sun par Oracle aura eu cet effet posi­tif : le plu­gin n'a pas mis long­temps à sor­tir. Et Oracle a même fait mieux que ça : il a rafraî­chi son IDE "Oracle Enter­prise Pack for Eclipse" (OEPE de son petit nom), qui jusqu'à main­te­nant était tou­jours basé sur une (quand ce n'était deux) ver­sion de retard d'Eclipse. Je l'ai télé­chargé et testé et je dois avouer qu'il m'a convaincu : il est basé sur la der­nière ver­sion stable d'Eclipse, Helios il apporte d'un seul coup le sup­port des deux ser­veurs d'Oracle, Weblo­gic et Glass­fish il intègre un cer­tain nombre d'outils dédiés au déve­lop­pe­ment J2EE, comme le Oracle JSP Vali­da­tor, ou encore la pré­vi­sua­li­sa­tion de ces mêmes pages JSP Je l'ai donc adopté, et jusqu'à main­te­nant, je n'ai pas été déçu. C'est une petite sur­couche à Eclipse, agréable sans pour autant être trop lourde. Je m'en suis donc servi c
Eclipse, Glassfish, Java-J2EE, Open Source, Oracle, Outils de développement

Nouvelle option multi-compte de Google

10/08/10

Posté par Benoît Courtine dans Divers

Aucun commentaire

Il y a quelques jours, j'ai appris l'existence d'une nou­velle option de Google per­met­tant de se connec­ter simul­ta­né­ment à plu­sieurs comptes GMail. Je n'ai qu'un seul compte GMail… mais plu­sieurs autres comptes mails sur les Google Apps, gérant les mails de mon domaine.

Cette fonc­tion­na­lité m'intéressant donc beau­coup pour pas­ser d'un compte à un autre, je me suis dit que ça ne coû­tait rien d'essayer. Mais sans manuel, il m'a fallu au moins 5 minutes pour com­prendre com­ment acti­ver l'option en ques­tion… A moins de dis­po­ser d'un doc­to­rat spé­cia­lisé en tech­no­lo­gies Google, trou­ver l'option magique relève vrai­ment du casse-tête.

Pour ceux que l'expérience inté­resse et qui comme moi, ne connaissent pas les menus GMail par coeur, voici com­ment procéder :

  • Tout d'abord, inutile de cher­cher l'option sur les comptes Google Apps : elle n'existe pour le moment que sur les comptes GMail (ce qui n'augure rien de bon sur ma vel­léité de pas­ser rapi­de­ment d'un compte GApps à un autre…).
  • Sur les comptes GMail main­te­nant, il faut savoir que l'option n'est dis­po­nible que si votre inter­face est en anglais (il faut savoir que beau­coup d'options de Google sont d'abord ren­dues dis­po­nibles dans l'interface anglaise, comme c'était le cas il y a quelques temps pour les plu­gins GMail Labs).
  • La pre­mière chose à faire est donc de se rendre dans les para­mètres (lien en haut à droite de la fenêtre), et dans l'onglet Géné­ral, de chan­ger la langue d'affichage de GMail pour pas­ser en anglais (US ou UK).
  • On valide en bas de la page. On revient ensuite dans les para­mètres (deve­nus les Set­tings si le chan­ge­ment de langue s'est bien passé) et on passe alors au troi­sième onglet, Accounts and Import.
  • En bas de cette page de para­mètres, c'est le lien Google Account Set­tings qui per­met­tra fina­le­ment d'accéder à la page où nor­ma­le­ment, l'option Mul­tiple sign-in est apparue !

Ouf !… Il ne reste plus qu'à l'activer. En haut à droite, le nom du compte devient alors un lien per­met­tant d'enregistrer les autres comptes aux­quels on veut se connec­ter. Pour moi, c'est raté : l'option ne fonc­tionne pour l'instant qu'avec les comptes GMail… Comme je n'en ai qu'un, je n'en ai pas l'utilité pour l'instant : il ne me reste donc plus qu'à remettre mon compte en ordre en désac­ti­vant l'option, en remet­tant l'interface en fran­çais… et à attendre que l'option soit éten­due aux comptes Google Apps !

En atten­dant, j'espère que ce petit billet per­met­tra à ceux qui veulent acti­ver l'option de le faire plus rapidement…

Pour ceux qui ont eu le cou­rage de lire ce billet jusqu'au bout, voici main­te­nant le rac­courci ! Une fois connecté à son compte GMail, la page de ges­tion du compte (où on peut acti­ver la fameuse option) est dis­po­nible à l'adresse https://www.google.com/accounts/ManageAccount?service=mail&hl=en : beau­coup plus simple que la liste des mani­pu­la­tions ci-dessus, mais il faut le savoir !

Il y a quelques jours, j'ai appris l'existence d'une nou­velle option de Google per­met­tant de se connec­ter simul­ta­né­ment à plu­sieurs comptes GMail. Je n'ai qu'un seul compte GMail… mais plu­sieurs autres comptes mails sur les Google Apps, gérant les mails de mon domaine. Cette fonc­tion­na­lité m'intéressant donc beau­coup pour pas­ser d'un compte à un autre, je me suis dit que ça ne coû­tait rien d'essayer. Mais sans manuel, il m'a fallu au moins 5 minutes pour com­prendre com­ment acti­ver l'option en ques­tion… A moins de dis­po­ser d'un doc­to­rat spé­cia­lisé en tech­no­lo­gies Google, trou­ver l'option magique relève vrai­ment du casse-tête. Pour ceux que l'expérience inté­resse et qui comme moi, ne connaissent pas les menus GMail par coeur, voici com­ment pro­cé­der : Tout d'abord, inutile de cher­cher l'option sur les comptes Google Apps : elle n'existe pour le moment que sur les comptes GMail (ce qui n'augure rien de bon sur ma vel­léité de pas­ser rapi­de­ment d'un compte GApps à un autre…). S
Google, Test
Clavier MAC QWERTY

MAC : un an après…

7/08/10

Posté par Benoît Courtine dans Matériel

Aucun commentaire

Cela fait main­te­nant presque un an que j'utilise mon Mac­Book Pro (13 pouces). Peu de temps après son acqui­si­tion, j'avais dressé un pre­mier bilan, à chaud. Le temps des vacances est pro­pice à un second bilan mis à jour, mais avec une année sup­plé­men­taire de recul.

Le maté­riel

Du point de vue maté­riel, je n'ai tou­jours rien à redire. Et ce jusqu'à la bat­te­rie, qui après une uti­li­sa­tion preque quo­ti­dienne, garde une auto­no­mie irré­pro­chable : supé­rieure à 5 heures pour une uti­li­sa­tion bureau­tique, et lar­ge­ment suf­fi­sante pour regar­der un film sur bat­te­rie lors d'un dépla­ce­ment en train.
N'ayant ren­con­tré aucun pro­blème avec le maté­riel, je n'ai aucun com­men­taire à faire sur le SAV (je n'allais pas les contac­ter juste pour le plaisir).

Le poids et la taille (13 pouces) de la machine en font un outil idéal pour les dépla­ce­ments. Le MAC est donc main­te­nant la machine qui m'accompagne par­tout, que ce soit en dépla­ce­ment pro­fes­sion­nel ou en vacances.

Le sys­tème d'exploitation

Pas­sons main­te­nant au sys­tème, Snow Leo­pard. Afin de gar­der la pos­si­bi­lité de choi­sir mon envi­ron­ne­ment de tra­vail, j'ai ins­tallé Win­dows 7 grâce à Boot Camp, ainsi qu'un Ubuntu 10.04 sur Vir­tual Box.

Les réserves que j'avais sur l'utilisabilité de Snow Leo­pard ont majo­ri­tai­re­ment dis­pa­rues au fur et à mesure que je me suis habi­tué au sys­tème, même si je conti­nue de trou­ver peu pra­tique pour déve­lop­per le cla­vier MAC (ALT+SHIFT+'(' pour un cro­chet ouvrant, ALT+SHIFT+L pour un "pipe", etc.). Pour le déve­lop­pe­ment, ça donne vrai­ment envie de se remettre au QWERTY, beau­coup mieux agencé :

Clavier MAC QWERTY

Cla­vier MAC QWERTY

Mal­gré ce défaut, c'est tout de même sous Snow Leo­pard que je passe 70% de mon temps, ce sys­tème répon­dant à la majo­rité de mes besoins (et tra­vailler sur un sys­tème à base d'Unix a vrai­ment du bon, même s'il existe Cyg­win sur Win­dows). Le reste de l'utilisation se divise entre Win­dows 7 et Ubuntu. Bien que j'ai pro­gressé dans la maî­trise de Snow Leo­pard, je ne suis pas encore un "power user" de ce sys­tème. De là où j'en suis, j'apprécie autant Win­dows 7 que Snow Leo­pard, qui ont cha­cun leurs avan­tages. Au pas­sage, Steve aurait de sérieuses amé­lio­ra­tions à appor­ter au Fin­der… La ges­tion des fichiers sous MAC est vrai­ment laborieuse.

Les logi­ciels

C'est à mon avis le gros point noir du MAC, par rap­port à Win­dows. Aucun de ces deux sys­tèmes n'est natu­rel­le­ment proche du monde Open Source… mais comme la com­mu­nauté Win­dows est beau­coup plus impor­tante, on trouve en géné­ral dans tous les domaines un (ou plu­sieurs) logi­ciels Open Source (ou au moins gra­tuits) qui répondent à nos besoins.

Sous MAC, le nombre de logi­ciels gra­tuits dis­po­nibles est beau­coup moins impor­tant, et il s'agit sou­vent de logi­ciels qui sont égale­ment dis­po­nibles sur les autres sys­tèmes d'exploitation (File­Zilla pour les trans­ferts FTP, yEd pour l'édition de dia­grammes, etc.).
Il existe quelques logi­ciels gra­tuits vrai­ment dédiés aux MAC (Adium comme client MSN, Twee­tie comme client Twit­ter, etc.) mais ils sont loin de cou­vrir l'ensemble des besoins. Il existe certes d'excellents logi­ciels pour les autres besoins… mais ils sont loin d'être abor­dables quand on n'en a qu'une uti­li­sa­tion occa­sion­nelle (Omni­graffe pour l'édition de dia­grammes, par exemple).
Jusque là, rien de bien méchant. Les logi­ciels dont j'ai l'habitude fonc­tion­nant aussi bien sur MAC que sur Win­dows. Là où le bât blesse, c'est que pour cer­taines fonc­tion­na­li­tés, il n'existe rien de convain­quant sur MAC parmi les logi­ciels gra­tuits. Je pense en par­ti­cu­lier à deux fonc­tion­na­li­tés pour­tant basiques, pour les­quelles je n'ai pas trouvé mon bonheur :

  • l'édition de texte : je n'ai pas encore trouvé sur MAC l'équivalent de PsPad ou de Note­pad++. Il y a bien JEdit ou Text­Wran­gler, mais aucun de ces logi­ciels n'a les fonc­tion­na­li­tés avan­cées que l'on peut trou­ver sur les logi­ciels exis­tants sous Windows.
  • la compression/décompression : il y a bien des logi­ciels comme Stuf­fit, mais il y a quelques temps, j'ai eu besoin de faire une com­pres­sion avec mot de passe, ce qui néces­site une ver­sion payante de Stuf­fit (ou des autres ges­tion­naires d'archives sous MAC). J'ai donc dû lan­cer la com­pres­sion en ligne de com­mande. A ce jour, comme pour l'édition de textes, je n'ai tou­jours pas trouvé d'équivalent gra­tuit de 7-Zip ou de Pea­Zip sous MAC.

Conclu­sion

En conclu­sion, cet ordi­na­teur est une bonne machine, le sys­tème est agréable à uti­li­ser, et on peut consi­dé­rer que j'ai défi­ni­ti­ve­ment "swit­ché" (sur cette machine du moins… sur mon PC fixe, je reste sur Win­dows 7). Cepen­dant, il souffre à mon goût d'une logi­thèque gra­tuite beau­coup trop réduite. Pour bon nombre de choses, il faut soit se rabattre sur des logi­ciels qu'on uti­lise déjà sous Win­dows lorsqu'ils existent (et le Mac n'a donc pas de valeur ajou­tée par rap­port à Win­dows), soit pas­ser à la caisse.

Cela fait main­te­nant presque un an que j'utilise mon Mac­Book Pro (13 pouces). Peu de temps après son acqui­si­tion, j'avais dressé , à chaud. Le temps des vacances est pro­pice à un second bilan mis à jour, mais avec une année sup­plé­men­taire de recul. Le maté­riel Du point de vue maté­riel, je n'ai tou­jours rien à redire. Et ce jusqu'à la bat­te­rie, qui après une uti­li­sa­tion preque quo­ti­dienne, garde une auto­no­mie irré­pro­chable : supé­rieure à 5 heures pour une uti­li­sa­tion bureau­tique, et lar­ge­ment suf­fi­sante pour regar­der un film sur bat­te­rie lors d'un dépla­ce­ment en train. N'ayant ren­con­tré aucun pro­blème avec le maté­riel, je n'ai aucun com­men­taire à faire sur le SAV (je n'allais pas les contac­ter juste pour le plai­sir). Le poids et la taille (13 pouces) de la machine en font un outil idéal pour les dépla­ce­ments. Le MAC est donc main­te­nant la machine qui m'accompagne par­tout, que ce soit en dépla­ce­ment pro­fes­sion­nel ou en vacances. Le sys­tème d'exploitation Pas­sons main­te­nant au sy
Mac

Nouvelles fonctions d'agrégation pour Talend Open Studio

6/08/10

Posté par Benoît Courtine dans Talend

Aucun commentaire

Spé­ci­fi­ca­tions

Récem­ment, j'ai été confronté à la pro­blé­ma­tique sui­vante, en appa­rence assez simple : un fichier conte­nant une liste d'opérations ban­caires. Cha­cune de ces opé­ra­tions cor­res­pond (entre autres) à un client et à un sta­tut boo­léen (opé­ra­tion approu­vée ou rejetée). Pour sim­pli­fier, on sup­po­sera qu'une opé­ra­tion n'est consti­tuée que de ces deux attributs.

Le but était de trier les clients en deux caté­go­ries : ceux dont toutes les opé­ra­tions ont été approu­vées, et ceux ayant eu au moins une opé­ra­tion reje­tée (l'équivalent sur le fichier d'un "GROUP BY" SQL).

Ana­lyse

Pour réa­li­ser cette opé­ra­tion, j'ai évidem­ment sorti mon ETL pré­féré, Talend Open Stu­dio et son com­po­sant tAg­gre­ga­te­Row. Mais là, petite sur­prise : il n'existe pas de fonc­tion d'agrégation "boo­léenne" (et logique, ou logique, etc.). Et comme il n'existe pas de rela­tion d'ordre sur les boo­léens, impos­sible d'utiliser direc­te­ment les fonc­tions MIN ou MAX.

Contour­ne­ment

Dans un pre­mier temps, la solu­tion de contour­ne­ment n'a pas été dif­fi­cile à trou­ver (il en existe d'ailleurs un cer­tain nombre) : conver­tir les "true" en "1" et les "false" en "0". Avec cette trans­for­ma­tion, la fonc­tion boo­léenne "ET" est repré­sen­tée par la fonc­tion mathé­ma­tique "MIN" et la fonc­tion boo­léenne "OU" par "MAX" dans l'agrégation. Après cette agré­ga­tion, il suf­fit de faire la trans­for­ma­tion inverse pour reve­nir à des boo­léens. En plus de la lec­ture du fichier et de l'écriture de la sor­tie, il suf­fit donc de 3 com­po­sants pour réa­li­ser le trai­te­ment souhaité.

Amé­lio­ra­tion du composant

Je suis main­te­nant en vacances, et j'ai donc le temps de reprendre ce pro­blème à tête repo­sée. Deux com­po­sant pour faire deux trans­for­ma­tions inverses, cela ne me satis­fai­sait pas. Je me suis donc pen­ché sur l'étude du com­po­sant tAg­gre­ga­te­Row, pour voir com­ment étendre ses fonc­tion­na­li­tés aux agré­ga­tions de champs booléens.

Je comp­tais en pro­fi­ter de ce cas d'utilisation pour com­men­cer un tuto­riel sur le déve­lop­pe­ment et l'amélioration de com­po­sants, mais je suis revenu sur cette idée : le com­po­sant tAg­gre­ga­te­Row n'est pas des plus simples (il est en par­ti­cu­lier consti­tué de deux sous-composants tech­niques tAg­gre­ga­teIn et tAg­gre­ga­teOut), et n'est donc à mon avis pas un bon exemple pour abor­der les géné­ra­li­tés du déve­lop­pe­ment de com­po­sants, mais ce n'est que par­tie remise.

Je passe donc direc­te­ment à la conclu­sion : depuis le 29 juillet 2010, vous trou­ve­rez sur Talend Exchange le com­po­sant bcAg­gre­ga­te­Row, per­met­tant d'agréger des champs boo­léens avec les fonc­tions boo­léennes "ET", "OU", et "OU EXCLUSIF".

Spé­ci­fi­ca­tions Récem­ment, j'ai été confronté à la pro­blé­ma­tique sui­vante, en appa­rence assez simple : un fichier conte­nant une liste d'opérations ban­caires. Cha­cune de ces opé­ra­tions cor­res­pond (entre autres) à un client et à un sta­tut boo­léen (opé­ra­tion approu­vée ou rejetée). Pour sim­pli­fier, on sup­po­sera qu'une opé­ra­tion n'est consti­tuée que de ces deux attri­buts. Le but était de trier les clients en deux caté­go­ries : ceux dont toutes les opé­ra­tions ont été approu­vées, et ceux ayant eu au moins une opé­ra­tion reje­tée (l'équivalent sur le fichier d'un "GROUP BY" SQL). Ana­lyse Pour réa­li­ser cette opé­ra­tion, j'ai évidem­ment sorti mon ETL pré­féré, Talend Open Stu­dio et son com­po­sant tAg­gre­ga­te­Row. Mais là, petite sur­prise : il n'existe pas de fonc­tion d'agrégation "boo­léenne" (et logique, ou logique, etc.). Et comme il n'existe pas de rela­tion d'ordre sur les boo­léens, impos­sible d'utiliser direc­te­ment les fonc­tions MIN ou MAX. Contour­ne­ment Dans un pre­mier temps, la
Java-J2EE, Talend Open Studio

Mésaventures avec Mio

28/07/10

Posté par Benoît Courtine dans Matériel

Aucun commentaire

Si vous n'avez pas encore deviné à par­tir du titre de cet article, je vous décon­seille for­te­ment d'acheter vos GPS chez Mio.

Voici donc mon expé­rience mono­logue (n'ayant jamais obtenu de réponse aux mul­tiples mails envoyés) avec leur ser­vice clientèle :

Tout a com­mencé au début de l'année 2009. Sur Cdis­count, le modèle Mio Moov 580, datant de 2008 était en pro­mo­tion (liqui­da­tion des stocks, la gamme sui­vante étant appa­rue). Ce modèle avait eu une bonne cri­tique, et l'offre pré­ci­sait deux choses qui m'ont convaincu d'acheter :

  • pos­si­bi­lité de mettre gra­tui­te­ment à jour les cartes dans les 30 jours sui­vant l'achat
  • abon­ne­ment de 3 ans offert à la mise à jour des radars

Je n'avais pas relevé à l'époque, mais voici com­ment les choses s'étaient pas­sées : après avoir demandé la mise à jour des cartes, je reçois un fichier de cartes, ainsi qu'un code d'activation asso­cié. Au moment de sai­sir celui-ci, j'obtiens un mes­sage d'erreur, que je n'ai plus exac­te­ment en tête, mais qui en sub­stance était "Code d'activation incor­rect". Natu­rel­le­ment, je contacte le ser­vice client (par mail, le télé­phone étant sur­taxé). Je n'ai jamais eu de réponse…

Je me suis donc retrouvé avec un appa­reil certes fonc­tion­nel, mais avec des cartes de 2008, et sans la mise à jour offerte. Si j'en crois ce qu'on peut lire sur inter­net, je ne suis pas un cas isolé.

Ca, c'était il y a main­te­nant plus d'un an. Nous pou­vons main­te­nant pas­ser à l'acte 2 : avant de par­tir en vacances cet été, j'ai décidé de remettre ce pro­blème sur le tapis. Et plu­tôt que d'acheter un nou­veau GPS, j'ai décidé de mettre à jour ce Moov 580, qui n'est pas si vieux que ça et qui me donne satis­fac­tion, à l'exception des cartes obso­lètes et des erreurs de navi­ga­tion qui en découlent…

Etape obli­ga­toire pour la mise à jour du GPS : pas­ser à la caisse ! Les cartes d'Europe coûtent la baga­telle de 50€ (pour la ver­sion à télé­char­ger). Notons que le sys­tème de mise à jour est contre-intuitif, et le PDF four­nit avec l'explication pas à pas n'est vrai­ment pas de trop pour réussir.

Au pas­sage, j'ai changé d'ordinateur depuis l'achat de ce GPS (et je n'avais pas pris la peine de réins­tal­ler "Mio­More Desk­top", le logi­ciel de ges­tion du GPS). Impos­sible de le télé­char­ger sur le site de Mio, celui-ci ne pro­po­sant qu'une mise à jour : il m'a donc fallu faire des exca­va­tions pour remettre la main sur le CD ori­gi­nal du pro­duit avant de pou­voir pro­cé­der à la mise à jour des cartes…

Je finis tout de même par réus­sir ma mise à jour, et suis donc satis­fait. J'aurais pu le demeu­rer si je n'avais fait quelques véri­fi­ca­tions d'usage… Le fichier de mise à jour étant une ISO du DVD de mise à jour, je l'explore par curio­sité avec mon 7Zip favori. Et là, quelque chose attire mon atten­tion : dans le réper­toire "Maps", les fichiers sont horo­da­tés de 2009. Quelques véri­fi­ca­tions plus tard, je m'aperçois que la mise à jour que je viens juste d'acheter… contient des cartes vieilles de presque un an et demi !

Comme il y a un an, je contacte le ser­vice client… et comme il y a un an, pas de réponse !

Vu la poli­tique de ce ser­vice clien­tèle, je vous sug­gère donc vive­ment de pas­ser votre che­min et d'aller voir du côté de la concur­rence, et ce quelle que soit la qua­lité de leurs pro­duits. J'envisage pour ma part d'aller voir du côté de Coyote.

S'il y a des suites à ces mésa­ven­tures (un ser­vice client qui se réveille­rait…), je ne man­que­rai pas de mettre cet article à jour.

Si vous n'avez pas encore deviné à par­tir du titre de cet article, je vous décon­seille for­te­ment d'acheter vos GPS chez Mio. Voici donc mon expé­rience mono­logue (n'ayant jamais obtenu de réponse aux mul­tiples mails envoyés) avec leur ser­vice clien­tèle : Tout a com­mencé au début de l'année 2009. Sur Cdis­count, le modèle Mio Moov 580, datant de 2008 était en pro­mo­tion (liqui­da­tion des stocks, la gamme sui­vante étant appa­rue). Ce modèle avait eu une bonne cri­tique, et l'offre pré­ci­sait deux choses qui m'ont convaincu d'acheter : pos­si­bi­lité de mettre gra­tui­te­ment à jour les cartes dans les 30 jours sui­vant l'achat abon­ne­ment de 3 ans offert à la mise à jour des radars Je n'avais pas relevé à l'époque, mais voici com­ment les choses s'étaient pas­sées : après avoir demandé la mise à jour des cartes, je reçois un fichier de cartes, ainsi qu'un code d'activation asso­cié. Au moment de sai­sir celui-ci, j'obtiens un mes­sage d'erreur, que je n'ai plus exac­te­ment en tête, mai
GPS, Mio
12345»...Fin »
    • Commentaires récents
    • Articles populaires
    • Archives
    • Tags
    • Catégories
    • Détente (5)
    • Divers (7)
    • Java (24)
    • Logiciels libres (6)
    • Matériel (7)
    • Méthodes (2)
    • Systèmes d'information (5)
    • Talend (13)
    • Vie du blog (14)
    Android Apache Audio Axis Bases de données Blackberry Bureautique Business Intelligence Cloud Computing DNS Dotclear Eclipse ETL GED Git Glassfish Google Informix Internet Java-J2EE Mac MySQL Open Office Open Source Oracle Outils de développement PHP Qualité de code Réseaux sociaux Serveur SI Société SSH SSII SVN talend Talend Open Studio Test Tomcat Tutoriel Twitter Ubuntu UML Web 2.0 WordPress
    • août 2010 (9)
    • juillet 2010 (9)
    • juin 2010 (4)
    • mai 2010 (3)
    • avril 2010 (7)
    • mars 2010 (5)
    • février 2010 (2)
    • janvier 2010 (3)
    • décembre 2009 (2)
    • novembre 2009 (1)
    • octobre 2009 (5)
    • septembre 2009 (3)
    • août 2009 (1)
    • juillet 2009 (2)
    • juin 2009 (2)
    • mai 2009 (6)
    • avril 2009 (4)
    • mars 2009 (9)
    • février 2009 (4)
    • Migrer de Dotclear 2 a WordPress 3 (14)
    • Libérons (un peu) les développeurs (5)
    • Nouveaux composants pour Talend Open Studio (4)
    • Pense-bête (3)
    • Flattr : un système économique bien pensé (3)
    • Installer un serveur dédié (3)
    • Composants Log4J pour Talend (3)
    • Convaincu par WordPress 3 (3)
    • Test du H4n Handy Recorder (2)
    • Certification Talend (2)
    • Sonia: Je viens de découvrir votre blog. Félicitations même c'est un peu "out of date".
    • Twitted by loic_d: [...] This post was Twitted by loic_d [...]
    • Benoît Courtine: Si un développeur rencontre un problème avec ses outils qu'il ne réussit pas à résoudre rapidement, ...
    • Twitted by parisfreelance: [...] This post was Twitted by parisfreelance [...]
    • François: Ok pour laisser le choix des outils aux développeurs à condition que leurs choix et surtout la m...
    • Twitted by bcourtine: [...] This post was Twitted by bcourtine [...]
    • Innover dans une SSII « Le blog pro de Pierre Fauvel: [...] Inversement, j’ai récemment répondu à un twitt de @bcourtine qui demandait s’il fa...
    • Benoît Courtine: Merci pour ce commentaire et pour cette remarque. J'ai modifié le paragraphe en question pour le ...
  • Mes réseaux

    •  LinkedIn LinkedIn
    •  Viadeo Viadeo
    •  Twitter Twitter
    •  Facebook Facebook
    •  LinkedIn Company LinkedIn Company
  • Mes derniers tweets

    Chargement des twitts...
    Suivez moi sur Twitter !
  • Login utilisateur






    • Mot de passe perdu?
  • Blogs personnels

    • @Blog("Baptiste Wicht")
    • Blog de geeek
    • Blog de Romain
    • Blog de Yohann Ciurlik
    • Le touilleur express
    • Nicolas de Loof
  • Détente

    • Dans Ton Chat
    • Geek and Poke
    • Parole de presta
    • The Daily WTF
  • Général

    • AlcionTech
    • Blog de geeek
    • Blog de Yohann Ciurlik
    • Clubic
    • Developpez
    • Journal du geek
    • Octo talks !
    • PC Impact
  • Java/J2EE

    • @Blog("Baptiste Wicht")
    • Blog de Romain
    • Ippon
    • Le touilleur express
    • Nicolas de Loof
    • Xebia France
    • Xebia Internationnal
    • Zenika
  • Open Source

    • APRIL
    • Framablog
    • La Cantine
    • Smile
Mystique theme par digitalnature | Propulsé par WordPress | Traduit par Autour d'un Café
Flux RSS XHTML 1.1 En haut