Syndiquer le contenu
Mis à jour : il y a 17 heures 14 min

Vivre du logiciel libre - MediaArea.net trois ans plus tard

2 septembre, 2014 - 09:43

En décembre 2011, j'avais publié une série d'interviews de créateurs d'entreprise dans le domaine du logiciel libre. Près de trois ans plus tard, je relance une série qui apportera un regard neuf sur le sujet de la création d'entreprise et du logiciel libre. Ce sera - je l'espère, l'occasion de découvrir de nouveaux entrepreneurs ; ce sera également l'occasion de voir comment ont pu évoluer certaines entreprises.

À l'époque, la première interview de la série était une interview de Jérôme Martinez, créateur du logiciel MediaInfo et fondateur de la société à responsabilité limitée MediaArea.net SARL.

Note pour ceux qui ne connaissent pas Jérôme Martinez : vous le connaissez sans le savoir. Cherchez mieux ;)

Nous commencerons la série 2014 avec la même personne et une société résolument tournée vers l'international, société qui semble plutôt bien tourner.

Sommaire Rappel de la série originale

Note : si vous êtes intéressé(e)s pour une interview, contactez-moi par courriel - damien point accorsi arobase free point fr.

Introduction - début de l'entretien Le précédent entretien date de décembre 2011… Que s'est-il passé du côté de ton entreprise depuis ?

Ça commence bien, c’est le genre de question où on doit enrober la réponse, avec de grands mots pour dire que c’est trop génial la vie tout ça, et ça j’ai du mal à faire ;-).

Alors je vais répondre en bottant pas mal en touche : plein de choses et rien en même temps, ça dépend du point de vue.

  • Rien dans le sens où mon site web n’a pas bougé d’un pouce (toujours aussi moche :-D ), où je fais presque la même activité ;
  • Plein de choses dans le sens où j’ai une vision plus à long terme de mon projet, une vue sur la pérennité de mon activité, des rencontres qui m’ont fait comprendre que ce que je fais est très utile pour beaucoup de monde, où j’ai augmenté mon nombre de contacts professionnels, et où le logiciel supporte de plus en plus de formats « bizarres » à peine sortis ou pas encore sortis (par exemple, IMF qui n'a même pas encore sa page Wikipedia…).
Logiciel libre, modèle économique et stratégie Il y a deux ans et demi, ton modèle économique était majoritairement centré sur le service. Aujourd'hui ton positionnement a-t-il changé ?

Il y a changement du côté de la proportion prise par le service : elle est passée de majoritaire à très majoritaire. La crise financière a beaucoup pesé sur le marché publicitaire qui me finançait pas mal au début, le monde change avec Adblock qui est de plus en plus utilisé, et surtout je n’ai pas le temps de tout faire. J’ai eu de belles opportunités dans la prestation de service et donc ai pour le moment priorisé cette partie.

La visibilité de ton activité économique repose sur le logiciel MediaInfo ; est-il toujours au coeur de ton activité ou bien t'apporte-t-il principalement de la visibilité en tant qu'expert des technologies vidéo ?

MediaInfo m’apporte clairement beaucoup de visibilité : il est maintenant très rare que j’assiste à un meeting orienté média numérique sans qu’une partie non négligeable des participants réagisse lorsque je me présente « ha mais bien sûr que je connais MediaInfo, il me sauve souvent la vie », les premières fois ça fait bizarre. Bon, le fait qu’il soit utilisé autant dans le milieu professionnel que non professionnel aide aussi, beaucoup de professionnels que je rencontre ne l’utilisent pas dans leur métier mais ailleurs ;-), mais ça fait toujours un plus que d’être une personne dont on utilise le logiciel même à titre privé. Le fait de viser très large, en passant des besoins d'amateur à des besoins professionnels, de Windows à Linux en passant par Mac, me semble aider beaucoup à être connu, car le professionnel qui travaille dans le domaine multimédia utilise souvent des logiciels orientés multimédia à titre privé, et donc les gens ont déjà une idée de ce que je peux proposer.

Pour parler Open-Source, le fait que le logiciel soit Open-Source est reçu très différemment suivant le type d’entité avec qui je travaille, c’est assez binaire par type d’entité : c’est soit super car les gens en face ne jurent que par l’Open-Source et donc je suis « compatible », soit ça alimente beaucoup en questions sur le pourquoi je le fais, sur comment je peux en vivre, il y a encore beaucoup d’éducation à faire sur le libre et rassurer que le libre n’est pas en opposition avec le commercial et peut très bien cohabiter avec du non libre (malheureusement, vu qu’un partie des personnes se disant libristes s’amusent toujours à opposer une supposée pureté d’un tout libre non commercial fantasmé au commercial ou à la cohabitation avec le non-libre, il a des peurs sur le libre à enlever, c’est un travail long), mais ce genre de discussion sur l'Open-Source permet de créer un premier contact.

Plus de 97% de ton CA à l'export… est-ce une question de choix ? D'opportunités ?

Ça doit même être 99% en 2013.

Pas de ségrégation anti-France, non ! Peut-être parce que la France c’est 1% de la population mondiale ? Le monde de l’Open-Source (ou de l’informatique en général) que je connais n’est pas limité par les frontières physiques mais plutôt par des frontières économiques (il ne faut pas se leurrer, je n’ai jamais eu de contact professionnels avec des pays d’Afrique par exemple…). C’est plutôt donc des opportunités aidées par ma façon de gérer : je ne fais pas de publicité à part le logiciel Open-Source MediaInfo donc de manière « passive », je ne suis pas « pro-actif » et ne vais pas « vendre » ma solution, c’est plutôt les utilisateurs qui me contactent pour me proposer du business, et je pense que ce n’est pas trop dans la mentalité française que de contacter un projet.

Par exemple, je reçois beaucoup de courriels venant de Grande-Bretagne ou des USA pour me dire « super ton logiciel, continue, j’espère qu’on pourra faire du business bientôt » ou « j’ai besoin d’intégrer ton logiciel, faisons du business ensemble », et quasiment pas de France, et quand je rencontre des Français (ou Européens en général) ils me disent plutôt qu’ils l’utilisent passivement, sans idée de faire évoluer et de l’intégrer plus dans leur workflow, qu’ils « n’ont pas de budget » ou qu’ils font plutôt appel à des SSII qui leur font un joli paquet avec des gros outils.

De plus, ça n’étonnera pas les connaisseurs, mais voilà : l’argent dans l’informatique, il est majoritairement aux USA, les entreprises aux USA ont aussi beaucoup moins de problème à travailler avec des gens qui n’ont pas une belle plaquette publicitaire mais font un truc utile qui marche, et ne demandent pas de remplir 30 pages de réponse à appel d’offre pour un petit besoin (ne pas rigoler, mais il m’est déjà arrivé en France de facturer 5 jours de travail comprenant 3 jours de paperasse pour réponse à l’appel d’offre / réussir à faire accepter une petite boite par la compta / réunion de lancement / réunion d’avancement etc), du coup case « export » pour moi dans la majorité des cas.

Un CA qui grossit d'ailleurs… ton activité s'est bien développée. À quoi attribues-tu cela ? Marketing ? Expertise technique ? Marché de la vidéo en vogue ?

Marketing ? Tu plaisantes j’espère, tu as vu la gueule de mon site web ? ;-)

Plus sérieusement : c’est aujourd’hui majoritairement dû à une unique entreprise qui ne fait pas de libre elle-même mais qui m’achète plein de jours de travail du fait de mon expertise technique, et dont une bonne partie de mon travail est autorisé (ça a été négocié) à être dans la version libre. Ça se passe très bien avec cette entreprise donc le CA grossit en conséquence. Et à force d’être de plus en plus expert, je peux augmenter mon taux journalier. Si je n’avais pas cette grosse entreprise cliente, le CA serait pas mauvais non plus (pour le moment, je dois refuser des demandes) mais sans aucun doute bien moindre. Après, je pense que ça vient toujours du fait que je ne refuse rien « par principe » : tu veux du non Open-Source en étant prêt à payer plus cher ? Je fais. Tu veux de l’Open-Source sur Mac car l’Open-Source pour le logiciel est obligatoire pour le long terme mais tu n’es pas prêt à sacrifier ton confort ni demander à tous tes utilisateurs de changer d’OS car ça on s’en fout complet pour le long terme? Je fais.

J’en profite pour faire une remarque : mon expertise, je la matérialise par du code (le code n’est pas super en lui-même, je ne suis pas très doué la dessus, ma plus-value est dans la capacité à lier mon expertise en analyse à du code et à adapter le code à la demande client), et force est de constater qu’en France faire du code « expert » n’est pas bien valorisé : par curiosité, j’ai passé quelques entretiens d’embauche en France, et pour la partie technique ça allait mais dès qu’on parlait rémunération on me répondait « ça ne va pas la tête, vous demandez n’importe quoi, ça va pas être possible » alors qu’on m’aime bien outre atlantique parce que je suis… pas cher. Il y a un souci. Je comprends beaucoup quand les codeurs « experts » partent aux USA, ils sont plus valorisés. C’est dommage de perdre les compétences en France.

Du coup tu travailles toujours seul comme fin 2011 ou bien tu as recruté des collaborateurs ?

Pour le moment, toujours seul. Je suis encore cette année plus sur l’idée de vendre mon expertise que de monter une grosse boite avec plein de gens dedans. Le projet de monter quelque chose autour de la communauté d’utilisateurs mûrit, mais c’est quelque chose de moins « naturel » pour moi : je suis assez individualiste, j’ai du mal à déléguer et prendre des risques sur ce que je ne maitrise pas : si je plantais mon projet seul, je ne pouvais m’en prendre qu’à moi-même tandis qu’avec une autre personne d’une il y a le risque financier plus important et de deux je peux avoir choisi la mauvaise personne et ça se transforme en argent jeté à la poubelle. Je ne suis pas non plus forcément compatible avec une certaine vision du libre (l'avantage du libre est qu'il accepte différentes visions), celle "communautaire" où les décisions sont plus "démocratiques", je veux garder la main sur le projet.

Donc le projet mûrit avec des personnes en qui j’ai fortement confiance et qui sont prêtes à partager les risques financiers avec moi : je ne compte pas recruter mais avoir des partenaires. Tout comme je travaille en tant que partenaire avec d'autres personnes sur d'autres projets qu'ils me proposent mais qu'ils dirigent. Je me sens plus proche d'une vision américaine (je me trompe peut-être) du travail avec pleins d'indépendants qui bossent ensemble sur des projets suivant les besoins et les opportunités de financement qu'une entreprise avec les mêmes salariés (le véritable nom plutôt que la belle présentation "collaborateurs" ;-) ) sans liberté de choix dans le temps.

Bientôt sept ans d'activité… Quel regard portes-tu sur ton parcours, les difficultés et les réussites que tu as vécues ?

Mmm… Encore une question où il faut bien présenter ;-). Bon essayons.

La principale difficulté est la gestion du temps : les projets et les hotfix à faire, je n’en décide pas le planning. Et l’expertise est concentrée sur une seule personne, des fois ça fait un peu mal (surtout avec les nuits blanches car le projet est bloqué et t’attend).

La deuxième difficulté est la conséquence d'une énorme bêtise de jeunesse : ne pas avoir, quand j'avais le temps, avant de travailler, ou pendant que j'avais un travail relativement tranquille, correctement appris… l'anglais! Les jeunes (oui, je me fais vieux et dit "les jeunes" maintenant), bougez-vous, allez faire un tour à l'étranger (pas forcément dans des pays de langue anglaise, la plupart des capitales ont maintenant un grand nombre de réunions informelles entre informaticiens et ça se passe en anglais car les capitales sont remplies d'étrangers venant des quatre coins du monde et c'est la langue commune), passez-y 1 an, 2 ans, mais ayez un niveau d'anglais correct. Mon niveau est fidèle à la réputation des français, et ça me joue beaucoup de mauvais tours car toutes les discussions professionnelles sont en anglais, la langue commune de tous les interlocuteurs américains et européens. Et ce n'est pas plus tard qu'on apprend facilement une langue (l'âge n'aide pas, le temps disponible non plus).

Ma plus grande réussite ? Réussir certaines rétro-ingénieries, les vendeurs de solutions audio/vidéo n’étant pas toujours des plus ouverts mais les clients voulant un outil qui analyse tout de la même manière même sur du fermé de chez fermé.

Concernant le regard sur le parcours, c’est surtout voir que ce que j’avais prévu il y a 7 ans n’est absolument pas ce que je fais aujourd’hui, et de voir le monde de l’Open-Source évoluer dans un plus grand professionnalisme, avec des individus portant un intérêt particulier sur la notion de long terme (dans lequel l’Open-Source excelle, par définition). C’est particulièrement vrai dans mon domaine, qui est passé d’un monde hyper fermé (spécifications des formats vidéo et audio cachées) à beaucoup d’ouverture (c’est bardé de brevets payants certes, mais n’importe qui peut implémenter car il a accès aux spécifications), les formats aujourd’hui majoritaires étant tous aux spécifications disponibles. Ce n’est pas encore des formats ouverts dans le sens UE (donc sans brevets payants dessus), mais c’est un pas.

Tu dis que ce que tu fais aujourd'hui n'est absolument pas ce que tu imaginais… en quoi est-ce différent ? Comment se sont déroulées la ou les phases de "pivot" (comme on dit en mode lean) ?

La grosse différence se situe entre le business plan que j'avais à l'époque et ce que je fais aujourd'hui :

  • Le business plan était orienté "pages vues", apporter un site pour particuliers autour de MediaInfo, avec des "extra" dans le service aux professionnels.
  • Aujourd'hui, je ne fais que du service aux professionnels et le site vivote, n'a pas bougé depuis longtemps, les utilisateurs particuliers se plaignent que je ne pense pas assez à eux.

Le pivot s'est passé il y a 4 ans :

  • Avant (les 3 premières années de l'entreprise), j'avais quelques contrats professionnels et remplissait le reste du temps en répondant aux besoins des particuliers
  • En 2010, j'ai rencontré cette entreprise qui me sponsorise aujourd'hui beaucoup, ça a commencé par un besoin super méga urgent d'expertise technique puis un autre (tout aussi urgent), puis un autre (pas moins urgent), jusqu'à ce qu'il y ait une liste d'attente et j'ai naturellement abandonné la partie besoins des particuliers.

De mon point de vue, l'important est d'avoir une idée sur comment on voit la rentabilisation d'un projet, mais de ne pas refuser une occasion si elle se présente. Une occasion s'est présentée, je l'ai prise, même si elle n'était pas 100% libre, et en bonus elle fait aussi vivre la partie libre. Pas sûr que j'aurai pu vivre avec uniquement accepter des contrats dans le libre, faute d'un assez grand marché (mon domaine est très spécialisé et très non libre, même si ça change au fur et à mesure).

Beaucoup de sociétés ne déposent pas leurs comptes pour cacher leur véritable santé financière (dans un sens ou dans l'autre). Ce n'est pas ton cas ; peux-tu nous expliquer ta position ?

Euh… Je ne m’étais jamais imaginé cette question. Il est vrai que certaines entreprises ne diffusent jamais leurs comptes, d’autres arrêtent étonnamment, mais perso je ne m’étais pas vraiment posé la question : officiellement, c’est obligatoire, mon comptable m’envoie la liasse pour le greffier, je signe (les papiers, et le petit chèque qui va avec pour le greffier, faut pas déconner c’est payant ça) et basta. Du coup, ma position… Pas facile à savoir moi-même. On m’a déjà parlé des chiffres publiés, pour discuter de la viabilité de l’entreprise (à l’époque, les nombres étaient petits), donc j’imagine que publier me permettra un jour de rassurer des entreprises françaises sur la viabilité de mon entreprise. Et je ne vois pas spécialement de raison de cacher, donc je ne cache pas. Sans pour autant m’interdire de ne pas obéir à la loi dont la violation n’a pas l’air de déranger, si j’en éprouve le besoin.

Logiciels libres, licences et services en ligne Tu as récemment changé de licence sur MediaInfo. Peux-tu brièvement rappeler les raisons de ce changement de licence ? Quel est la licence aujourd'hui ? Comment as-tu opéré ce changement de licence et en es-tu satisfait ?

Pour les raisons, je me permets de rediriger vers le journal que j’ai fait à ce sujet. La licence est aujourd’hui BSD 2-Clause. J’ai eu peu de contributeurs extérieurs, et ils n’étaient pas morts donc ça a été facile de leur demander, et comme ils n’étaient pas intégristes du copyleft ils ont signé le CLA vite fait. À noter qu’il y a quelques gardiens des changements de copyrights, j’ai dû envoyer les CLA de mes contributeurs au mainteneur Debian qui voyait d’un mauvais œil le diff de changement de nom dans l'assignation de copyright. Maintenant je suis comme d’autres projets avec une demande décriée par certains de signature de CLA avant contribution. Ça fait bondir des gens, il parait que je perds des contributions, mais c’est moins prise de tête et si jamais je veux passer à la licence ISC (ou WTFPL) un jour car c’est plus à la mode ben je pourrai. Je suis satisfait dans le sens où je n’ai plus à gérer les courriels demandant si on a le droit de faire ci ou ça et ça me correspond plus (je suis pour que les gens aient le plus de libertés possibles, sans jugement sur leur position sur le libre, chacun y vient à sa vitesse).

En parlant de MediaInfo, le projet est toujours hébergé chez SourceForge… qui est désormais plutôt controversée. Pourquoi n'as-tu pas basculé sur une autre forge ?

En fait, j’ai plus ou moins basculé : le site web et les sites de téléchargement principaux sont maintenant sur mes propres serveurs. Je laisse un miroir des fichiers sur Sourceforge pour les sites tiers pas doués qui ne mettent pas à jour les liens (ils ont des robots qui testent la présence de la version N+1) et les gens qui veulent rester sur Sourceforge. Plus de téléchargement officiel chez eux, donc je n’ai pas à me taper leur installeur bourré de pub ni afficher leur pub (je préfère afficher la mienne, c’est plus rentable :-D ). Mon installeur Windows a de la pub aussi certes, mais il est bien moins violent que le leur (sur le mien, il faut faire un choix actif pour installer le logiciel en pub, sur celui de Sourceforge tout est fait pour te tromper). Reste le SVN, mais comme c’est que pour moi et qu’il marche toujours, c’est la fainéantise. Un jour je passerai à Git (un jour !), ça vient doucement.

Tu as une vision plutôt pragmatique du logiciel libre ; contrairement à certains ici, tu utilises des logiciels propriétaires sans hésiter si tu les juges meilleurs. Utilises-tu pour ton activité professionnelle des logiciels propriétaires commercialisés en tant que service (SaaS - Software As A Service) ? Quelle est ta position générale sur ce sujet ? Pourrais-tu en utiliser, et si oui quelles seraient les conditions requises pour que tu acceptes de les utiliser ?

Exact. Visual Studio est bon ? Je l’utilise, point. Qu’on me propose un IDE libre qui est bon, et je le prendrai (je rigole pas mal quand on me parle d’IDE libre « performant » avec plein de noms pour dire d'en avoir, ça montre surtout une méconnaissance de Visual Studio). SaaS ou pas, l’important pour moi est la liberté des données générées. Un produit non libre, il sait faire du code libre et il sait faire des binaires libres. Pour le SaaS en lui-même, c’est surtout un mot « hype » pour désigner une façon de faire pas si nouvelle, Sourceforge dont on a parlé précédemment c’est du SaaS depuis 15 ans. Pour l’idée de céder à la mode du SaaS, l’important pour moi est la liberté des données qui en sortent : format standard. Que ce soit libre ou pas, ce n’est pas mon problème (mais de celui qui me fournit le service. Et si le service disparait, je regarderai alors ce que je fais de mes données libres). Je suis un « vieux » qui n’utilise pas tant que ça le SaaS parce que surtout il n’en voit pas toujours l’intérêt à part le hype et le fait de ne pas avoir à installer de logiciel (mais comme je sais faire ça, ce n’est pas vendeur pour moi). Je l’utilise surtout pour le collaboratif, travailler à plusieurs sur un Google Document est quand même très très pratique (et c’est ça l’important).

À noter que ton « contrairement à certains » me fait bien sourire, la quasi-totalité de ces personnes ont un BIOS (donc du logiciel) non libre, par pur confort, ou des pilotes non libres, ou un Steam non libre, suivant leurs propres limites et leurs envies du jour, et leur stigmatisation des gens ayant un peu plus de logiciel non libre qu’eux est bizarrement mis avec une limite qui exclut des gens tout en les incluant eux. Tout le monde utilise du propriétaire qui peut contenir des méchantes portes dérobées, les gens qui se croient plus libristes que les autres car n’ont pas les mêmes trucs proprios que les autres qu’ils critiquent ne trompent qu’eux-même. Tout le monde priorise son confort au libre, c’est juste le placement de la limite qui change. Si les libristes qui ne veulent pas utiliser de logiciels non libres car c’est caca étaient cohérents sur leurs arguments, ça ferait longtemps qu’on aurait des processeurs (CPU et GPU) libres faits à partir de fonderies libres. Ce n’est pas le cas.

Un projet libre dont tu as envie de parler ?

MediaInfo bien évidemment :-D. Plus sérieusement, je suis surtout consommateur d’autres projets libres, sans forcément avoir de coup de cœur sur un projet précis. Si il fallait en citer un, je dirais CentOS qui propose une version professionnelle de distribution Linux, et qui me perme de décider quand je migre grâce à sa maintenance de 10 ans et de plusieurs versions en parallèle, et non pas quand les distributions m’obligent à faire les migrations quand ils arrêtent rapidement le support.

Un mot à ajouter ?

J’ai essayé de mettre un maximum de trolls dans mes réponses, spécialement pour LinuxFr, lequel prendra le plus ? :-D

Merci Jérôme pour ton temps et tes réponses ! :)

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 35 de l'année 2014

1 septembre, 2014 - 20:04

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Bulletins Electroniques] Brevetabilité des logiciels et des "business methods" aux Etats-Unis

Par la rédaction, le vendredi 29 août 2014. Extrait:

Une décision de la Cour Suprême va faire évoluer la pratique américaine concernant les brevets sur les logicels, les méthodes, et forcer à un réexamen de leur brevetabilité. Une évolution qui va créer de l'incertitude à court terme, mais qui peut être bienvenue.

Lien vers l'article original: http://www.bulletins-electroniques.com/actualites/76626.htm

Et aussi:

[JDN] Open source 2.0 ou l'ère de la maturité

Par Marc Palazon, le jeudi 28 août 2014. Extrait:

En cette année 2014, l’open source est en pleine effervescence et démontre encore une fois qu’il ne s’agit en rien d’un phénomène de mode mais bien d’une mutation profonde de l’écosystème mondial de l’informatique qui se joue.

Lien vers l'article original: http://www.journaldunet.com/solutions/expert/58291/open-source-2-0-ou-l-ere-de-la-maturite.shtml

Et aussi:

[Le Courrier] Une alternative au droit d’auteur

Par Laura drompt, le jeudi 28 août 2014. Extrait:

Les licences Creative Commons encouragent le partage des contenus culturels, dans l’idée d’un Internet participatif. Un changement de paradigme.

Lien vers l'article original: http://www.lecourrier.ch/123348/une_alternative_au_droit_d_auteur

[Le Monde.fr] Hadopi, surveillance, Netflix… le gouvernement Valls 2 est-il numérique?

Par la rédaction, le mercredi 27 août 2014. Extrait:

Emmanuel Macron, qui remplace poste pour poste Arnaud Montebourg à Bercy, est bien plus «digital» – le mot utilisé dans les milieux économiques – que numérique – le mot utilisé par la société civile. C’est lui, en collaboration avec le directeur de cabinet de Jean-Marc Ayrault, qui a par exemple décidé du recul du gouvernement sur les «pigeons», ces entrepreneurs du Web qui protestaient contre la taxation des plus-values de revente d’entreprises.

Lien vers l'article original: http://www.lemonde.fr/pixels/article/2014/08/27/valls-2-un-gouvernement-plus-digital-que-numerique_4477403_4408996.html

Et aussi:

[Mediapart] Logiciel Libre - juste une question humaine

Par Frédéric Couchet, le mardi 26 août 2014. Extrait:

Pourquoi existe-il des personnes qui font des logiciels libres? Eben Moglen, l’une des figures les plus importantes dans l’univers du logiciel libre et de la culture numérique, propose une réponse simple et sans doute très juste

Lien vers l'article original: http://blogs.mediapart.fr/blog/frederic-couchet/260814/logiciel-libre-juste-une-question-humaine

[La Presse] Microsoft gâte les cégépiens de Limoilou avec une suite Office gratuite

Par la rédaction, le dimanche 24 août 2014. Extrait:

Ardent militant pour l'implantation du logiciel libre, le professeur Daniel Pascot trouve «scandaleux» que des cégeps relaient la promotion de Microsoft auprès de leurs étudiants. M. Pascot, qui est professeur au Département des systèmes d'information organisationnels de l'Université Laval, ne s'étonne pas de la stratégie adoptée par le géant de l'informatique: «C'est un peu la stratégie du dealer de drogues. On vous donne le produit gratuitement pour que vous ne puissiez plus vous en passer et, par la suite, il devient payant.»

Lien vers l'article original: http://www.lapresse.ca/le-soleil/actualites/education/201408/23/01-4794130-microsoft-gate-les-cegepiens-de-limoilou-avec-une-suite-office-gratuite.php

Télécharger ce contenu au format Epub

Lire les commentaires

Forum PHP - 23 et 24 octobre 2014 - Beffroi de Montrouge (92)

1 septembre, 2014 - 17:32

L'AFUP est heureuse d'annoncer la prochaine édition du Forum PHP, le plus grand rendez-vous annuel de toutes les communautés PHP, professionnelles et open-source, dédié au langage et à son écosystème en France. Le Forum se tiendra les jeudi 23 et vendredi 24 octobre 2014, à Montrouge, aux portes de Paris.

Cette année, le programme des conférences aura pour thématique phare « Du concept à la production, PHP premier à l'arrivée! » avec pour grands axes :

  • Agilité et Devops en PHP
  • Gagner du temps avec l'écosystème open-source PHP
  • Les solutions cloud du développeur PHP rapide
  • Optimisation PHP côté production
  • Retours d'expérience PHP à grande vitesse
Nouveauté 2014 – Le Forum PHP lance les ateliers pratiques

Dans sa volonté d'emmener la communauté PHP à son top, l'AFUP propose cette année des ateliers pratiques d'une demi-journée en parallèle des conférences, animés par les plus grands experts du langage.

Le premier à ouvrir le bal est Julien Pauli, expert PHP reconnu, actuellement en charge de la gestion des sorties des versions 5.5 et 5.6 du langage. Il vous emmènera à la découverte des arcanes des extensions PHP : à quoi sert une extension PHP, comment sont-elles architecturées, comment et pourquoi en créer une soi-même ? Vous apprendrez comment fonctionne PHP de l'intérieur, et vous mettrez en place une extension vous permettant d'aborder, de manière concrète, de nombreux points, tels que le cycle de vie de PHP, son architecture, la gestion de la mémoire dans PHP et la manipulation des variables en interne. Vous aborderez ensemble les concepts plus avancés de fonctions / tableau (hashtable), classes et objets pour finir sur la découverte et la modification de la machine virtuelle de PHP.

À noter que l'inscription est sans surcoût pour les visiteurs munis d'un billet d'entrée.

À propos de l’AFUP

L’AFUP, Association Française des Utilisateurs de PHP, est une association de loi 1901 dont le principal objectif consiste à promouvoir PHP auprès des professionnels et participer à son développement. Dans cette optique, l’AFUP organise depuis 2001 des rencontres à Paris et en province qui favorisent l’échange d’expertises.

Aujourd’hui l’AFUP compte près de 350 membres dont un quart de personnes morales (entreprises ou collectivités territoriales).

Télécharger ce contenu au format Epub

Lire les commentaires

Points Libres GNU/Linux, Blender le 1er septembre à Montpellier

1 septembre, 2014 - 12:21

Lundi 1 septembre 2014 de 14h00 à 17h00
Maison des Adolescents - MDA34 - 9, rue de la République 34000 Montpellier

Les Points Libres proposés par Montpel’libre prennent leurs quartiers à la Maison des Adolescents de l’Hérault MDA34. Tous les premiers lundis de chaque mois la MDA hébergera les Points Libres, dans les salles accueil cyberespace et partenaires.

Les AteLibres sont des ateliers pratiques sur le thème des logiciels libres organisés et animés par l’équipe dynamique et compétente de Montpel’libre ainsi que de ses partenaires.

Montpel’libre vous propose de participer aux « Points Libres », le grand rendez-vous de tous les passionnés du logiciel libre. Il a lieu le premier lundi de chaque mois, de 14h00 à 17h00.

Programme habituel :
14h00-16h00 : accueil à la Maison des Adolescents de l’Hérault des personnes qui souhaitent approfondir leurs connaissances sur les systèmes et logiciels libres, Linux ou utiliser librement les ressources numériques, salle accueil PC.

16h00-17h00 : toute une équipe de passionnés, vous proposent l’animation de l’atelier « Points Libres » par les membres de Montpel’libre. Discussions libres et accompagnement des utilisateurs aux systèmes d'exploitation libres, Linux, Haiku. Permanence Logiciels Libres. Installation de Mint, Ubuntu et Emmabuntüs sur le cyberespace de consultations libres.

16h00-17h00 : introduction à Blender, (inscriptions recommandées).

  • téléchargement et installation
  • généralités sur l’image 3D
  • présentation générale de l’interface
  • découverte des outils de base
  • configuration et préférences

Pour les utilisateurs plus avancés, une aide sur des points précis ou blocages et possible, salle partenaires à l’étage.

Entrée libre et gratuite pour tout public.

Télécharger ce contenu au format Epub

Lire les commentaires

Atelier « Découverte des Logiciels Libres Scribus »

31 août, 2014 - 13:49

L’association CercLL, en collaboration avec Yves Specht, vous invite à l’Atelier du Samedi Libre qui se déroule le samedi 13 septembre 2014 de 14 h 30 à 17 h 30, à la Fabulerie, au 4 rue de la Bibliothèque, 13001 Marseille.

Ateliers

Ces ateliers se déroulent, en général, sur une séquence hebdomadaire, de 2 à 3 séances de travail et sur un thème déterminé.

Comme le mot atelier le laisse présumer, dans ce cadre, nous proposons une approche pratique des outils libres.

Nous avons décidé de nous adresser à un public débutant qui cherche à mieux connaître son ordinateur et les applications les plus courantes que tout un chacun utilise.

Entrée libre. Tout public.

Prérequis

Les personnes qui veulent participer à ces ateliers devront s’inscrire à la Fabulerie, au 4 rue de la Bibliothèque, 13001 Marseille, ou sur notre site CercLL.

L’atelier n’aura lieu que si quatre personnes au moins sont inscrites.

L’inscription équivaut à un engagement moral de participation.

Atelier Scribus

Atelier Découverte des Logiciels Libres Scribus, première séance.

Scribus est un logiciel libre de publication assistée par ordinateur (PAO), distribué sous licence libre GNU GPL. Il convient pour la réalisation de plaquettes, de livres et de magazines. Scribus est multi‐plate‐forme.

Télécharger ce contenu au format Epub

Lire les commentaires

Museomix cherche des développeurs

29 août, 2014 - 23:29

Museomix est un évènement qui rassemble, le temps d’un week‐end (7, 8, 9 novembre) dans un musée, des amateurs, curieux, passionnés de différents profils, pour remixer un musée.

Sur le modèle des hackathons, des équipes sont constituées pour travailler pendant trois jours sur un prototype de support de médiation dans le musée. Un des exemples de réalisation est le prototype développé l’an dernier au Musée dauphinois à Grenoble : Levez les yeux ! (Vidéo Youtube).

Il manque des développeurs dans quasiment tous les muséomix : Saint‐Étienne, Paris, Arles, Nantes, Lille, Genève, Montréal et Derby (Angleterre).

Chaque équipe est constituée des profils suivants :

  • Fabrication — Fabriquez‐le !
  • Médiation, interaction et usage – Faites une expérience réussie !
  • Expertise des contenus – Rendez‐le scientifiquement juste !
  • Communication et diffusion – Faites‐le connaître !
  • Programmation et développement – Faites‐le marcher !
  • Graphisme et mise en forme – Rendez‐le beau !
  • + un profil polyvalent.

Les équipes seront libres de choisir l’œuvre à « museomixer ».

En région Rhône‐Alpes, l’édition 2014 aura lieu au Musée d’art et d’industrie de Saint‐Étienne.

Il contient trois collections :

  • une sur les armes (du moyen‐âge au contemporain) ;
  • une sur les cycles (vélo, grand‐bi…) ;
  • et une sur les rubans (avec notamment de nombreux métiers à tisser).

Nous avons reçu de nombreuses candidatures dans tous les profils, mais nous manquons de développeurs ! Si le projet vous intéresse, n’hésitez pas à nous envoyer un courriel pour avoir plus d’informations à clemence<at>cybele-arts<dot>fr. Vous n’avez pas besoin d’avoir des connaissances particulières en art, ou sur le domaine des musées en général. Un peu de curiosité et d’envie suffiront !

Détails pratiques :

  • présence obligatoire les trois jours : 7, 8 et 9 novembre 2014 ;
  • 50 € (ou équivalent selon les pays) de participation sont demandés pour les repas des trois jours qui seront servis ;
  • chaque participant doit se loger par ses propres moyens (en région Rhône‐Alpes, des propositions de CouchSurfing seront arrangées entre les muséomixeurs locaux et les autres) ;
  • des fab labs locaux seront présents pour mettre tout leur matériel à disposition.

N. D. M. : Voir la partie « Comment fonctionne museomix ? sur la question des licences (« Nous encourageons les participants à adopter des licences libres (ou ouvertes à défaut) », pas de brevets, les licences CC-0, CC-By, CC-by-sa, LGPL, CeCILL, Peer Production sont citées, et les briques propriétaires devraient pouvoir être remplacées par une alternative libre). Et dans la partie « Inspiration » sont mentionnés les principes Drupal, le Manifeste Mozilla, les Principes de Wikipédia, le Contrat social Debian et les Principes de l’événement Burning Man.

Télécharger ce contenu au format Epub

Lire les commentaires

Deux ans de Pastèque, logiciel de caisse

28 août, 2014 - 22:22

Pastèque est un logiciel de point de vente (point of sales). Avec le matériel adéquat (imprimante thermique, lecteur de carte bleue…), il permet de gérer tout point de vente : restaurant, épicerie, bar, librairie…

Le 28 août est, selon le calendrier républicain, le primidi 11 fructidor (222 cette année) et, surtout, le jour de la pastèque. On a décrété que ça serait l’anniversaire du projet : c’était les 2 ans. Il y a deux ans, on travaillait à l’arrache le P.O.S. d’OpenBravo pour les besoins d’un restaurant (2 sous de table) et d’un bar (le Café citoyen) militants, exigeant du logiciel libre.

Aujourd’hui, Pastèque est devenu un projet logiciel à part entière. L’anniversaire est l’occasion de faire un point d’étape.

Changements techniques

OpenBravoPOS, logiciel à l’origine de Pastèque, commence à vraiment être loin derrière. C’est dommage, le code en catalan avait un exotisme certain pour les Nordistes et Belges qui ont travaillé dessus.
Nous nous orientons vers un modèle client‐serveur, simplifiant la gestion simultanée de plusieurs points de vente.

Pastèque n’est donc plus tant un logiciel qu’une suite :

  • Pastèque Server, interface de programmation (API) pour les clients, interface d’administration ;
  • Pastèque Desktop, le client historique, mais dont l’interface est en train d’être révolutionnée par Clic’Ordi ;
  • Pastèque Android, le client Android qui progresse énormément avec l’intégration d’imprimantes thermiques, du système de paiement Payleven, des lecteurs de code‐barres, etc.

Une version HTML 5 est envisagée, mais il paraît pour le moment trop ambitieux de maintenir quatre logiciels de front.

On a mené quelques rationalisations, notamment sur la numérotation des versions. La version stable est la 5.

Changements autour du logiciel

Une communauté commence à apparaître autour de Pastèque, avec des scripts avancés proposés sur le forum ou les premières contributions majeures en code de Clic’Ordi.

Le site Web a été refondu pour quelque chose de plus « professionnel ». Un site communautaire dédié a été mis en place.
Un site sert à l’accès aux comptes en ligne et le Redmine est toujours en IPv6 uniquement. :-)

Changements dans le modèle économique

Le modèle client‐serveur posait un problème économique à pas mal d’utilisateurs. En effet, il n’existait plus de solutions gratuites. Les comptes sur les serveurs de Scil étaient payant, tout comme l’accès à Pastèque Server pour l’auto‐hébergement (licence GPLv3, payante).
Scil a donc opté pour la gratuité pour les petits commerçants (3 points de vente). Les commerces plus gros trouveront les tarifs très raisonnables : 15 € par points de vente au‐delà du troisième.

Et l’avenir ?

Le logiciel progresse bien, tant techniquement que commercialement. On ne se bile pas trop sur la technique.
À présent qu’elle émerge, l’organisation de la communauté et ses droits sont un point à envisager (pour l’instant tout appartient à la coopérative Scil). La question du caractère payant de l’accès à Pastèque Server sera également à étudier.

Télécharger ce contenu au format Epub

Lire les commentaires

Avalanche de nouveautés sur la Wii

28 août, 2014 - 09:16

De nombreux jeux sont sortis sur la Wii. Non pas la Wii U mais celle qui l'a précédée. "Où ça , où ça ?" me diriez-vous. Ne cherchez pas dans le commerce, vous ne les y trouverez pas. La simple raison est qu'ils sont disponibles seulement via le HomeBrew Channel. Le HomeBrew Channel (HomeBrew="fait maison") est une chaîne parallèle de la scène "hackers" non approuvée par Nintendo. Vous pensez bien, des jeux qui ne passent pas par Nintendo, quel scandale. C'est pourtant le seul moyen de faire autre chose avec cette console que des jeux, lui redonnant ainsi une nouvelle vie loin de la poussière du grenier.

Comment y accéder ?

Nous vous en avons déjà parlé dans un précédent article à propos de la sortie d'OpenTTD sur la Wii.

Suivez la procédure qui y est indiquée pour installer le HomeBrew Channel. Si le système de votre Wii se laisse faire (ne pas le mettre à jour), alors le côté obscur de la force sera avec toi.

Revenons à nos moutons

Les nouveautés parues sur ce Channel. Nous avons donc vu apparaître des reprises de grands classiques : Wolfenstein3D (moteur libre d'IdSoftware renommé Id Tech 1), Quake1 (portage du moteur libéré de la même maison Id Tech 2), Hexen (moteur GLQuake), DukeNukem3D (motorisé par le moteur libre eDuke32) , des jeux issus de concours ou évènements (Ludum Dare par exemple), des jeux indépendants (pas tous réussis), mais aussi des jeux libres et c'est sur eux que nous allons insister :
Leur code source étant disponible et modifiable, de compétents programmeurs peuvent s'en emparer et les adapter (porter) sur la Wii. La Wii possède un processeur particulier (PowerPC d'IBM ainsi qu'un système propre, dans notre cas, cela fonctionne sur le HomeBrew Channel). Depuis notre article précédent, outre les jeux déjà cités dans cet article, nous avons vu apparaître : SuperTux, Pingus, WiiDoom (basé sur PrBoom une reprise de Doom), LiquiidWar (basé sur Liquid War de Christian Mauduit), Lpairs de Mickael Speck, et plus récemment BlobWars : Metal Blob Solid, Super Maryo Chronicle (ces 2 portages ont été réalisés par Wiimpathy).
Enfin, n'oublions pas les jeux du groupe espagnol PixJuegos qui ont eux-mêmes portés leurs jeux sur la Wii. Il s'agit donc de PixBros (un jeu de plateformes réussi), Garnatron (un jeu de tir à défilement vertical de type Galaga), PixDash (un autre jeu de plateforme à défilement horizontal) et pour finir "La Pessadilla de Ripollès" un jeu de combat "Beat them up" qui a gagné la première rencontre castillane de développement de jeux vidéo.

Alors convaincu ?

Cours tout de suite chercher la Wii dans le grenier. Et quand tu auras fini de jouer, vas donc voir les autres logiciels libres présents sur la Wii et le HomeBrew Channel. Avec un regret tout de même, la licence n'est bien souvent pas indiquée (alors qu'elle est libre puisque le jeu d'origine l'est)

Télécharger ce contenu au format Epub

Lire les commentaires

Nouveautés chez Prof Tux

27 août, 2014 - 14:27

Quelques nouveautés chez Prof Tux, un site de conseils sur GNU/Linux et le Libre. Après avoir migré la boutique vers un hébergeur ayant ses serveurs en France, puis refait entièrement la boutique, toujours avec une solution libre, avoir enlevé Google Analytics (pour des raisons de respect de la vie privée), je publie maintenant de nouveaux tutoriels. Ils sont plus orientés vers le monde associatif, afin de les aider à découvrir les solutions libres disponibles et les accompagner dans leur migration.

J’ai aussi rédigé un petit guide des solutions libres spécialement pour les associations. Alors, venez découvrir tout cela chez Prof Tux, il y a maintenant un système de points de fidélité.

N. D. M. : Voir aussi le Guide Libre Association de l’April (et la campagne d’appel à dons pour encore une journée).

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de R.A.S. v0.5, alias RandoAmisSecours

27 août, 2014 - 13:21

Après quelques mois de développement, voici une nouvelle version de R.A.S. (alias RandoAmisSecours).

Pour rappel, R.A.S. est une application Web permettant de déclarer les sorties (montagne, canyon…) que l’on va effectuer. Chaque sortie étant assortie d’un horaire de fin et d’alerte. Si vous ne revenez pas à temps de votre sortie (par exemple à cause d’un accident), R.A.S. alertera vos contacts par courriel (et SMS). Je vous avais déjà parlé de ce projet dans cette dépêche sur la v0.4.

Améliorations Envoi de SMS

De nombreuses personnes ont demandé à ce que R.A.S. puisse envoyer des SMS en plus des courriels. C’est maintenant possible pour les clients de Free Mobile, grâce à l’interface de programmation (API) mise en place en juin par l’opérateur.

Pour activer ce service, les utilisateurs concernés doivent indiquer qu’ils sont clients de Free Mobile et remplir le nom d’utilisateur et la clé d’accès au service.

Afin de supporter d’autres opérateurs éventuels, j’ai d’ailleurs écris une mini bibliothèque fournissant une seule API pour l’envoi de SMS : SMSForward. Pour le moment seul Free Mobile est supporté, mais j’espère ajouter la prise en charge d’autres opérateurs lorsque ceux‐ci mettront une API à disposition.

Prise en charge des fuseaux horaire

Depuis la version 0.4, RandoAmisSecours est capable de gérer les fuseaux horaires correctement. Cependant ceux‐ci ne fonctionnent correctement que si chaque utilisateur a bien indiqué le fuseau horaire dans lequel il se trouve.

Avec la version 0.5, ce champ est devenu obligatoire. Les anciens utilisateurs sont donc automatiquement invités à mettre cette information à jour lors de la prochaine connexion.

Du code JavaScript détectant le fuseau horaire actuel du navigateur Web a été ajouté afin d’aider l’utilisateur à choisir le bon fuseau horaire.

Traductions

Une nouvelle traduction apparaît. Après l’anglais et le français, voici l’espagnol ! Merci beaucoup à sebbcn pour cette contribution.

Site officiel

J’ai migré le site officiel de R.A.S. vers un domaine dédié : randoamissecours.org. J’en ai profité pour utiliser un certificat StartSSL. Celui‐ci est supporté pas la majorité des navigateurs Web et présente le gros avantage d’être gratuit.

J’ai profité de l’occasion pour améliorer le score du site au SSL Test en suivant les conseils de Mozilla sur la configuration Apache.

Android

J’ai commencé le développement d’une application Android pour R.A.S. Pour le moment, l’application permet juste de se connecter au site et de lister ses sorties et celles de ses amis.

À terme, j’espère pouvoir ajouter les fonctionnalités suivantes :

  • synchronisation régulière avec le serveur ;
  • affichage d’une alerte en cas de retard sur une sortie de l’utilisateur ;
  • clôture d’une sortie de l’utilisateur ;
  • affichage d’une alerte en cas de retard sur une sortie d’un ami de l’utilisateur ;
  • création d’une sortie.

Cependant le développement Android est nouveau pour moi (autant le langage Java que l’API Android), donc l’application avance très lentement. Si une personne souhaite contribuer à ce projet, je suis très intéressé !

Le code source est disponible sur la page GitHub de RandoAmisSecours Android.

Un peu de technique

Pour rappel, R.A.S. est développé en Python (2.6, 2.7, 3.3, 3.4 et PyPy) et basé sur le célèbre cadriciel Django (version 1.6).

Travis CI

À chaque push sur GitHub, une suite de tests est lancée par Travis CI.
Ceci permet de détecter rapidement des régressions dans des configurations que je ne teste pas régulièrement : base de données PostgreSQL ou d’autres versions de Python.

landscape.io

J’ai récemment découvert landscape.io, qui permet de faire tourner plusieurs analyseurs statiques sur votre code Python. Les résultats sont visibles sur la page de R.A.S..
Les résultats ne sont pas à la hauteur de ce que propose Coverity pour le language C/C++. Cependant, landscape.io permet de détecter un ensemble de mauvaises habitudes qu’il est bon de corriger.

Par la suite

RandoAmisSecours commence à prendre un petit peu d’âge et est maintenant régulièrement utilisé par un petit groupe d’amis.

Ceux‐ci me demandent donc les améliorations suivantes :

  • choix d’une personne référente (parmi vos amis) pour une sortie, qui sera alors la seule à recevoir les alertes, et qui doit au préalable accepter d’être le référent sur cette sortie ;
  • indiquer les amis participant à une même sortie, les alertes seront alors envoyées à tous les amis des utilisateurs participant à la sortie ;
  • création d’une liste de description type pour chaque activité. Pour la spéléologie par exemple, le Secours Spéléo attend un certain nombre d’informations lors de l’alerte qu’il serait bon de rappeler.

Et bien d’autres améliorations, voir la page de suivi de problèmes de GitHub.

Télécharger ce contenu au format Epub

Lire les commentaires

Espace Libre et Richard Stallman en conférence à la Fête de l’Humanité 2014

26 août, 2014 - 21:27

Je reprends une information donnée dans la dernière revue de presse de l’April, pour signaler que Richard Stallman sera présent à la Fête de l’Humanité. La Fête de l’Huma est une fête organisée par le journal L’Humanité.

Bien que ce soit initialement un rendez‐vous politique du Parti communiste français, cette rencontre rassemble beaucoup plus largement. La fête aura lieu, cette année, du 12 au 14 septembre au  parc de La Courneuve.

Richard Stallman sera présent lors de cette édition où il donnera une conférence intitulée Logiciel libre : les Droits de l’Homme dans votre ordinateur. Elle se tiendra le vendredi 12 septembre à 17 h 30 au Village de l’économie sociale et solidaire.

Cette édition est également l’occasion de voir réapparaître un espace du logiciel libre, qui était présent il y a quelques années, mais qui avait disparu depuis. Cet espace se veut être un lieu d’éducation populaire aux enjeux du Libre.

Plus de détails dans la suite de la dépêche.

À cette occasion, des démonstrations d’imprimantes 3D, des installations de distributions GNU/Linux (entre autres) devraient avoir lieu tout le week‐end. Les fab labs des « Fabriques du Ponant » et Carrefour Numérique, le fab lab de la Cité des sciences seront présents, avec du matériel, pour effectuer des démonstrations. Bien que géré par des bénévoles, un soutien financier de 2 000 € est recherché pour l’organisation de l’espace. Un financement participatif a été lancé pour l’occasion : ça se passe sur ulule.

N. D. M. : Seront aussi présents l’April, Ars Industrialis, Creative Commons France, Emmabuntüs, FacLab, FDN, Open Edge, Framasoft, Jerry Do It Together, La Quadrature du Net, Les petits débrouillards d’IDF, Mageia, Parinux, Ubuntu-fr. Ou encore Bernard Stiegler et Sébastien Broca (et R. M. S.) qui participeront à des débats sur l’espace.

Source Wikimedia - Pierre‐Yves Beaudouin - GFDL / CC-by-sa.

Télécharger ce contenu au format Epub

Lire les commentaires

HAProxy 1.5

26 août, 2014 - 17:01

Après quatre ans et trois mois, et pas moins de 26 versions de développement, la version réputée stable de HAProxy devient la 1.5. Même si HAProxy est avant tout un répartiteur de charge HTTP et TCP, les possibilités offertes par la version 1.5 en font le véritable couteau suisse du Web à haute charge.

Il est utilisé, entre autres, par de nombreux sites d’audience mondiale, tels que Twitter, Instagram, GitHub, Reddit… Cette version apporte de nombreuses nouveautés, dont la très attendue prise en charge de l’offloading SSL.

La version 1.5.0 a été rapidement suivie de quelques versions correctives. Nous en sommes à la 1.5.3, disponible depuis le 25 juillet dernier.

Sommaire Listes des nouveautés Inspection du contenu

HAProxy 1.5 sait désormais capturer n’importe quelle partie d’une requête ou d’une réponse, y compris le contenu (payload) et les arguments passés dans l’URL (url_param). Cette fonctionnalité est essentielle car elle est à la base de beaucoup d’autres nouveautés.

Pour l’administrateur système, le bénéfice est énorme : il peut désormais intervenir à n’importe quel moment de la transaction.

Prise en charge du chiffrement (SSL)

Jusqu’à présent, pour utiliser du chiffrement TLS avec HAProxy, il fallait soit utiliser le mode TCP, soit utiliser une version modifiée de STunnel. Désormais, HAProxy prend en charge le chiffrement SSL côté client comme côté serveur.

listen https_proxy bind :443 ssl crt /etc/haproxy/site.pem mode http server web1 10.0.0.1:443 ssl verify check server web2 10.0.0.2:443 ssl verify check

Il gère de nombreuses extensions au protocole TLS, telles que SNI, NPN/ALPN et OCSP, la validation des certificats côté serveur, les certificats clients.

bind 192.168.10.1:443 ssl crt ./server.pem ca-file ./ca.crt verify required Gestion étendue de l’IPv6 et des sockets UNIX

Il est désormais possible d’utiliser indifféremment l’IPv4, l’IPv6 ou encore les sockets UNIX, côté client comme côté serveur.

listen mysql_proxy bind /var/tmp/mysql.sock user mysql mode 666 mode tcp option mysql-check user haproxy post-41 server mysql 192.168.10.100:3306 check maxconn 200 server mysql_slave fe80:482:cafe::a200:e8ff:fe65:a:3306 check backup HTTP keep‐alive de bout en bout

Le keep‐alive consiste à faire passer successivement plusieurs requêtes HTTP dans la même requête TCP. En général, dans une architecture Web un peu complète, on dispose de plusieurs services ayant des rôles particuliers. Par exemple, un service d’authentification, un service pour les contenus dynamiques, un autre pour les ressources statiques, etc. HAProxy doit alors inspecter chaque requête pour déterminer vers quel service l’envoyer. Jusqu’à présent, le keep‐alive de bout en bout n’autorisait que l’inspection de la première requête. Et l’administrateur passait des heures à se demander pourquoi telle requête n’arrivait pas au bon endroit.

C’est pourquoi l’option http-server-close, permettant du keep‐alive côté client uniquement, était souvent utilisée.

Ce problème est désormais résolu.

Outre l’overhead réseau, le keep‐alive côté serveur est important car certains serveurs Web n’utilisent pas de chunk si celui‐ci est désactivé (ce problème est toutefois géré par l’option http-pretend-keepalive).

Compression des réponses HTTP

Il est désormais possible d’utiliser HAProxy pour la compression des réponses HTTP. Les algorithmes gzip et deflate sont pris en charge. Elle peut être activée globalement ou localement.

compression gzip compression type text/html text/plain

HAProxy gère toute une série de cas pour lesquels la compression n’est pas pertinente, notamment les réponses déjà compressées. Toutefois, il est possible, via l’option compression offload, de demander aux serveurs de ne jamais compresser. Dans ce cas, l’entête Accept-Encoding est réécrit à la volée.

Amélioration des ACL

Une conséquence directe de l’amélioration des possibilités de capture est qu’il est désormais possible de créer des listes de contrôle d’accès (ACL) sur l’ensemble des données capturables.

acl hello payload(0,6) -m bin 48656c6c6f0a

Il est également possible d’utiliser des variables :

http-request redirect code 301 location www.%[hdr(host)]%[req.uri] \ unless { hdr_beg(host) -i www } Les maps

On pouvait déjà passer à HAProxy un fichier contenant une série de valeurs (par exemple une liste d’IP à autoriser). Il est désormais possible d’utiliser des fichiers clés‐valeurs avec les mots clés map_*.

Par exemple, pour faire de la géolocalisation, il fallait jusqu’à présent écrire une série d’ACL :

acl src A1 -f A1.subnets acl src A2 -f A2.subnets acl src AD -f AD.subnets acl src AE -f AE.subnets acl src AF -f AF.subnets acl src AG -f AG.subnets acl src AI -f AI.subnets acl src AL -f AL.subnets acl src AM -f AM.subnets acl src AN -f AN.subnets

ACL pour lesquelles chaque fichier contenait l’ensemble des sous‐réseaux d’un pays. Désormais, il est possible de faire un seul fichier sous la forme range pays :

223.228.0.0/14 IN 223.232.0.0/13 IN 223.240.0.0/13 CN 223.248.0.0/14 CN 223.252.0.0/17 AU 223.252.128.0/19 CN 223.252.160.0/24 CN 223.252.161.0/26 CN 223.252.161.64/26 HK 223.252.161.128/25 CN 223.252.162.0/23 CN 223.252.164.0/22 CN 223.252.168.0/21 CN 223.252.176.0/20 CN 223.252.192.0/18 CN

Puis, il suffit d’écrire :

http-request set-header X-Country %[src,map_ip(geoip.lst)] Compteurs d’activité et tables

Il est désormais possible d’utiliser des tables pour comptabiliser l’activité d’un client pour des besoins aussi divers que de se souvenir d’une décision de routage ou bannir les indélicats.

Par exemple, pour éviter qu’un serveur se fasse bombarder de requêtes toujours identiques (brute force, spam) :

# Si on a une requête POST, on stocke dans la table un hash créé à partir de l'IP source et de l'url stick-table type binary len 20 size 5m expire 1h store http_req_rate(10s) tcp-request content track-sc1 base32+src if METH_POST # Si on a un ratio supérieur à 10 requêtes en 10 secondes alors on bannit le client acl bruteforce_detection sc1_http_req_rate gt 10 http-request deny if bruteforce_detection

Ces tables peuvent être contrôlées et vidées par le socket de contrôle :

echo show table |nc -U /tmp/haproxy.sock # table: monserveur, type: binary, size:5242880, used:468 echo show table monserveur |nc -U /tmp/haproxy.sock |tail 0x8019d9f4c: key=FD0D68C950F7E432000000000000000000000000 use=0 exp=2956851 http_req_rate(10000)=0 0x8017f8e0c: key=FD19C86D50F7E432000000000000000000000000 use=0 exp=2206531 http_req_rate(10000)=0 0x8019d970c: key=FE3651B30209AF8C000000000000000000000000 use=0 exp=820386 http_req_rate(10000)=0 0x801bcbccc: key=FE3651B356D4F7D1000000000000000000000000 use=0 exp=2985182 http_req_rate(10000)=0 0x8017fed4c: key=FE3651B35A08E3FA000000000000000000000000 use=0 exp=1701016 http_req_rate(10000)=0 0x801be15cc: key=FE3651B36DDCDC20000000000000000000000000 use=0 exp=363622 http_req_rate(10000)=0 0x801bfba8c: key=FE3651B3973CC657000000000000000000000000 use=0 exp=1302278 http_req_rate(10000)=0 0x8017f8ecc: key=FEE742DC8D6942B3000000000000000000000000 use=0 exp=693453 http_req_rate(10000)=0 0x801bdff4c: key=FEE742DC9200499B000000000000000000000000 use=0 exp=3415931 http_req_rate(10000)=0 echo clear table monserveur |nc -U /tmp/haproxy.sock echo show table |nc -U /tmp/haproxy.sock sock # table: monserveur, type: binary, size:5242880, used:1 Vérification de la santé des serveurs améliorée

Pour prendre des décisions de routage des requêtes, il est important de savoir quels serveurs sont en bonne santé. Outre les checks HTTP, largement paramétrables, HAProxy dispose en natif de tests de vie pour les protocoles mysql, pgsql, redis, ssl et smtp. Il est toutefois désormais possible d’écrire des tests de vie personnalisés. Voici un exemple utilisant php-fpm :

option tcp-check # FCGI_BEGIN_REQUEST tcp-check send-binary 01 # version tcp-check send-binary 01 # FCGI_BEGIN_REQUEST tcp-check send-binary 0001 # request id tcp-check send-binary 0008 # content length tcp-check send-binary 00 # padding length tcp-check send-binary 00 # tcp-check send-binary 0001 # FCGI responder tcp-check send-binary 0000 # flags tcp-check send-binary 0000 # tcp-check send-binary 0000 # # FCGI_PARAMS tcp-check send-binary 01 # version tcp-check send-binary 04 # FCGI_PARAMS tcp-check send-binary 0001 # request id tcp-check send-binary 0045 # content length tcp-check send-binary 03 # padding length: padding for content % 8 = 0 tcp-check send-binary 00 # tcp-check send-binary 0e03524551554553545f4d4554484f44474554 # REQUEST_METHOD = GET tcp-check send-binary 0b055343524950545f4e414d452f70696e67 # SCRIPT_NAME = /ping tcp-check send-binary 0f055343524950545f46494c454e414d452f70696e67 # SCRIPT_FILENAME = /ping tcp-check send-binary 040455534552524F4F54 # USER = ROOT tcp-check send-binary 000000 # padding # FCGI_PARAMS tcp-check send-binary 01 # version tcp-check send-binary 04 # FCGI_PARAMS tcp-check send-binary 0001 # request id tcp-check send-binary 0000 # content length tcp-check send-binary 00 # padding length: padding for content % 8 = 0 tcp-check send-binary 00 # tcp-check expect binary 706f6e67 # pong

Par ailleurs, les vérifications peuvent être déléguées à un agent externe. Cela permet de configurer dynamiquement le poids du serveur dans le pool.

L’agent doit retourner soit une valeur entre 0 % et 100 % représentant le poids relatif au poids initialement donné au serveur, soit un mot clé ready (prêt), drain (n’accepte plus de nouvelles connexions mais traite celles en cours), maint (passe en maintenance), down, up… Pour mettre cela en place, il faut utiliser le mot clé agent-check.

Typiquement, cela peut être un script lancé par inetd. Par exemple, pour adapter le poids du serveur en fonction de la charge :

#!/bin/sh SYSCTL="/sbin/sysctl -n" NCPU=$(${SYSCTL} hw.ncpu) LOAD=$(${SYSCTL} vm.loadavg | awk '{print $2}') LOAD=${LOAD%.*} if [ ${LOAD} -ge ${NCPU} ]; then PERCENT="100" else PERCENT=$((${LOAD}*100/${NCPU})) fi echo "$PERCENT%"

On paramètre ensuite inetd.conf de la façon suivante :

dec-notes stream tcp nowait nobody /usr/local/bin/agent-check

Enfin, la configuration pour HAProxy est :

server server1 192.168.64.50:3389 weight 100 check agent-check agent-port 3333 Version 2 du proxy protocol

Le proxy protocol est un protocole simple qui permet à l’adresse IP d’un client d’être conservée lorsqu’une requête passe de serveurs en serveurs. Si en HTTP, l’en‐tête X-Forwarded-For est largement utilisée à cette fin, il fallait un mécanisme plus universel, utilisable notamment en mode TCP. Initialement, ce protocole a été conçu pour utiliser HAProxy conjointement avec STunnel. Il est désormais pris en charge par Elastic Load Balancing, ExaProxy, Exim, Gunicorn, HAProxy, NGINX, Postfix, stud et stunnel.

La version 2 modifie profondément la nature du protocole, puisqu’on passe d’une version humainement lisible à une version binaire.

Par exemple, avec Postfix, il faudra dans HAProxy utiliser la configuration ci‐après :

mode tcp option smtpchk server postfix 127.0.0.1:10024 send-proxy check

Une configuration Postfix (master.cf) sera aussi nécessaire :

postscreen_upstream_proxy_protocol = haproxy Prise en charge de systemd

HAProxy ne peut pas recharger sa configuration. Pour le redémarrer, on doit tuer l’ancien processus et en lancer un nouveau. Toutefois, afin de ne pas fermer les sessions brutalement, il existe l’option -st qui permet au nouveau processus de remplacer l’ancien proprement.

Ce comportement ne convenant pas à systemd, qui ne sait pas remplacer un processus par un autre, l’option -Ds et le démon haproxy-systemd-wrapper permettent désormais de fonctionner avec ce système d’initialisation.

Nouveau cycle de développement

Willy Tarreau explique dans un long courriel ses plans pour les prochaines versions de HAProxy, ainsi que les leçons à tirer de la version 1.5, dont le développement a été particulièrement long.

Selon lui, il faut arrêter de promettre telle ou telle fonctionnalité pour telle version, et fonctionner en périodes, à la mode Linux. Ainsi le développement de la version 1.6 s’arrêtera en mars 2015, pour une sortie en mai ou juin de la même année.

Il indique toutefois les directions qu’il souhaite prendre :

  • multi‐processus : meilleure synchronisation des états et des vérifications. Vue l’arrivée de ces monstres de latence que sont SSL et la compression, une architecture gérant la concurrence serait sans doute bénéfique. Il est toutefois exclu d’ajouter des mutex partout dans le code.

    • reconfiguration à chaud : dans les environnements dynamiques, on est souvent contraint de relancer HAProxy. Même si de nombreuses possibilités sont désormais offertes par le socket de contrôle, il serait intéressant d’aller plus loin dans ce sens.
    • DNS : actuellement HAProxy ne résout les noms d’hôte qu’au démarrage. Il serait intéressant, en particulier pour les utilisateurs de EC2, que cela puisse être fait dynamiquement.
    • cache d’objets en mémoire : il ne s’agit pas de concurrencer Varnish, mais d’implémenter un petit cache afin de réduire le trafic entre HAProxy et les serveurs d’origine des objets. Plutôt un cache avec un ratio de hits de 50 % sans maintenance, qu’un cache efficace à 90 % mais demandant beaucoup d’attention.
    • amélioration de la réutilisation des connexions : dans certains cas, il est particulièrement intéressant de conserver les connexions réseau en vie, même si cela ouvre de nouvelles problématiques comme la supervision des connexions.
    • HTTP/2 : Willy Tarreau étant particulièrement investi dans le groupe de travail http-bis qui spécifie entre autres HTTP/2, c’est donc sans surprise qu’il place l’implémentation de cette nouvelle version du protocole en tête de ses priorités.
Exemple d’utilisation

Imaginons un site Web servi par un parc de serveurs sur lesquels nous voulons mettre en place de l’équilibrage de charge (load balancing) et de la tolérance de panne. Une bonne idée est alors de créer un cluster de HAProxy actif/actif avec au moins deux machines en utilisant le round‐robin DNS et un mécanisme de failover tel que CARP ou keepalived.

Nous allons commencer par une configuration basique à laquelle nous ajouterons peu à peu des fonctionnalités.

Paramètres globaux

On commence par définir quelques généralités comme les journaux (logs), le maximum de connexions, le comportement du démon.

global log /var/run/log local0 notice maxconn 4096 uid 99 gid 99 daemon chroot /var/empty Paramètres par défaut

On ajoute ensuite, une section par défaut qui contiendra l’ensemble des paramètres qui, s’ils ne sont pas surchargés, s’appliqueront à nos proxys/mandataires.

defaults # par défaut on logue avec ce qui est défini # dans la section globale log global # on peut définir très finement les différents timeout # le temps qu'une connexion client peut rester idle timeout client 40s # le temps entre une réponse et le début de la requête # suivante dans une connexion keepalive timeout http-keep-alive 30s # Le temps entre le début d'une requête et la fin des entêtes timeout http-request 10s # Workaround pour certains navigateurs # bogués avec le timeout http-request errorfile 408 /dev/null # Le temps durant lequel on attend une réponse du serveur timeout server 60s # Le temps qu'une connexion peut rester en attente # d'un slot disponible # timeout queue 1500 # le temps que met un client a établir une connexion tcp timeout connect 5s # Combien de fois on réessaye de se connecter à un serveur retries 3 # On redistribue les sessions en cas d'échec de # connexion avec un serveur option redispatch # Par défaut on fait du http mode http # Par défaut le mot check signifie check http option httpchk # On ajoute l'entête X-Forwarded-Forr option forwardfor # On utilise l'algorithme roundrobin balance roundrobin # On logue des sessions http option httplog # On ne logue pas les connexions sur lesquelles # il ne se passe rien option dontlognull # Aucun proxy ne pourra avoir plus de 2048 connexions ouvertes # Soit la moitié des connexions acceptables maxconn 2048 Le proxy/mandataire

On déclare ensuite notre proxy de la façon la plus simple possible, on ajoutera les fioritures après :

listen http_proxy bind :80 server web1 192.168.42.11:80 server web2 192.168.42.12:80 server web3 192.168.42.13:80

Il est nommé http_proxy, écoute sur le port 80. Il équilibre les connexions suivant l’algorithme round‐robin vers trois serveurs nommés web1, web2 et web3. D’autres algorithmes de répartition sont bien évidement disponibles :

  • static-rr est une variante de round‐robin sans limitation du nombre de serveurs (4 095 pour round‐robin), mais sans prise en compte du poids ;
  • leastconn, adapté aux sessions longues (LDAP, TSE…), c’est le serveur qui a le moins de connexions actives (pondéré par son poids) qui est choisi ;
  • first, le premier serveur est utilisé jusqu’à maxconn, puis on passe au suivant, ce qui est idéal pour pouvoir éteindre des serveurs aux heures creuses ;
  • d’autres algorithmes basés sur un hash de l’IP, l’URL, un paramètre de la requête, un en‐tête HTTP, ou le cookie RDP.

Le paramètre balance défini dans la section globale, pourrait être surchargé ici.

Savoir ce qu’il se passe

Il y a plusieurs défauts sur notre configuration :

  • les logs ne fonctionnent pas car HAProxy étant « chrooté », il ne peut pas accéder au socket UNIX ;
  • si un serveur Web tombe, HAProxy n’est pas au courant et nous non plus.

Concernant les logs, il suffit de modifier la section globale :

log localhost local0 notice

Il faudra ensuite configurer son serveur de log préféré pour pouvoir récupérer les logs en UDP sur l’interface loopback.

Pour vérifier l’état de santé des serveurs il suffit d’ajouter le mot clé check à la fin de la déclaration des serveurs :

server web1 192.168.42.11:80 check

Dans ce cas, HAProxy lancera une requête OPTIONS / sur le serveur toutes les 2 secondes. On peut chercher à faire plus fin, comme, par exemple, une requête vers une URL applicative se connectant à une base de données. En bref, ne pas vérifier simplement l’état de santé du serveur mais également celui de l’application. Dans ce cas, il faut compléter l’option httpchk :

listen http_proxy bind :80 option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong server web1 192.168.42.11:80 check inter 30s server web2 192.168.42.12:80 check inter 30s server web3 192.168.42.13:80 check inter 30s

Du coup, on va aller chercher sur chaque serveur l’URL /ping de l’hôte www.example.com toutes les 30 secondes et l’on attendra que le serveur nous réponde avec une page contenant le mot « pong ».

Nos serveurs sont donc bien surveillés par HAProxy, mais pour notre part — exception faite des logs — nous sommes aveugles. Pour remédier à cela, nous allons activer le socket de contrôle ainsi que l’interface d’administration. La première s’active dans la section globale :

stats socket /tmp/haproxy_prod_admin.sock user root group nagios mode 660 level admin

On peut ensuite l’utiliser avec un programme comme socat par exemple. Elle est également utilisée par des utilitaires comme HAtop ou l’excellente sonde Nagios de Polymorf :

socat /tmp/haproxy.sock readline prompt > help Unknown command. Please enter one of the following commands only : clear counters : clear max statistics counters (add 'all' for all counters) clear table : remove an entry from a table help : this message prompt : toggle interactive mode with prompt quit : disconnect show info : report information about the running process show stat : report counters for each proxy and server show errors : report last request and response errors for each proxy show sess [id] : report the list of current sessions or dump this session show table [id]: report table usage stats or dump this table's contents get weight : report a server's current weight set weight : change a server's weight set table [id] : update or create a table entry's data set timeout : change a timeout setting set maxconn : change a maxconn setting set rate-limit : change a rate limiting value disable : put a server or frontend in maintenance mode enable : re-enable a server or frontend which is in maintenance mode shutdown : kill a session or a frontend (eg:to release listening ports)

Quant à la seconde, elle s’active soit dans un proxy à part, soit dans un proxy existant. Celle‐ci donne l’état actuel des proxies, ainsi qu’un certain nombre de statistiques.

listen http_proxy bind :80 option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong server web1 192.168.42.11:80 check inter 30s server web2 192.168.42.12:80 check inter 30s server web3 192.168.42.13:80 check inter 30s stats enable stats uri /admin?stats stats realm Haproxy\ Statistics stats auth admin:s3cR3T

Routage plus complexe

Pour l’instant notre schéma de fonctionnement est très simple. S’il doit se complexifier, il deviendra utile de séparer les blocs listen en frontend et backend.

Cela nous donne :

frontend http_proxy bind :80 stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T default_backend web_servers backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong server web1 192.168.42.11:80 check inter 30s server web2 192.168.42.12:80 check inter 30s server web3 192.168.42.13:80 check inter 30s

Ainsi, si nous souhaitons offrir la possibilité d’utiliser le site en version HTTPS, il nous suffit d’ajouter un second frontal :

frontend https_proxy bind :443 ssl crt /etc/certificates/website.pem reqadd X-Forwarded-proto:\ https default_backend web_servers

Si derrière on utilise Apache, ajoutons dans sa configuration la ligne suivante :

SetEnvIfNoCase X-Forwarded-Proto HTTPS HTTPS=on

Cela permettra à nos utilisateurs de retrouver les bonnes variables d’environnement (en PHP par exemple : $_SERVER["HTTPS"]).

Si l’on veut reconnaître un utilisateur authentifié grâce au cookie MYSSO, il est alors facile de le rediriger systématiquement vers la version chiffrée du site :

frontend http_proxy bind :80 stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T acl is_logged cook MYSSO -m found redirect scheme https if is_logged default_backend web_servers

Bien évidemment, on peut souhaiter qu’ils s’identifient sur une page chiffrée, voire sur des serveurs séparés :

frontend http_proxy bind :80 stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T acl is_logged cook MYSSO -m found acl to_login url_beg /login redirect scheme https if is_logged or to_login default_backend web_servers

À noter que pour former la condition, le or doit être spécifié alors qu’un and aurait été implicite.

Enfin, nous voulons que l’accès aux statistiques et au backoffice du site soit sécurisé par une vérification du certificat client. Nous allons commencer par créer un back‐end particulier donnant accès au serveur de back office. Il contiendra en plus l’accès aux statistiques que nous supprimons du coup du front‐end public :

backend very_secure stats enable stats uri /haproxy stats realm Haproxy\ Statistics stats auth admin:s3cR3T server admin 192.168.9.42:80

Le front‐end public devient :

frontend http_proxy bind :80 acl is_logged cook MYSSO -m found acl to_login url_beg /login redirect scheme https if is_logged or to_login default_backend web_servers

Sur la partie HTTPS, nous allons donc vérifier la présence d’un certificat client et, s’il est présent et valable, donner l’accès au back office et aux statistiques HAProxy. Pour cela, il faut fournir à HAProxy l’autorité de certification (ca-file) et éventuellement une liste de révocation (crl-file) :

frontend https_proxy bind :443 ssl crt /etc/certificates/website.pem ca-file /etc/certificates/website.ca verify optional crl-file /etc/certificates/website.crl reqadd X-Forwarded-proto:\ https acl client_ok ssl_fc_has_crt acl want_admin if url_beg /admin acl want_admin if url_beg /haproxy use_backend very_secure if want_admin and client_ok default_backend web_servers

La négociation SSL échouera si le certificat présenté est invalide ou révoqué, mais pas s’il est absent (mot‐clé optional).

Coller au serveur et gérer les pannes

Pour diverses raisons, on peut vouloir que le client ne change pas de serveur durant la durée de sa session. La plus mauvaise de ces raisons est que les sessions applicatives ne sont pas partagées, la meilleure étant que cela permet d’effectuer des trucs sympathiques, comme des mises à jour applicatives sans interruption de service ou encore de faciliter le débogage.

La façon la plus simple de faire est d’insérer un cookie. Si celui‐ci est présent, HAProxy essayera d’utiliser le serveur visé :

backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong cookie SRV insert server web1 192.168.42.11:80 check inter 30s cookie web1 server web2 192.168.42.12:80 check inter 30s cookie web2 server web3 192.168.42.13:80 check inter 30s cookie web3

Ainsi, pour savoir sur quel serveur vous êtes, il suffit de regarder la valeur du cookie SRV.

C’est aussi le moment d’introduire la notion de poids. On peut en effet moduler l’importance de chaque serveur au sein du répartiteur de charge (load‐balancer) :

backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com http-check expect string pong cookie SRV insert server web1 192.168.42.11:80 check inter 30s cookie web1 weight 10 server web2 192.168.42.12:80 check inter 30s cookie web2 weight 10 server web3 192.168.42.13:80 check inter 30s cookie web3 weight 20

Le poids peut être piloté par le socket de contrôle. Par exemple, pour passer le poids du serveur web2 à zéro :

echo "set weight web_servers/web2 0" | nc -U /tmp/haproxy_prod_admin.sock

Un poids de 0 ne signifie pas que le serveur est tombé, mais qu’il n’accepte plus de nouvelle session (laissant ainsi finir tranquillement celles en cours).

On peut également spécifier un serveur de secours (backup) :

backend web_servers option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com option allbackup http-check expect string pong cookie SRV insert server web1 192.168.42.11:80 check inter 30s cookie web1 weight 10 server web2 192.168.42.12:80 check inter 30s cookie web2 weight 10 server web3 192.168.42.13:80 check inter 30s cookie web3 weight 20 server maintenance1 192.168.42.21:80 backup check inter 30s server maintenance2 192.168.42.22:80 backup check inter 30s

L’option allbackup spécifie que lorsque tous les serveurs sont tombés, tous les serveurs de secours (et pas seulement le premier disponible) doivent être utilisés.

Bien sûr, le backup est utile pour servir les pages de maintenance, mais également pour se replier en cas de problème logiciel. Ainsi, par exemple, si nous souhaitons utiliser Varnish pour servir les fichiers statiques, nous pouvons faire quelque chose comme :

acl url_static url_reg -i ^\/(.*)\.(js|jpg|JPG|jpeg|gif|png|ico|txt|css|pdf)(\?.*)? use_backend varnish if url_static

dans les front‐ends, puis :

backend varnish option httpchk GET /ping HTTP/1.1\r\nHost:\ www.example.com option allbackup http-check expect string pong server varnish 127.0.0.1:8080 check inter 30s server web1 192.168.42.11:80 check inter 30s backup server web2 192.168.42.12:80 check inter 30s backup server web3 192.168.42.13:80 check inter 30s backup

Ainsi, en cas d’indisponibilité du serveur Varnish, les fichiers sont servis par les serveurs principaux.

Et ainsi de suite

Lorsqu’on en prend l’habitude, HAProxy devient vite un outil indispensable. Il offre une telle souplesse, que ce soit en mode TCP ou HTTP, qu’il est difficile de rencontrer des situations pour lesquelles on ne puisse pas imaginer de solutions l’utilisant. D’autant plus qu’il excelle en termes de performance. Autrement dit : c’est bon, mangez‐en !

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 34 de l'année 2014

26 août, 2014 - 00:50

La revue de presse de l'April est régulièrement éditée par les membres de l'association. Elle couvre l'actualité de la presse en ligne, liée au logiciel libre. Il s'agit donc d'une sélection d'articles de presse et non de prises de position de l'association de promotion et de défense du logiciel libre.

Sommaire

[Next INpact] Lois et numérique: une rentrée parlementaire 2014 encore chargée

Par Marc Rees, le jeudi 21 août 2014. Extrait:

La rentrée parlementaire concernant les textes liés aux nouvelles technologies sera aussi riche cette année qu’en 2013. Tour d’horizon des textes bientôt débattus dans l’hémicycle et ceux dont le sort reste encore bien vague.

Lien vers l'article original: http://www.nextinpact.com/news/89346-lois-et-numerique-rentree-parlementaire-2014-chargee.htm

[Numerama] HACIENDA: pourquoi votre ordinateur a peut-être été scanné par la NSA

Par Guillaume Champeau, le jeudi 21 août 2014. Extrait:

Appliquant à grande échelle les méthodes et outils de groupes de hackers criminels, la NSA et d'autres agences de renseignement alliées réalisent dans des dizaines de pays une cartographie complète des ordinateurs connectés à Internet, et de leurs vulnérabilités potentielles. Mais un remède a été mis au point.

Lien vers l'article original: http://www.numerama.com/magazine/30309-hacienda-pourquoi-votre-ordinateur-a-peut-etre-ete-scanne-par-la-nsa.html

Voir aussi:

[Silicon.fr] Desktop: Linus Torvalds espère toujours que Linux supplantera Windows

Par David Feugey, le jeudi 21 août 2014. Extrait:

«Je pense que nous y arriverons un jour», explique Linus Torvalds au sujet de Linux dans le monde desktop. Il lui faudra toutefois vaincre les réticences des constructeurs et des utilisateurs, accrochés à Windows ou OS X.

Lien vers l'article original: http://www.silicon.fr/linus-torvalds-linux-supplantera-windows-96210.html

[L'Humanité] La révolution numérique se fait aussi à la Fête de l‘Humanité

Par la rédaction, le mercredi 20 Août 2014. Extrait:

La Fête de l’Humanité va accueillir cette année un espace dédié au monde du Libre, aux Hackers et au Fablabs. Au programme, des débats, des démonstrations, et une conférence exceptionnelle de Richard Stallman, le père du logiciel libre.

Lien vers l'article original: http://www.humanite.fr/la-revolution-numerique-se-fait-aussi-la-fete-de-lhumanite-549497

[ActuaLitté.com] L'entrée du logiciel libre en bibliothèques se fait attendre

Par Antoine Oury, le mardi 19 août 2014. Extrait:

Dans nos sociétés modernes, les bibliothèques sont perçues comme des lieux de savoir, plus soustrait aux impératifs commerciaux que tout autre lieu de nos sociétés. Et pourtant, les professionnels de l'information sont soumis aux impératifs et exigences de sociétés privées, créateurs des logiciels utilisés pour faire fonctionner la bibliothèque. Des alternatives, libres, existent.

Lien vers l'article original: https://www.actualitte.com/bibliotheques/l-entree-du-logiciel-libre-en-bibliotheques-se-fait-attendre-52046.htm

[Silicon.fr] Logiciels libres: Munich va-t-il faire volte-face?

Par David Feugey, le mardi 19 août 2014. Extrait:

La nouvelle municipalité de la ville de Munich envisagerait de rebasculer ses postes de travail de LiMux et LibreOffice vers Windows et Microsoft Office.

Lien vers l'article original: http://www.silicon.fr/logiciels-libres-munich-va-t-il-faire-volte-face-96174.html

Et aussi:

[Libération.fr] Logiciels à l’ère libre

Par Erwan Cario, le dimanche 17 août 2014. Extrait:

Depuis les années 80, un système collaboratif permet à tous d’étudier, de modifier et de distribuer des programmes, parallèlement aux géants de l’informatique, dont les outils briment l’utilisateur.

Lien vers l'article original: http://www.liberation.fr/societe/2014/08/17/logiciels-a-l-ere-libre_1082175

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

Kernel Recipes 2014

25 août, 2014 - 22:57

hupstream est fier de vous annoncer la 3e édition de Kernel Recipes, les 25 et 26 septembre 2014.

Cette nouvelle édition s’annonce pleine de promesses. Cette année nous vous proposons des conférenciers venus des États‐Unis, d’Europe et de France : Greg Kroah‐Hartman, Hans Peter Anvin, Jean Delvare, Willy Tarreau, Borislav Petkov, Martin Peres, Maxime Ripard, Julien Grall, Eric Leblond, Samir Bellabes et Hans Verkuil.

Nombre d’entre eux interviendront pour la première fois en France.

Kernel Recipes, c’est deux jours de conférences liées au noyau Linux. Les conférences sont proposées par les acteurs de kernel.org et couvrent des sujets aussi variés que la sécurité, comment contribuer, la pérennisation du projet, NUMA, ARM…

Cette année la conférence aura lieu dans les locaux de Mozilla, à Paris (un grand merci à eux !). Nous avons souhaité conserver une taille humaine à cette conférence, environ 90 places disponibles. Ce format vous permettra d’échanger facilement et de manière conviviale avec les autres participants et les conférenciers. Ces discussions pourront se prolonger pendant le déjeuner, voire le dîner qui sera organisé le 25 septembre (inscriptions à venir).

Vous pouvez également proposer un sujet et intervenir lors des sessions de « lightning talks ». Faites‐nous en part rapidement !

Pour vous inscrire, c’est très simple, il suffit de vous enregistrer. Attention comme mentionné ci‐dessus, le nombre de places est limité, merci de vous assurer de votre disponibilité avant de vous inscrire.

Un grand merci enfin à nos sponsors qui rendent également ces journées possibles : Gandi, HaProxy Technologies, Mozilla, Parrot, SUSE.

Télécharger ce contenu au format Epub

Lire les commentaires

Code Of War 2014

25 août, 2014 - 17:15

Code of War est un hackathon gratuit, ouverte à tous, et basé uniquement sur des technologies web open source. Deux dates sont prévues cette année, une à Paris et l'autre à Bordeaux. Chaque participant aura à programmer l'intelligence artificielle (IA) de son robot au travers d'une boîte à outils SDK disponible en Javascript, TypeScript, CoffeeScript, et Haxe. Les IA s'affronteront alors dans des batailles sans merci dont un seul sortira vainqueur.

Après l'espace, Code of War redescend sur terre, et plus précisément à Bordeaux avec son nouveau jeu Call of Stations. Celui-ci imagine que TBC, l'organisme en charge des transports en commun dans la communauté urbaine de Bordeaux, décide de lancer un appel d'offre. Il cherche l'entreprise qui s'occupera de la gestion des camionnettes chargées de réapprovisionner les stations de VCub. Ces camionnettes sont celles qui parcourent les stations pour réguler le nombre de vélos disponibles dans chacune d'elle. Elles vont donc prendre des vélos là où il y en a trop et inversement.

Il est possible de s'inscrire dès aujourd'hui et de développer son robot sur la plateforme en ligne, afin d'arriver lors du tournoi avec un robot prêt à remporter la victoire.

Elle est développée par l'équipe des TTFX en HTML5/JS, codée en Haxe et utilisant les bibliothèques CreateJS et NodeJS, exploite les web workers et met à l'honneur Open Data grâce au travail de Qucit.

Informations pratiques

Déroulement
10h à 10h30 : Présentation de l’événement et des équipes
10h30 à 13h00 : Coding Time : Analyse des concurrents et amélioration des robots
15h00 à 17h00 : Tournoi
17h00 à 18h00 : Remise des récompenses
Organisateur : TTFX
Lieu : Darwin à Bordeaux
Date et heure : 17 octobre 2014 à partir de 10h
Prix : Gratuit
Audience : Développeur, étudiant, joueur

Le lieu et la date de la session parisienne seront bientôt connus.

Plus d'info sur http://codeofwar.net/

Télécharger ce contenu au format Epub

Lire les commentaires

EnKoDeur-Mixeur (EKD) en version 3.1.4

23 août, 2014 - 19:20

Après deux ans pendant lesquels j’ai été éloigné du code, j’ai remis les mains dans le cambouis ! EKD, logiciel de post-production vidéo, image et fichiers audio, vient de sortir en version 3.14. Rien de révolutionnaire dans cette nouvelle mouture mais quelques améliorations :

  1. Des préréglages 4k et 2k ont été ajoutés pour le redimensionnement des vidéos
  2. La lecture et la sauvegarde des infos GPS (si les photos chargées en sont pourvues)
  3. Dans la version GNU/Linux, les dépendances FFmpeg et G’MIC sont intégrées en tant qu’applications portables et ne sont plus requises pour la construction des paquets (deb, rpm, …).

Pour faire avancer le projet, je cherche des développeurs Python qui voudraient intégrer le projet. Et aussi un empaqueteur RPM, un empaqueteur pour Archlinux (voir l'ancienne version ici) et des traducteurs.

Télécharger ce contenu au format Epub

Lire les commentaires

Logiciel ERP Apache-OFBiz - Nouvelles versions de maintenance 12.04.04 & 11.04.05

21 août, 2014 - 12:46

La fondation Apache vient de publier les versions 12.04.04 et 11.04.05 du logiciel Apache-OFBiz. Apache-OFBiz est un logiciel de gestion d'entreprise (ERP ou PGI en français) Libre sous licence Apache 2.0 disponible sur système Linux, Windows et Mac.

Il s'agit de versions correctives permettant d'améliorer la stabilité et la sécurité du logiciel.
Elles corrigent notamment une importante faille de sécurité.

Elles deviennent maintenant les dernières versions stables officielles et les utilisateurs des versions 12.04.03 et 11.04.04 sont invités à migrer vers leurs nouvelles versions respectives.

Vous pouvez éditer cette partie en cliquant sur le crayon !

Télécharger ce contenu au format Epub

Lire les commentaires

Je crée mon jeu vidéo E12 : interfaces physiques et graphiques

20 août, 2014 - 20:06

«Je crée mon jeu vidéo» est une série d'articles sur la création d'un jeu vidéo, depuis la feuille blanche jusqu'au résultat final. On y parlera de tout : de la technique, du contenu, de la joie de voir bouger des sprites, de la lassitude du développement solitaire, etc. Vous pourrez suivre cette série grâce au tag gamedev.

Dans l'épisode 11, on a décoré notre carte, et même si elle n'est pas encore dans un état jouable, elle constitue une bonne base pour la suite. Pour ce retour de vacances, on va s'intéresser aux interfaces physiques et graphiques du jeu.

Sommaire Introduction

Contrairement à ce que j'avais espéré, les vacances n'ont pas été très productives pour mon jeu. Je comptais passer du temps dessus de manière à avoir des avancées significatives, mais il n'en a rien été. J'ai seulement pu faire quelques tests dont je parlerai sans doute dans un prochain épisode. C'est très frustrant ce genre de situation.

Ça ne m'empêche pas de continuer mes réflexions (et mes bouts de code) et de les partager. Aujourd'hui on va discuter des interfaces :

  • les interfaces physiques, celles qui permettent de commander les actions dans le jeu (input),
  • et les interfaces graphiques, celles qui rendent compte d'élements du jeu (output).

Et comme d'autres y ont réfléchi avant moi, je me suis largement inspiré de jnuit, créé par devnewton pour ses jeux en Java.

Les interfaces physiques

À la base, je ne savais pas trop quoi utiliser pour l'interface physique. Quand on pense RPG, on imagine que ça se manipule à la souris et/ou au clavier. Mais avec les RPG sortis sur console, ce n'est plus le cas. Et puis bon, il y a devnewton qui veut jouer à la manette. Du coup, allons-y, essayons de contenter tout le monde.

SFML gère les principales interfaces physiques rencontrées dans la nature : clavier, souris, manettes. Donc, de ce côté là, on n'aura pas trop de problème. Le seul problème est de trouver un moyen de gérer tous ces périphériques de manière à peu près commune et de s'éviter de longs switch redondants et désagréables, c'est-à-dire trouver le bon niveau d'abstraction.

Pour les interfaces physiques, on trouve deux notions dans jnuit que j'ai reprises. Celle de contrôleur et celle d'action.

Contrôleur

Un contrôleur, c'est juste l'abstraction d'une interface physique. Dans jnuit, le contrôleur fournit une valeur qui indique son état. Le contrôleur est alors couplé à un détecteur qui va superviser cet état et dire si le contrôleur est actif ou pas.

L'inconvénient (à mon sens) dans jnuit est qu'on est en mode polling, c'est-à-dire qu'on va demander l'état du contrôleur à chaque tour (par exemple : « est-ce que le bouton droit de la souris est appuyé ? »). L'autre mode, c'est le mode événement, c'est-à-dire qu'on regarde les événements qui se sont produits (comme par exemple un appui sur un bouton de souris) et on enregistre le nouvel état à ce moment là. J'ai une nette préférence pour le mode événement que je trouve plus naturel, mais c'est une question de goût. SFML n'est pas casse-pied et propose les deux modes de toute façon.

L'autre chose qui me chagrinait dans l'approche de jnuit, c'est cette distinction entre le contrôleur et son détecteur. La différence est très subtile mais trop subtile pour moi, alors j'ai fusionné les deux notions dans une seule : un contrôleur dit s'il est actif ou pas. Et il met à jour son état en scrutant les événements renvoyés par SFML.

Action

Une action est une abstraction d'une… action qui peut être déclenchée par le joueur — par exemple « sauter ». Une action est provoquée par un ou plusieurs contrôleurs (comme le bouton droit de la souris ou la lettre J du clavier). Comme pour les contrôleurs, il existe aussi un détecteur qui va se charger de vérifier si l'action est active ou pas, suivant l'état des contrôleurs associés. La règle est simple, il suffit d'un seul contrôleur activé pour activer l'action.

Outre le fait que la différence entre l'action et son détecteur soit une fois de plus trop subtile pour moi, j'ai trouvé qu'il manquait un élément important dans cette abstraction. En effet, une action peut être continue ou pas. Prenons deux exemples pour voir la différence. Quand j'appuie sur une flèche, je souhaite que mon personnage avance tant que j'appuie sur la flèche : c'est ce que j'appelle une action continue. En revanche, quand j'appuie sur J, je veux que mon personnage saute une fois, même si je continue d'appuyer sur la touche : c'est ce que j'appelle une action instantanée (non-continue). C'est le même contrôleur (une touche de clavier), mais la manière de le gérer est différente. Dans un cas, je veux que l'action soit active tant que le contrôleur est actif, et dans l'autre cas, je veux que l'action soit active une seule fois même si le contrôleur reste actif.

Et avec tout ça…

Une fois qu'on a des contrôleurs pour tous les périphériques, on peut alors définir des ensembles d'action, dont certains qu'on va retrouver à peu près partout. L'exemple le plus classique est l'ensemble d'actions qui permet de naviguer dans une interface graphique : haut, bas, gauche, droite, accepter.

En tout cas, cette double notion contrôleur/action est très pratique et offre le niveau d'abstraction suffisant pour définir l'interaction entre le joueur et le jeu. Du coup, ajouter la gestion de la manette, c'est juste ajouter un contrôleur à une action existante et rien d'autre ne change. C'est simple et ça répond au besoin initial.

Les interfaces graphiques

Pourquoi les interfaces graphiques de jeux vidéos sont-elles particulières ? Il y a deux raisons :

  1. Premièrement, à cause du mode de fonctionnement de l'affichage. Dans une interface graphique de bureau, l'affichage est mis à jour de temps en temps en fonction d'événements. Dans un jeu vidéo, on affiche une frame tous les soixantièmes de seconde et on la redessine à chaque fois, on doit donc redessiner notre interface complètement.
  2. Deuxièmement, à cause des interfaces physiques. Une interface graphique de bureau classique est prévue pour être utilisée avec une souris. Dans un jeu vidéo, la souris n'est pas obligatoire, il faut donc pouvoir piloter l'interface graphique avec toutes les interfaces physiques possibles — essentiellement le clavier et la manette.

Évidemment, je ne suis pas le premier à avoir réfléchi à tout ça ; il existe donc déjà une tétrachiée de bibliothèques d'interfaces graphiques pour SFML (de qualités inégales, d'ailleurs) :

J'ai décidé de réaliser ma propre bibliothèque d'interface graphique. Pour deux raisons. La première raison, c'est que les bibliothèques existantes intègrent complètement la gestion des événements. Or, sachant que j'ai déjà mes contrôleurs et mes actions, je veux les utiliser comme bon me semble et ne pas dépendre des choix faits par la bibliothèque. La deuxième raison, qui se rapproche de la première, c'est que ces bibliothèques intègrent complètement le dessin des widgets, parfois à l'aide d'un langage du genre CSS. Vous devez vous dire que je suis un peu idiot de refuser qu'une bibliothèque de widgets dessine ses widgets. En fait, le fait de découpler les widgets de leur affichage n'est pas si idiot : il permet de customiser l'affichage pour chaque jeu. Avoir un interpréteur de CSS juste pour afficher quelques widgets, ça fait un peu trop usine à gaz à mon goût.

L'intérêt d'avoir sa propre bibliothèque, c'est qu'on peut piquer une excellente idée de jnuit, à savoir offrir les widgets standard des jeux, et notamment celui qui gère la résolution de l'écran. Ça permet aussi de voir comment on programme ce genre de logiciel assez particulier qu'est une interface graphique. On en vient à se poser les mêmes questions que ses prédécesseurs et au final y apporter les mêmes réponses. Bref, c'est un exercice assez sympathique que tout le monde devrait avoir fait au moins une fois dans sa vie (comme écrire un compilateur), même si ça s'éloigne beaucoup du jeu vidéo au final.

lisuit, SFML User Interface Toolkit

Je vous présente donc SUIT (SFML User Interface Toolkit) (ou lisuit suivant mon humeur) qui est le résultat de toutes ces réflexions. SUIT vient avec la documentation de l'API, une micro documentation générale et quelques exemples (nommés respectivement spade, heart, diamond et club, hahaha) et qui permettent de voir quelques fonctionnalités de la bibliothèque. club notamment montre le widget de configuration de la vidéo.

Autres nouvelles en vrac La documentation des API de mes bouts de code

Comme vous avez pu le voir plus haut, j'ai mis en ligne la documentation des API des bibliothèques que j'ai écrites pour ce jeu, sur l'espace mis à ma disposition par github. Ça concerne libes (la bibliothèque pour faire de l'entités-composants-systèmes), libtmx (la bibliothèque pour lire les fichiers TMX produit par Tiled), et libsuit donc.

Un canal IRC pour parler de jeux libres

J'ai rejoint il y a peu le canal IRC #jeuxlibres sur Freenode. Ce canal doit exister depuis un moment mais il n'était pas très connu. Après avoir reçu une invitation, j'ai rejoint ce canal avec quelques autres personnes et au final, ce canal est maintenant assez animé. Nous sommes une grosse dizaine et il y a de temps en temps des débats assez intéressants. Si vous aimez les jeux libres, n'hésitez pas à venir nous rejoindre !

Message personnel

Enfin, je profite de cette nouvelle pour passer un petit message personnel, une fois n'est pas coutume. En fait, cet été, quelqu'un s'est aperçu que j'étais « le rewind de linuxfr ». Il me connaissait depuis des années via ce biais, et IRL depuis moins longtemps par les hasards de la vie, et il a fait le lien cet été avec des yeux ébahis. C'était très drôle à voir. Donc, coucou à Gérald (qui n'a pas voulu me révéler son compte linuxfr) ;)

Télécharger ce contenu au format Epub

Lire les commentaires

iStoa 14.08

20 août, 2014 - 19:16

iStoa est un logiciel pour GNU/Linux proposant des activités mathématiques, le niveau scolaire visé est pour l'instant celui de CP. Le projet est en phase active de développement et propose actuellement une vingtaine de séries d'exercices, le corpus s'étoffe petit à petit pour couvrir à terme toute l'année de CP, puis les suivantes.

Le projet reprend un travail de 2008. Toute la partie modélisation et suivi de l'apprenant est pour le moment mise en veille pour se focaliser sur l'aspect graphique et l'interactivité des activités.

Toutes les activités suivent un même modus operandi : l'apprenant a droit à 3 essais pour résoudre un exercice, iStoa montre les erreurs puis l'utilisateur peut les corriger. En dernier recours, le logiciel corrige l'exercice pour l'apprenant.

Le score de l'utilisateur se construit en regard de son taux de réussite aux activités, il lui est présenté graphiquement sous la forme de médailles, coupes et couronnes, à l'image des performances des sportifs aux jeux olympiques. Enfin le logiciel est multi-utilisateur : nom, avatar, historique des activités et score sont sauvegardés.

NdM : Hilaire Fernandes n'en est pas à son coup d'essai, puisqu'il a déjà écrit l'excellent Dr Geo, logiciel pour l'apprentissage interactif de la géométrie.

 

Télécharger ce contenu au format Epub

Lire les commentaires

CentOS 7 fait son entrée au CERN

19 août, 2014 - 18:21

Suite au rapprochement de Red Hat et CentOS en janvier 2014, le CERN a annoncé que CentOS 7 remplacera Scientific Linux 7 comme base de leur distribution maison, qui s’appellera désormais CERN CentOS 7. Scientific Linux est une distribution Linux, principalement maintenue par le CERN et le Fermilab. C'est un clone de Red Hat Enterprise Linux, qui existe depuis 2004.

Les utilisateurs de Scientific Linux 5 et 6 continueront de recevoir les mises à jours comme prévu jusqu'en 2020, mais l'avenir de Scientific Linux 7 est plus incertain : bien que déjà publiée en version Beta, Scientific Linux 7 pourrait finalement être publiée sous une autre forme, à savoir une variante de CentOS, tout comme il existe de nombreuses variantes d'Ubuntu. Mais pour l'instant, aucun communiqué officiel n'a été publié sur le site web de Scientific Linux.

Le CERN utilise RedHat Linux depuis de très nombreuses années pour ses installations. À tel point que lors de la séparation de Red Hat Linux en deux entités (Fedora et Red Hat Enterprise Linux) en 2004, le CERN et ses partenaires créèrent un clone de RHEL, baptisé Scientific Linux, pour continuer à bénéficier d'une distribution stable et maintenue pendant de nombreuses années, sans avoir à payer une licence pour chaque installation.

Dix ans plus tard, avec le rapprochement de CentOS et Red Hat, la raison d'être de Scientific Linux a disparu, et il est très certainement plus productif pour le CERN de contribuer à CentOS plutôt que de continuer à maintenir sa propre distribution Linux.

Télécharger ce contenu au format Epub

Lire les commentaires