Syndiquer le contenu
Mis à jour : il y a 5 heures 31 min

La recherche locale avec OscaR.cbls, expliquée à mon voisin (Belgique, Mons, 18 février 2016)

1 février, 2016 - 14:40

Ce jeudi 18 février 2016 à 19h se déroulera la 46e séance montoise des Jeudis du Libre de Belgique.

Le sujet de cette séance : La recherche locale avec OscaR.cbls, expliquée à mon voisin

Thématique : algorithmique, optimisation, programmation, développement

Public : développeurs, étudiants, enseignants

L’animateur conférencier : Renaud De Landtsheer (CETIC)

Lieu de cette séance : Université de Mons, Faculté Polytechnique, Site Houdain, Rue de Houdain, 9 – cf. ce plan sur le site de l’UMONS, ou la carte OSM). Entrée par la porte principale, au fond de la cour d’honneur. Suivre le fléchage à partir de là.

La participation sera gratuite et ne nécessitera que votre inscription nominative, de préférence préalable, ou à l’entrée de la séance. Merci d’indiquer votre intention en vous inscrivant via la page http://jeudisdulibre.fikket.com/. La séance sera suivie d’un verre de l’amitié (le tout sera terminé au plus tard à 22h).

Description : OscaR est une bibliothèqe libre pour résoudre des problèmes d’optimisation. OscaR propose plusieurs moteurs d’optimisation : la recherche locale basée sur les contraintes, la programmation par contraintes et la programmation linéaire. OscaR est implémenté en Scala.

Après un aperçu général des différents moteurs d’OscaR, cet exposé se concentrera sur le moteur de recherche locale basée sur les contraintes. Il en présentera d’abord les grands principes et l’architecture du moteur avant de se concentrer sur la couche déclarative permettant de définir aisément les contraintes et la fonction objectif du problème mais aussi d’exprimer de manière compacte des procédures de recherche locale.

Nous montrerons comment ces mécanismes ouverts et extensibles fournissent un cadre productif pour le développement de solutions efficaces à des problèmes d’optimisation de grande taille, et montreront leur application à un module d’optimisation de routage de véhicules.

Les Jeudis du Libre à Mons bénéficient aussi du soutien de nos partenaires : CETIC, Normation, OpenSides, MeaWeb et Phonoid.

Si vous êtes intéressé(e) par ce cycle mensuel, n’hésitez pas à consulter l’agenda et à vous inscrire sur la liste de diffusion afin de recevoir systématiquement les annonces.

Pour rappel, les Jeudis du Libre se veulent des espaces d’échanges autour de thématiques des Logiciels Libres. Les rencontres montoises se déroulent chaque troisième jeudi du mois, et sont organisées dans des locaux et en collaboration avec des Hautes Écoles et Facultés Universitaires montoises impliquées dans les formations d’informaticiens (UMONS, HEH et Condorcet), et avec le concours de l’A.S.B.L. LoLiGrUB, active dans la promotion des logiciels libres.

Télécharger ce contenu au format Epub

Lire les commentaires

Bibliothèque de génération et de manipulation de formes libsdl2_gfxutils

1 février, 2016 - 10:42

J'annonce de part ce présent message, la réécriture de la bibliothèque de génération et de manipulation de formes libSDL2_gfxutils. Elle est publiée sous GPLv3.

Sommaire SDL2_gfxutils Résumé de la bibliothèque SDL2_gfxutils
  • Version actuelle : 2.0.0
  • Plateformes cibles : Linux, Windows et normalement tous les compatibles Posix (non testé)
  • Compilateurs : gcc, g++, clang, mingw32, mingw-w64-686, mingw-w64-x86_64.
  • Licence : GPLv3
  • Auteur : Eddie Brüggemann (mrcyberfighter CHEZ gmail)
La petite histoire de SDL2_gfxutils

SDL2_gfxutils est issue d'une collection de fonctions de génération de formes implémentée pour des besoins personnels.

À chaque fois que j'avais une idée de forme dans la tête j'essayais de l'implémenter - pendant plusieurs années…

J'ai commencé par écrire des fonctions Python avec le module pygame qui est basé sur la bibliothèqe SDL, étant parti d'une fonction qui calcule la position d'un pixel selon un rayon et un angle.

SDL2_gfxutils a été écrit une première fois sous forme de bibliothèque C complémentaire à SDL2_gfx (dont les fonctions sont utilisées uniquement pour l'affichage) et je me suis sacrément trompé en tronquant les données vers le type requis par SDL2_gfx: int16_t.

Mais SDL2_gfxutils a été entièrement réécrit et amélioré par la même occasion pour nous donner cette nouvelle implémentation, compatible C++.

La nouvelle implémentation de SDL2_gfxutils

Toutes les fonctions génératrices de formes retournent un pointeur sur un type spécifique SDL2_gfxutils (Polygon, Star, …) compatible avec le type générique Form.

Les pointeurs permettent de manipuler les formes générées pour les transformer par rotation, translation, mise à l'échelle et effet miroir, facilement.

Les pointeurs peuvent bien sur être détruits à volonté et cette mécanique est utilisée massivement dans la génération de forme.

Le type générique Form a changé pour contenir des coordonnées de type float, à la place de int16_t. Le calcul pour les rotations, translations, mise à l'échelle et effet miroir s'exécute correctement maintenant.

Avant les int16_t étaient doublés en interne pour les calculs. D'ailleurs si le cœur vous en dit il suffit de remplacer chaque occurrence du mot float par le mot double dans les fichiers source pour opérer en double précision (cela se fait en 5 minutes avec un éditeur de texte).

Les membres du sous-type Pixel sont de type float maintenant.

  • Certaines fonctions ont été enlevées, devenues inutiles avec la mécanique des pointeurs ;
  • D'autres fonctions ont été ajoutées, pour remplacer les fonctionnalités perdues, avec beaucoup d'avantages, surtout pour l'animation dans la boucle principale d'affichage ;
  • Toutes les fonctions ont été améliorées grâce à la mécanique des pointeurs de libSDL2_gfxutils.
Présentation de libSDL2_gfxutils.

SDL2_gfxutils est une extension de SDL2_gfx pour aider à la création et animation (d'images fantastiques que vous pouvez imaginer.) SDL2_gfxutils fournit diverses fonctions pour divers usages:

Il est facile d'adapter SDL2_gfxutils pour être compatible avec d'autres bibliothèques que SDL2_gfx. Il suffit de changer les fonctions d'affichages_.

Opérations de transformation de formes

Il vaut mieux passer des valeurs entières ou de faible précision sinon si l'on boucle cela risque de perturber libsdl2_gfxutil.

Changement de paramètres de formes: les setters
  • Changer le centre de gravité de la forme (Form) avec translation optionnelle des coordonnées ;
  • Changer le rayon de la forme (Form) ce qui équivaut à une mise a l'échelle en mettant la valeur directement (sans passer par un facteur de mise à l'échelle) ;
  • Assigner une nouvelle couleur à une forme (Form) ou ligne (Line).
Récupérer les paramètres d'une forme: les getters
  • Récupérer le pixel (Pixel) central courant de la forme (Form) ;
  • Récupérer la couleur (Color) de la forme (Form) ;
  • Récupérer le rayon de la forme ;
  • Récupérer l'orientation courante de la forme ;
  • Récupérer le membre real_length de la forme (Form) qui correspond au point le plus éloigné du centre (utilisable par exemple pour les collisions formes).

Il n'est pas toujours évident d'associer la notion de rayon à certaines formes.

Affichage des formes

Chaque type de forme (Form) a ses propres fonctions d'affichage (sinon vous pouvez vous servir de celle que vous désirez mais le résultat sera indéfini et vous aurez des surprises.
Pour chaque fonction d'affichage il existe une version anti-crénelage et une version pour assigner l'épaisseur du trait, excepté pour l'affichage en plein.

Longueur et distance entre 2 pixels
  • Mesurer la longueur d'une ligne (Line)
  • Récupérer le milieu d'une ligne (Line)

Enfin, cette extension à SDL2_gfx peut, de part sa structure, facilement être adaptée à d'autres bibliothèques que la SDL2.

Télécharger ce contenu au format Epub

Lire les commentaires

Formation OpenCL en contribuant à GIMP

1 février, 2016 - 09:36

L'encyclopédie Wikipédia introduit OpenCL ainsi:

OpenCL (Open Computing Language) est la combinaison d'une API et d'un langage de programmation dérivé du C, proposé comme un standard ouvert par le Khronos Group. OpenCL est conçu pour programmer des systèmes parallèles hétérogènes comprenant par exemple à la fois un CPU multi-cœur et un GPU. OpenCL propose donc un modèle de programmation se situant à l'intersection naissante entre le monde des CPU et des GPU, les premiers étant de plus en plus parallèles, les seconds étant de plus en plus programmables.

Il s'agit donc d'une API permettant d'améliorer les performances algorithmiques en parallélisant les calculs complexes sur les périphériques divers présents de nos jours sur les ordinateurs (CPU, GPU…).
Côté pilotes, le support de cette API sur Linux fut notamment détaillé il y a quelques jours dans un autre article. Si vous êtes plutôt intéressé par le côté "utilisation" d'OpenCL, pour l'intégrer par exemple dans vos propres programmes, la société StreamComputing lance l'initiative "OpenCL training" (en français: "formation OpenCL") proposant une formation gratuite (à distance, par Internet interposé), avec GEGL — le nouveau moteur de traitement d'image de GIMP — comme "support de cours".

La ruse est donc de vous faire contribuer à GEGL tout en vous enseignant la technologie OpenCL. Moi je dis que c'est "double victoire", mais certains pourraient prétendre que les libristes sont fourbes! :P

Offre limitée

Le but de l'initiative est d'enseigner OpenCL et d'y intéresser les développeurs. L'initiative accepte pour le moment un maximum de 20 participants (7 sont déjà inscrits).

"gratuit" n'existe pas

Le marché est le suivant: l'assurance qu'à la fin de la formation, vous saurez programmer OpenCL en échange de votre contribution à des projets libres utilisant OpenCL.

À ce jour, le "support de cours", c'est à dire le projet libre auquel vous contribuerez, est la plateforme de traitement d'image GEGL, utilisé notamment par GIMP, G'Mic, GNOME photos (voir cette très cool vidéo pour avoir un aperçu du futur de GNOME photos propulsé par GEGL), MyPaint…
Il est clairement indiqué sur la plateforme de développement (un projet sur Github) que GIMP/GEGL est le premier projet de portage officiel. D'autres projets similaires pourront donc voir le jour à l'avenir, dans le but d'enseigner OpenCL aux développeurs.

C'est donc un échange de service, plutôt que financier.

Organisation

Le projet est organisé par Vincent Hindriksen et Adel Johar qui souhaitent baser leur enseignement sur la gamification du développement en évaluant les vitesses d'exécution des kernels OpenCL (un kernel est une fonction OpenCL qui sera exécutée sur un périphérique) pour comparer des implémentations, et ainsi faire ressortir des "vainqueurs". Ils souhaitent également travailler l'optimisation des kernels pour pousser aux limites d'OpenCL.

On peut donc s'attendre à ce que les participants devraient bien connaître OpenCL à la suite de cette formation.

Victor Oliveira, le développeur GEGL qui a écrit la majeure partie du code OpenCL dans GEGL, participe au projet en tant que "conseiller".

À propos de StreamComputing

StreamComputing est une société néerlandaise de développement logiciel, apparemment spécialisé (en se référant au site web) à l'optimisation, aux algorithmes et à la connaissance matérielle.
Ils fournissent du service, de la consultation logicielle et des formations dans les domaines de la programmation GPU et du traitement parallélisé.

Note: l'auteur de cette dépêche n'a aucune relation avec cette société et ne la connaissait même pas avant cette annonce. Je ne fais que relayer l'information.

Télécharger ce contenu au format Epub

Lire les commentaires

Les membres du collectif Édunathon demandent l’annulation de l’accord entre Microsoft et l’Éducation

1 février, 2016 - 09:34

Les membres du collectif Édunathon ont demandé le jeudi 28 janvier 2016 l’annulation de l’accord entre Microsoft et l’Éducation Nationale française.

Le 30 novembre 2015, Madame Najat Vallaud-Belkacem, Ministre française de l’Éducation Nationale a signé un accord avec Microsoft France d’un montant de 13 millions d’euros pour fournir "gratuitement" ses logiciels et ses services, notamment en ce qui concerne :

  • L’accompagnement et la formation des élèves et des enseignants ;
  • La mise à disposition de solutions pour une utilisation « intelligente, facile et optimale » des équipements mobiles ;
  • Des solutions de « cloud » ;
  • Une expérimentation pour l’apprentissage du code ;
  • Une aide aux acteurs français de l’e-éducation.

La contrepartie informelle de cette offre apparemment généreuse est que la majorité des acteurs de l’éducation va désormais commencer à devoir s’équiper en technologies Microsoft, soit parce qu’ils y auront été formés, soit parce qu’ils auront été incités à utiliser le cloud et les autres services de Microsoft. Autrement dit, Microsoft est prêt à vendre à perte – voire à fournir ses services gratuitement – pour expulser les nombreuses entreprises françaises et européennes du secteur et acquérir une position la plus monopolistique possible sur le marché français de l’éducation. À l’heure où le gouvernement se bat péniblement pour imposer le principe « d’autonomie informationnelle » dans la loi numérique portée par Madame Axelle Lemaire, Secrétaire d'État chargée du Numérique, la situation est pour le moins étonnante.

Ainsi, les nombreuses entreprises françaises qui proposent des services concurrents dans le domaine de la formation, du cloud, des logiciels bureautiques, etc. se retrouvent brutalement exclues de ces marchés en raison du dumping mis en place par le Ministère. C’est d’ailleurs ce qui est en train de se produire au sein de nombreuses directions d’achat du Ministère de l’Éducation qui revoient leurs catalogues pour privilégier désormais les produits Microsoft. Même économiquement, l’équation est négative puisque de nombreux budgets de l’éducation dépendent des collectivités territoriales et non du Ministère lui-même. La gratuité revendiquée par la Ministre n’est qu’une illusion.

Unanimement dénoncé par le secteur, le choix du Ministère de ne pas suivre les procédures des marchés publics est incompréhensible – et ce d’autant plus que Microsoft France est une société coutumière des redressements fiscaux – 52,5 millions en 2014 et déjà 16,4 millions en 2015. En acceptant qu’un géant international du numérique fournisse gratuitement les mêmes services que ses compétiteurs locaux, en refusant de considérer qu’il s’agit de marchés ayant une valeur, le Ministère dévalorise d’un coup les années de travail de nombreux entrepreneurs et met en danger l’emploi de l’intégralité de ce secteur stratégique pour le futur. Qu’il s’agisse des prestations de formation, des cours de code, du cloud ou des logiciels de bureautique, ces services et ces produits auraient dû faire l’objet d’une mise en concurrence par le Ministère.

En refusant de la faire, en acceptant d’honorer une pratique déloyale et en signant un accord industriellement dangereux avec Microsoft France, la Ministre, Madame Najat Vallaud Belkacem s’est placée dans l’illégalité au regard du Code des marchés publics. À défaut d’annuler cet accord, elle risque là une condamnation pour atteinte à la liberté d’accès et à l’égalité des candidats dans les marchés publics (article 432-14 du Code Pénal), voire pour favoritisme (article 432-10 du Code Pénal).

C’est pour cette raison que les membres du collectif EduNathon ont choisi de porter l'affaire en justice. Cette action est engagée pour défendre le service public, pour préserver le droit des élèves et des enseignants à disposer de leurs données et de leur autonomie informationnelle, pour soutenir l’équité des entreprises et acteurs économiques du numérique, et notamment les jeunes entreprises émergentes françaises et européennes sur les grands chantiers portés par l’État français et les institutions publiques.

Quelques membres du collectif EduNathon :

  • Le CNLL (Conseil National du Logiciel Libre) regroupe 13 associations régionales d’Entreprises du Numérique Libre (ENL) et clusters dédiés aux logiciels libres et à l’open source. Le CNLL représente plus de 400 entreprises dont leurs cœurs de métiers sont les Logiciels Libres et/ou l’Open Source.

  • La Mouette est une association défendant l’économie sociale et solidaire par le biais notamment de l’utilisation des formats ouverts et de solutions bureautiques libres pour le poste de travail dans le monde professionnel, le monde éducatif, comme le monde privé à la maison. Elle regroupe des adhérents dans toute la France et le monde francophone, de type collectivités, prestataires engagés et particuliers.

  • Le Ploss-RA est l’association des professionnels du Numérique Libre de la région Auvergne Rhône-Alpes et membre fondateur du CNLL. L’association regroupe 40 entreprises. Elle a pour objectif de favoriser la coopétition entre ses membres afin de promouvoir et renforcer l’industrie du numérique Libre et Ouvert.

Télécharger ce contenu au format Epub

Lire les commentaires

Les pilotes graphiques libres : rétrospective et vue sur l’avenir

30 janvier, 2016 - 22:52

Cette année 2015 fut très riche et très excitante au sujet des pilotes graphiques libres. Grosse nouveauté, Mesa 3D 11 a été annoncée le 12 septembre 2015, avec une prise en charge d’OpenGL 4.2, après une très longue stagnation en version 3.3.

Cette dépêche fait donc la part belle aux récentes nouveautés de Mesa 3D, mais s’attarde aussi sur les actualités des puces graphiques embarquées, et se permet quelques incursions du côté de certains pilotes propriétaires dans leur collaboration avec les projets libres ou leurs initiatives qui profitent à tous.

Pour finir, nous nous permettrons d’annoncer quelques actualités à venir ayant pris racine en 2015.

Merci à tous les contributeurs de cette rétrospective !

Sommaire

Après des années de stagnation à n’annoncer que la prise en charge d’OpenGL 3.3, les développeurs de la bibliothèque Mesa 3D ont annoncé fin 2015 la prise en charge d’OpenGL 4.2 ! Actuellement, seuls les pilotes radeonsi et nouveau (pour les processeurs graphiques Fermi NVC0) prennent en charge OpenGL 4.1. Aucun pilote matériel ne prend encore en charge OpenGL 4.2 et les autres pilotes restent encore à OpenGL 3.3. Mais cela arrive vite ! Pourquoi un tel saut ? Qu’est‐ce que cela signifie ? Comment en profiter ? On fait le tour !

En attendant l’inclusion dans les dépôts officiels des distributions, les plus intrépides peuvent déjà bénéficier de toutes ces avancées en utilisant des dépôts tiers (comme les dépôts padoka et oibaf sur Ubuntu).

Nouveautés de Mesa 3D à la lumière du trio AMD, Intel & NVIDIA Un peu d’histoire

Pourquoi la pile graphique Mesa 3D est‐elle passée d’un coup de la prise en charge d’OpenGL 3.3 à OpenGL 4.1 sans passer par l’étape intermédiaire 4.0 ? En réalité, comme on peut le voir sur l’excellente page mesamatrix.net (merci Creak<), chaque version d’OpenGL est une liste de différentes extensions à implémenter. Or, elles ne sont pas nécessairement implémentées dans l’ordre, ou bien elles le sont dans un ordre différent de celui auquel on pourrait s’attendre.

C’est pourquoi, par exemple, on peut voir que le pilote Intel i965 a une certaine avance sur ses concurrents de chez NVIDIA et AMD concernant la prise en charge d’OpenGL 4.2 (les extensions 4.2 sont toutes implémentées), mais comme il lui reste à implémenter une extension 4.0 et une extension 4.1, il reste bloqué à la version 3.3. Il en était exactement de même pour les pilotes nouveau et radeonsi qui stagnaient en 3.3 malgré de nombreuses extensions 4.0 et 4.1 implémentées.

C’est pour cette raison que, bien que Mesa 3D annonce déjà la prise en charge d’OpenGL 4.2, en réalité, vous ne pourrez pas en bénéficier, car aucun pilote matériel n’est encore à ce niveau‐là…

Si Intel est encore en 3.3 (bouh, même les reverseux font mieux !), il faut tout de même noter qu’ils ont la liste d’extensions implémentées la plus complète, ils ont repris la tête du peloton après s’être fait temporairement doubler par le projet nouveau.

Si l’on est attentif, on remarque qu’en réalité Intel priorise la prise en charge d’OpenGL ES 3.1, qui regroupe un sous‐ensemble d’extensions communes à différentes versions d’OpenGL. On comprend donc pourquoi la prise en charge des extensions semble désordonnée malgré un grand nombre d’extensions développées… Intel est actuellement la seule plate‐forme à prendre entièrement en charge OpenGL ES 3.1, on ne peut pas être partout à la fois !

Pour bénéficier d’une prise en charge d’OpenGL supérieure à 3.3, il ne suffit pas d’utiliser une version récente de Mesa 3D, il faut que Mesa 3D ait été compilé avec une version récente de LLVM (plus de détails sont fournis ci‐après).

Mesa 3D 11.0

De gros changements du côté de Mesa 3D ont fait les titres à l’été 2015.

Le 23 juillet 2015, Dave Airlie a ajouté à Mesa 3D la prise en charge de l’extension ARB_shader_subroutine, qui était la dernière qui restait à implémenter pour que Mesa 3D annonce la prise en charge d’OpenGL 4.0. Au même moment, Ilia Mirkin envoyait du code pour la prise en charge du pavage (tesselation) pour les cœurs graphiques Intel, et Marek Olšák en faisait de même pour les cœurs et cartes graphiques AMD.

Mais cela ne s’arrêtait pas là, car à cet instant il ne manquait plus à Mesa 3D qu’une seule extension pour annoncer la prise en charge d’OpenGL 4.1 : GL_ARB_shader_precision, et une seconde extension pour annoncer la prise en charge d’OpenGL 4.2 : ARB_shader_image_load_store.

Tout cela est arrivé très vite : Dave Airlie annonça la prise en charge d’OpenGL 4.1 le 28 juillet, et l’extension ARB_shader_image_load_store fut ajoutée le 11 août. Ainsi, la liste des extensions nécessaires fut enfin complète pour annoncer la prise en charge d’OpenGL 4.2.

Jusque‐là, Mesa 3D n’annonçait donc que la prise en charge d’OpenGL 3.3. Certains proposaient de renommer Mesa 3D 10.7 en Mesa 3D 11, qui allait être distribué en septembre. Il faut dire que ça valait le coup ! Emil Velikov sanctionna cette numérotation le premier août et publia Mesa 3D 11.0 le 12 septembre.

Mais attention, le pilote Gallium3D radeonsi (le pilote qui gère les puces graphiques Radeon basées sur l’architecture Graphics Core Next, ou GCN) utilise un compilateur de shader construit à partir de LLVM. L’architecture GCN étant utilisée par toutes les cartes graphiques d’AMD depuis les Radeon HD 7xxx, pour prendre en charge OpenGL 4.0, Mesa 3D devait être compilé avec LLVM 3.6.2, tandis que pour OpenGL 4.1 et supérieur, Mesa 3D devait être compilé avec LLVM 3.7, qui était alors annoncée pour fin août. C’est finalement le premier septembre qu’Hans Wennborg a annoncé la publication de LLVM 3.7, ce qui a enfin permis au public libriste de bénéficier d’OpenGL 4.x.

Mesa 3D 11.1

Mesa 3D 11.1 voit l’arrivée d’un tout nouveau pilote nommé VirGL basé sur Gallium3D. Ce pilote permet à une machine virtuelle de bénéficier de l’accélération matérielle de la machine hôte. Pour en bénéficier, il faut utiliser un noyau Linux 4.4 (qui n’est sorti qu’en janvier 2016) et un QEMU récent.

Pour rester du côté de la virtualisation, le pilote VMware (VMWgfx) prend désormais en charge OpenGL 3.3.

Du côté de la bibliothèque de calcul intensif exécuté sur processeurs graphiques, OpenCL, le travail a commencé pour les cartes NVIDIA des générations Tesla NV50 et Fermi NVC0. Très peu de choses sont implémentées pour le moment, mais c’est encourageant.

Le pilote Intel permet désormais l’anticrénelage 16× MSAA (à partir des processeurs Skylake).

AMD a contribué à la gestion du décodage H.265/HEVC pour Gallium3D, accessible via l’interface VA-API.

Côté plate‐forme ARM, le pilote Freedreno prend désormais en charge OpenGL 3.1, et le pilote VC4 pour Raspbery Pi a été beaucoup retravaillé. Vous trouverez plus de détails concernant ces processeurs graphiques plus loin dans la dépêche.

Adaptive Scalable Texture Compression

Intel a publié en août 2015 du code pour prendre en charge le format ASTC à partir de la plate‐forme Skylake Gen9. ASTC, pour Adaptive Scalable Texture Compression est un format de compression de texture exempt de brevets destiné à remplacer S3TC (bardé de brevets, lui). Le principe de ces formats de compression est que la décompression est faite par la carte graphique elle‐même. Ainsi, à la différence, par exemple, d’une texture JPEG qui serait décompressée par le processeur généraliste (qui est donc mis à contribution) et qui serait ensuite envoyée décompressée à la carte graphique (ce qui consomme beaucoup de bande passante), la texture est envoyée directement compressée à la carte qui se charge de la décompresser elle‐même, économisant donc les ressources de calcul du processeur généraliste et la bande passante entre la mémoire centrale et la mémoire dédiée du processeur graphique. En plus d’être exempt de brevet, ce nouveau format est bien évidemment meilleur et a la bonne idée d’être officiellement pris en charge par les récentes spécifications OpenGL, OpenGL ES et DirectX. Les fabricants aussi expriment leurs enchantements concernant ce nouveau format, ASTC est donc le format du futur qui met tout le monde d’accord !

Progression de l’initiative amdgpu

En octobre 2014, lors de la XDC 2014 (X.Org developer conference), Alex Deucher a annoncé qu’AMD souhaitait augmenter le partage de code sous Linux entre le pilote libre et le pilote propriétaire. Pour cela, les développeurs allaient créer un nouveau pilote noyau nommé AMDGPU qui pourrait être utilisé aussi bien par le pilote libre Mesa 3D/Gallium3D que par un nouveau pilote propriétaire redistribué par AMD, la partie binaire et fermée étant limitée à l’espace utilisateur.

Le 20 avril 2015, Alex Deucher publie la version initiale du pilote amdgpu. Ce nouveau pilote est créé comme une copie du pilote radeon et est ensuite adapté pour gérer les particularités des nouveaux processeurs graphiques. Il peut gérer les puces CI (Sea Islands) pour tester le pilote, mais celui‐ci est prévu pour les nouvelles cartes (Volcanic Islands et suivantes). Le pilote a été intégré dans le noyau Linux 4.2 et reçoit depuis des améliorations à chaque nouvelle version du noyau. Par exemple, une nouvelle gestion de l’alimentation appelée powerplay, destinée à remplacer DPM (Dynamic Power Management), sera intégrée à la version 4.5 de Linux. Dans le même temps, la partie libdrm a été intégrée et le pilote Gallium3D radeonsi a été mis à jour pour gérer le pilote amdgpu. En revanche, à l’heure actuelle, il n’y a pas d’information sur la publication du pilote propriétaire qui sera basé sur le pilote amdgpu. Le pilote Vulkan d’AMD devrait dans un premier temps être seulement disponible pour Linux sous forme binaire, et il est possible que le premier pilote propriétaire basé sur le pilote amdgpu sera celui intégrant Vulkan.

Pendant ce temps, AMD a renommé sa suite de pilotes propriétaires et le centre de contrôle Catalyst Control Center en Radeon Software Crimson Edition. Si les utilisateurs de Windows bénéficient déjà de changements sensibles (amélioration des performances et nouvelle interface utilisateur), les utilisateurs de GNU/Linux ne voient que le même pilote et les mêmes outils sous un nouveau nom. Il est fort probable que ce pilote amdgpu fasse partie de cette nouvelle stratégie commerciale et que les améliorations promises par Crimson seront fournies lorsque le pilote propriétaire rebasé sur amdgpu sera publié. Tout comme le pilote amdgpu est prévu pour les cartes de dernière génération, la suite Crimson annonce ne prendre en charge que les cartes basées sur l’architecture GCN (Graphics Core Next), ce qui correspond à peu près au même périmètre.

NIR (New Intermediate Representation)

Le code GLSL des jeux ou applications 3D nécessite d’être compilé en langage machine avant de pouvoir être exécuté par les unités de shader du processeur graphique. Mesa 3D utilise une représentation intermédiaire appelé GLSL IR, mais celle‐ci a des défauts difficiles à résoudre. Dans le cadre d’un stage chez Intel, Connor Abbott avait travaillé sur un nouveau langage intermédiaire qui permet de mieux gérer le code des shaders et de meilleures optimisations. C’est ainsi que NIR est né.

Présenté a la XDC 2014 à Bordeaux, il a été intégré dans Mesa 3D en janvier 2015, grâce au travail de Jason Ekstrand de chez Intel (sa présentation de NIR sur la liste mesa-dev vaut la lecture). NIR a continué de mûrir tout au long de l’année et un nombre croissant de pilotes l’utilisent désormais. NIR est aujourd’hui utilisé par défaut par le pilote Intel, le pilote VC4 (Raspberry Pi 1 et 2) et le pilote Freedreno.

Un convertisseur SPIR-V vers NIR est également en cours de développement. SPIR-V est un format standard de représentation intermédiaire de shader. C’est un format en bytecode pré‐optimisé qui est ou sera utilisé par OpenCL 2.1 et Vulkan. Avec OpenGL, les shaders GLSL sont fournis au pilote 3D en format texte, le pilote doit donc embarquer un analyseur de texte, un optimiseur de code et enfin un compilateur pour générer le code machine. Avec SPIR-V, le pilote n’a plus besoin que du compilateur final (et éventuellement d’un petit optimiseur), ce qui est plus léger à la fois en empreinte mémoire et en temps de calcul.

Lentement mais sûrement

Vous vous souvenez peut‐être de la campagne de financement participatif visant à salarier Timothy Arceri (il n’en est pas à son coup d’essai) pour travailler sur l’implémentation de l’extension Array of array (prérequis de OpenGL ES 3.10 et GLSL 4.30) ? Cela a été long, mais le travail n’a pas été abandonné ! Ce dernier travail de Timothy a été fusionné dans Mesa 3D et la première à en bénéficier est la plate‐forme Intel (depuis le 4 novembre), les autres plates‐formes devraient suivre sous peu. Tout cela a mis beaucoup de temps parce que le processus de revue pour inclusion est assez lent mais, bonne nouvelle, Timothy annonçait en septembre qu’à partir de novembre, il serait embauché par Collabora pour travailler à temps plein sur Mesa 3D. Sa priorité désormais est de travailler sur l’extension GL_ARB_enhanced_layouts, une extension OpenGL 4.4.

Côté OpenCL, beaucoup de choses sont encore à faire… Comme indiqué précédemment, le développement pour nouveau est balbutiant. Du côté de radeonsi, la version 1.1 de la norme est exploitable, mais la prise en charge des images n’y est pas fonctionnelle. En revanche, le développement de Beignet (Intel) est assez actif, mais a lieu en dehors de Mesa 3D. Pour le moment, si vous souhaitez bénéficier de l’OpenCL (par exemple avec Darktable), il vous faudra encore vous tourner vers les pilotes propriétaires pour les cartes autres qu’Intel. On peut cependant noter que Clover intègre déjà certaines fonctionnalités de la norme 1.2, par exemple clCreateImage. Espérons que les choses seront plus encourageantes en 2016 !

Évolution du côté de l’écosystème ARM

Les systèmes monopuces (System On a Chip) ont la particularité d’avoir un découpage explicite en modules des fonctionnalités fournies ensemble par les processeurs graphiques d’ordinateurs de bureau. Là où, grâce à un seul pilote, un processeur graphique de bureau prend en charge la gestion de l’affichage (sortie vidéo), les accélérations 2D et 3D, ainsi que les accélérations de l’encodage et du décodage vidéo, les systèmes monopuces ARM ont souvent des modules et pilotes séparés pour les différentes parties. Modules qui peuvent même venir de concepteurs différents.

De nombreux moteurs d’affichage utilisés par les systèmes monopuces ARM ont un pilote développé en amont dans le noyau Linux, et de nouveaux pilotes sont régulièrement intégrés. On peut citer omap, imx, etc. Mais beaucoup de modules d’accélération 2D/3D ont un pilote intégré ; pour l’instant, il y a le pilote freedreno, tandis qu’un pilote etnaviv est en développement pour une intégration prochaine (peut‐être pour le noyau 4.5 ?).

Freedreno

Les processeurs graphiques Adreno des systèmes monopuces Snapdragon de Qualcomm utilisent un pilote nommé freedreno. Le développement de ce pilote libre a été démarré en rétro‐ingénierie par Rob Clark pendant son temps libre ; Rob a ensuite été embauché par Red Hat pour continuer de travailler dessus et sur la pile graphique Linux par la même occasion. Les processeurs graphiques Adreno ont une base commune avec les processeurs graphiques Radeon (Qualcomm a racheté la branche processeurs graphiques mobiles d’AMD), le fait que les Radeon aient un pilote libre et de la documentation publique aurait aidé la rétro‐ingénierie. Aujourd’hui, le pilote progresse bien, il est actuellement capable de gérer jusqu’à OpenGL ES 3.0 (pour le matériel qui le prend en charge), reçoit la participation de Qualcomm et la prise en charge des nouveaux processeurs graphiques est intégrée peu à peu. Un travail est également en cours pour que ce pilote marche avec Android, et peut‐être même deviendra‐t‐il un jour le pilote officiel pour Android ?

Etnaviv

Les modules d’accélération 2D/3D vectoriels de Vivante sont pris en charge par le pilote libre etnaviv. Les processeurs graphiques Vivante bénéficient d’un pilote noyau libre qui utilise l’API fbdev (mais qui n’est pas intégré au noyau Linux en amont) et d’une partie propriétaire en espace utilisateur.

Initialement nommé etna_viv, le projet a été lancé par Wladimir J. van der Laan et rendu public au début de l’année 2013. Il a créé un pilote libre en espace utilisateur par rétro‐ingénierie. Ensuite, Christian Gmeiner a pris le relai pour créer un pilote noyau KMS et DRM, mais y travaillant uniquement sur son temps libre, la progression était lente. Heureusement, au printemps 2015, Lucas Stach a diffusé une série de modifications correspondant à un pilote KMS. Ce pilote a été créé sur la base du travail de Christian et activement développé par Russell King (Le mainteneur ARM dans le projet Linux) et Lucas dans le cadre de son travail chez Pengutronix.

Plusieurs mises à jour ont depuis été diffusées sur la liste de diffusion dri-devel, et le code pour la libdrm et Mesa 3D (Gallium3D) progresse avec le travail de Christian, Russell et Lucas. D’ailleurs, Christian maintient sur son profil GitHub un dépôt libdrm et un dépôt Mesa 3D. Les précédentes diffusions sur la liste de de diffusion dri-devel du noyau Linux avaient seulement pour but de recueillir des retours des autres développeurs de pilotes DRM, mais le 4 décembre une série de correctifs de la partie noyau du pilote a été diffusée pour relecture dans le but, cette fois, d’avoir une intégration dans la branche principale. Une deuxième version avec quelques corrections a été diffusée le 9 décembre, et le 15 décembre une demande d’intégration dans le noyau 4.5 a été diffusée sur la liste de diffusion dri-devel.

On est donc en bonne voie de pouvoir utiliser une Fedora avec bureau GNOME 3 (par exemple) de façon fluide sur une Wandboard ou une Cubox-i dans les mois à venir (ou autre utilisation d’OpenGL).

VC4

Le processeur graphique des Raspberry Pi (1 et 2) est le VC4. Broadcom a embauché Eric Anholt pour travailler sur un pilote libre (KMS/DRM + Mesa 3D/Gallium3D). Côté Mesa, le pilote Gallium3D vc4 est intégré en amont depuis quelque temps et continue d’évoluer. Côté noyau, une première version du pilote a été intégrée dans la version 4.4, cette première version permet la prise en charge du module de gestion de l’affichage. Le code permettant l’accélération 3D devrait être intégré dans la version 4.5.

PowerVR

Nous n’avons pas d’informations sur un éventuel pilote libre pour processeur graphique PowerVR, mais Imagination cherche un programmeur pour travailler sur un pilote Linux (espérons que ce soit un pilote libre)…

Lima & Tamil

Les processeurs graphiques Mali (venant directement d’ARM) ont pour eux le projet libre de pilote Lima. Bien qu’ayant démarré début 2012 et ayant bien progressé (il a réussi à faire fonctionner Quake III Arena), le projet est en pause depuis plus de deux ans. La dernière nouvelle sur le site officiel était de mars 2013, mais un appel à contribution est apparu le 20 décembre 2015, signifiant peut‐être un redémarrage du projet (en tout cas une certaine volonté). Il semblerait qu’ARM ne le voyait pas d’un très bon œil, en effet sur le blog de Luc Verhaegen on peut lire une publication datant du 23 avril 2015 :

In May 2013, I wrote another proposal to ARM for an open source strategy for Mali (the first was done in Q2 2011 as part of Codethink), hoping that in the meantime sentiments had shifted enough and that the absence of an in‐between company would make the difference this time round. It got the unofficial backing of some people inside ARM, but they just ended up getting their heads chewed off, and I hope that they didn’t suffer too much for trying to do the right thing. The speed with which this proposal was rejected by Jem Davies (ARM MPD VP of Technology), and the undertone of the email reply he sent me, suggests that his mind was made up beforehand and that he wasn’t too happy about my actions this time either.

Traduction :

« En mai 2013, j’ai écrit une nouvelle proposition à ARM à propos d’une stratégie open source pour Mali (la première avait été faite au 2e trimestre 2011 dans le cadre de Codethink), espérant qu’entretemps en l’absence de société intermédiaire, leur point de vue aurait significativement évolué. Elle a reçu un soutien non officiel de gens chez ARM, mais ils ont juste obtenu le droit de se taire, et j’espère qu’ils n’ont pas trop souffert d’avoir essayé de faire le bon choix. La vitesse avec laquelle ma proposition a été rejetée par Jem Davies, et le ton de son courriel de réponse, suggérait que son opinion était déjà faite et qu’il n’était toujours pas très emballé par mes actions. »

Sur ce même blog, on peut lire que l’écriture du pilote Mali lui a causé beaucoup de déboires ; il soupçonne même que son renvoi d’une société fût causé par le lobbying d’ARM :

When Codethink ran into a cashflow issue in October 2012 (which apparently was resolved quite successfully, as Codethink has grown a lot more since then), I was shown the door. This wasn’t too unreasonable a decision given my increasing disappointment with how Lima was being treated, the customer projects I was being sent on, and the assumption that a high profile developer like me would have an easy time getting another employer. During the phonecall announcing my dismissal, I did however get told that ARM had already been informed about my dismissal, so that business relations between ARM and Codethink could be resumed. I rather doubt that that is standard procedure for dismissing people.

Traduction :

« Quand Codethink a eu des problèmes de trésorerie en octobre 2012 (qui apparemment ont été plutôt bien résolus, puisque Codethink s’est beaucoup développé depuis), on m’a mis à la porte. Cela n’était pas une si mauvaise décision vue ma déception grandissante quant à la manière dont a été traité Lima, les projets client sur lesquels j’ai été envoyé, et en considérant qu’un développeur hautement qualifié comme moi aurait de la facilité à trouver un autre employeur. Pendant la conversation téléphonique annonçant mon licenciement, on m’a cependant laissé entendre qu’ARM avait déjà été informé de mon départ, de telle sorte que les relations commerciales entre ARM et Codethink pourraient être restaurées. Je doute que ce soit une procédure standard de licenciement. »

Tout cela est vraiment dommage, car on peut trouver ce processeur graphique dans une multitude de systèmes monopuces comme, par exemple, les Allwiner A10 et A20, la majorité des Exynos… Luc Verhaegen, l’auteur des pilotes Lima et Tamil (pour les processeurs graphiques Mali T-Series), explique qu’il n’est plus aussi motivé pour nettoyer et faire évoluer le code de ces pilotes. Lima et Tamil existent, mais seul Lima est sorti. Personne n’est suffisamment intéressé pour l’embaucher et financer le travail sur ces pilotes. Beaucoup de monde (personnes, entreprises, organisations) lui expliquent que cela ne sert à rien et que l’existence d’un pilote libre pourrait même être contre‐productif. Linaro, une organisation dont le but est de faire tourner Linux sur ARM, explique qu’elle compte sur le soutien d’ARM pour avancer ; mais Linaro (et certainement d’autres…), ne voulant pas se fâcher avec ARM, ne veut pas subventionner Luc Verhaegen.

En tout cas, une chose est sure, c’est que le manque de soutien général l’a réellement démotivé pendant pas mal de temps (au moins deux ans), mais il semblerait que cette période soit passée, peut‐être travaillera‐t‐il à nouveau sur Lima :

When I was putting together the FOSDEM Graphics DevRoom schedule around christmas, I noticed that there was a inexcuseably low amount of talks, and my fingers became itchy again. The consulting job had boosted morale sufficiently to do some code again and showing off some initial renders on Mali T series seemed doable within the 5 or so weeks left. It gave the FOSDEM graphics devroom another nice scoop, and filled in one of the many many gaps in the schedule. This time round i didn’t kid myself that it would change the world or help boost my profile or anything. This time round, i was just going to prove to myself that i have learned a lot since doing Lima, and that i can do these sort of things still, with ease, while having fun doing so and not exerting myself too much. And that’s exactly what I did, nothing more and nothing less.

Traduction :

« Lorsque j’étais en train de mettre sur pieds le programme de la conférence des développeurs de pilotes graphiques pour le FOSDEM aux environs de Noël, j’ai remarqué qu’il y avait un manque inexcusable de conférences, et mes doigts se mirent à nouveau à me démanger. Le travail de consultant a suffisamment renforcé mon moral pour coder à nouveau et présenter quelques rendus initiaux sur le Mali série T semblait faisable dans les quelque cinq prochaines semaines restantes. J’ai donné à l’assemblée des développeurs de pilotes graphiques du FOSDEM un scoop sympa, et rempli une des très nombreuses lacunes du programme des conférences. Cette fois, je ne voulais pas jouer à changer le monde ou me faire mousser, mais je voulais me prouver que j’avais beaucoup appris depuis que j’avais travaillé sur Lima, et que je pouvais encore faire ce genre de choses, avec facilité, tout en prenant du plaisir à le faire et sans trop me surmener. Et c’est exactement ce que j’ai fait, ni plus ni moins. »

Malgré tout, les choses avancent dans la prise en charge des Mali sur Linux. Phoronix avait publié un petit état des lieux en avril, à défaut de code, il faudra s’en contenter pour le moment.

Tegra

Les systèmes monopuces de la gamme Tegra semblent avoir leur pilote principal de moteur d’affichage nommé tegra, et NVIDIA a travaillé pour utiliser Nouveau pour les Tegra K1 et X1. Ces systèmes monopuces utilisent des processeurs graphiques directement dérivés de leurs homologues dédiés aux ordinateurs de bureau (respectivement les architectures Kepler et Maxwell). Pour les systèmes monopuces plus anciens Tegra 1 à 4, il existe une documentation partielle, un pilote libre (grate) existe.

Allwinner

Le pilote du moteur d’affichage des systèmes monopuces Allwinner est développé par un employé de Free Electrons. En revanche, la partie accélération 3D est gérée par des modules Mali de chez ARM ou PowerVR de chez Imagination Technologies, qui ne possèdent pas de pilotes libres. Ses pilotes sont nommés sun4i et sunxi dans le noyau Linux.

Les attentes de l’année 2016 Vulkan

Vulkan est une API poussée par le groupe Khronos (les mêmes derrière OpenGL) qui a pour but affiché de remplacer OpenGL dans le futur et de proposer dès maintenant une interface plus moderne. Vulkan se veut multi‐plate‐forme. Il est soutenue par de nombreux acteurs majeurs du marché, et annonce de bien meilleures performances qu’OpenGL (voir la page Wikipédia Vulkan pour plus de détails et de vulgarisation en français). Connue initialement sous le nom de code glNext, Vulkan a été annoncé lors de la Game Developers’ Conference de 2015. La publication des spécifications était attendue pour fin 2015, mais cela ne devrait plus tarder ! Cependant, si nous savons que certains pilotes propriétaires seront publiés avec la prise en charge de Vulkan dès la publication des spécifications, il faudra certainement attendre plus de temps pour en voir une implémentation dans les pilotes Mesa 3D.

Mesa 3D 11.2 : quelques prédictions

Intel est en train de rattraper son (apparent) retard, mais les nouveautés intéressantes sont arrivées trop tard pour faire partie de la version 11.1, comme le code pour le pavage (tesselation), pourtant déjà fonctionnel chez Intel.

Du côté des radeon R600, le code pour le pavage est là aussi.

Chose très intéressante, il ne manquera plus que deux extensions (GL_ARB_vertex_attrib_64bit et GL_ARB_gpu_shader_fp64) pour que le pilote Intel fasse le grand saut depuis OpenGL 3.3 vers OpenGL 4.2. Vivement Mesa 3D 11.2 !

Du côté de chez AMD, les cartes de la génération R600 et celles prises en charge par le pilote radeonsi n’attendent plus que les deux extensions GL_ARB_shader_atomic_counters et GL_ARB_shader_image_load_store pour passer d’OpenGL 4.1 à OpenGL 4.2. Il en est de même pour les cartes NVIDIA de la génération NVC0. Quel pilote activera la gestion d’OpenGL 4.2 le premier ? Intel va‐t‐il laver l’affront ? La course est serrée !

En revanche, nous le savons déjà, les puces graphiques NV50 n’arriveront jamais à l’OpenGL 4 de par leurs limites matérielles… Dommage, mais que cela ne gâche pas la fête : Mesa 3D 11.2 est très attendu !

OpenGL Vendor Neutral Dispatch Library

Le 30 septembre 2015, Kyle Brenneman a annoncé son projet libglvnd (OpenGL Vendor Neutral Dispatch Library) sur la liste de diffusion mesa-dev en vue d’une intégration. C’est une initiative poussée par NVIDIA depuis 2013 et qui semble plutôt bien vue par Mesa 3D, mais à quoi cela sert‐il ? Cela servirait à pouvoir utiliser plusieurs implémentations d’OpenGL en même temps, par exemple la pile OpenGL Mesa 3D sur un écran et la pile propriétaire nvidia sur un autre. Aaron Plattner de chez NVIDIA a publié un premier pilote (bêta) compatible libglvnd le 5 janvier. Cela ne concerne que le pilote propriétaire NVIDIA pour le moment, mais AMD ne cache pas son intérêt et l’on a hâte que libglvnd fasse son petit bout de chemin dans Mesa 3D, et que cela profite à d’autres, ce qui semble bien parti.

GPUOpen

AMD a annoncé en décembre 2015 l’initiative GPUOpen qui vise à concurrencer GameWorks de NVIDIA. L’idée de GPUOpen est un partage de code source libre d’un maximum de ressources logicielles (exemples, démos, librairies). Lors du lancement le 26 janvier 2016, du code a commencé à être publié sur GitHub. Plus de détails peuvent être trouvés dans le journal de freejeff et ses commentaires.

OpenSWR

Intel travaille sur un nouveau rasterizer logiciel nommé OpenSWR et concurrençant LLVMPipe. Un rasterizer est un logiciel de rendu graphique développé pour se satisfaire d’un processeur généraliste. Bien que forcément moins performant qu’un processeur graphique dédié, cela permet par exemple de simplifier les procédures de test de rendu graphique. Timothy Rowley de chez Intel a annoncé ce projet le 20 octobre dernier (l’annonce est très détaillée et vaut le détour), on retiendra que l’équipe derrière ce projet n’est pas la même que celle développant les pilotes des processeurs graphiques chez Intel et que, contrairement à ce dernier, OpenSWR se base sur Gallium3D. OpenSWR annonce de bien meilleures performances que LLVMpipe (OpenSWR répartit notamment plus de tâches entre les cœurs), et est lui aussi basé sur LLVM. OpenSWR fait partie du projet Software Defined Visualization et le code est libre, bien entendu.

Bientôt de gros changements du côté des performances chez radeonsi ?

Grosse surprise de fin d’année 2015, le SI Machine Scheduler, un nouvel ordonnanceur expérimental créé par Axel Davy a fait parler de lui : une fois activé, le pilote libre radeonsi surpasserait Catalyst sur toute la ligne. Cet ordonnanceur est encore expérimental, mais on attend son intégration pour 2016 avec impatience !

Comme l’a écrit darkbasic dans un article qui compare radeonsi et Catalyst :

Catalyst got completely humiliated! Radeonsi is so much faster that I will no longer consider Catalyst as a reference for future performance improvements: we aim at the Nvidia performance now.

Traduction :

« Catalyst s’est fait complètement humilier ! Le radeonsi est tellement plus rapide que, dorénavant, je ne considérerai plus Catalyst comme une référence pour les futures améliorations de performances : maintenant nous visons les performances du pilote nvidia. »

N. D. M. : pondération de l’auteur quelques semaines plus tard :

« As I stated on IRC, the boost was largely due to a big regression reverted in Mesa while doing the first test. Only a little boost is accountable for the SI scheduler. »

Traduction :

« Comme je l’ai écrit sur IRC, le gain était largement dû à une grande régression corrigée dans Mesa 3D pendant mon premier test. Seul un petit gain est imputable à l’ordonnanceur SI. »

L’année 2016 est déjà là, et elle s’annonce comme une année très excitante !

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 5 de l'année 2016

30 janvier, 2016 - 18:57

Calendrier web, regroupant des évènements liés au Libre (logiciel, salon, atelier, install party, conférence) en France, annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 24 événements est en seconde partie de dépêche.

Sommaire Agenda du Libre pour la semaine 5 de l'année 2016 [Kunheim] Formation Linux - Le lundi 1 février 2016 de 18h00 à 22h00.

Tous les lundis à partir de 18h00 jusqu'à 22h00 venez découvrir ou vous former sur Linux et les logiciels libres.
Ces séances de formation ont lieu à la salle "Kegreiss" au 56 rue principale - Kuhneim - face à la mairie - cette salle est accessible aux personnes à mobilité réduite.
Nous vous attendons nombreux. Le Team Linux

[Gardanne] Atelier Linux embarqué - Du mardi 2 février 2016 à 09h00 au jeudi 4 février 2016 à 17h00.

Si Linux s'impose largement dans le développement d'applications embarquées, son adoption par les PME peut nécessiter une phase d'apprentissage car il diffère largement des Operating Systems traditionnels du monde de l'embarqué (RTOS propriétaires).
Le programme Captronic, dont la mission est de faciliter l'adoption de l'électronique et du logiciel embarqué dans les PME, propose donc un atelier consacré à Linux embarqué.
La prochaine édition, animée par CIO Systèmes Embarqués, aura lieu à Gardanne (13) du 2 au 4 Février 2016.

[Paris] Plénière du GTLL (Logiciel libre et Systèmes d'information) - Le mardi 2 février 2016 de 15h00 à 18h00.

Le Groupe thématique Logiciel libre organise sa plénière semestrielle comme lieu de rencontre de ses membres (entreprises et laboratoires de recherche oeuvrant dans le libre et l'open source) pour faire émerger des projets de R&D collaboratifs pouvant aboutir à la commercialisation - si possible au niveau mondial - d'un ou plusieurs produits issus d'une R&D collaborative.

[Reims] Atelier Vie-Privée - Le mardi 2 février 2016 de 18h30 à 20h00.

De septembre 2015 à juin 2016, un Mardi soir par mois, l'association LoLiCA anime un «Atelier Vie-Privée».
Le but est d'expliquer de façon très accessible les problématiques autour de la Vie Privée dans notre monde numérique, et des solutions à apporter pour pouvoir la préserver.
Le mardi 2 février 2016 de 18h30 à 20h30

[Le-Bourget-du-Lac] Mapathon Missing Maps - Le mercredi 3 février 2016 de 17h30 à 21h00.

Venez découvrir comment contribuer à OpenStreetMap, le "Wikipedia de la carte", durant un « mapathon » !
(un événement convivial où l'on se retrouve pour cartographier, échanger et apprendre à utiliser les outils permettant de contribuer à OSM).
Cet événement s'inscrit dans le cadre de l'initiative globale Missing Maps, projet humanitaire qui vise à cartographier en amont les parties du mondes vulnérables aux catastrophes naturelles, crises sanitaires, environnementales, aux conflits et à la pauvreté.

[Toulouse] Rencontre Logiciels Libres - Le mercredi 3 février 2016 de 19h30 à 22h30.

L'association Toulibre organise une rencontre autour des Logiciels Libres le mercredi 03 février, de 19h30 à 22h30 au Centre Culturel Bellegarde, 17 rue Bellegarde à Toulouse.
Pendant toute la soirée, venez poser vos questions au sujet du Logiciel Libre et trouver de l'aide pour installer ou utiliser des Logiciels Libres sur votre ordinateur.
Pour cela, vous pouvez si besoin apporter votre ordinateur, un accès Internet est disponible sur place.

[Magny le Hongre] Formation MAO "LMMS" Part2 - Le mercredi 3 février 2016 de 20h00 à 23h00.

MODULE « Logiciel de MAO - LMMS » : la présence aux 2 ateliers est requise.
Module 1 : LES CUIZINES : Mercredi 27 janvier 2016 – Gratuit – 20h-23h Module 2 : FILE7 : Mercredi 03 février 2016 – Gratuit – 20h-23h
ATELIER « LMMS » Intervenant : Yann COLLETTE

[Martigues] le traitement de l'image : Gimp - Le jeudi 4 février 2016 de 18h00 à 19h30.

L’association ULLM (les Utillisateurs de Logiciels Libres du Pays Martégal) en collaboration avec ECM vous présente le programme de ses ateliers du première trimètre 2016.
Le jeudi 4 février de 18h00 à 19h30
Le traitement de la photo avec Gimp.

[Paris] Atelier Javascript - Le jeudi 4 février 2016 de 19h00 à 21h00.

Atelier Back to Basics : Silex Labs décrypte Javascript ES2015
Dans la série des ateliers Back to Basics, série d’ateliers pour découvrir les technologies et méthodologies du web Silex Labs vous convie à un atelier Javascript pour découvrir les nouveautés de l’ES2015.
À propos de Javascript

[Lyon] Jeudi du Libre - Le jeudi 4 février 2016 de 19h00 à 21h00.

L'Association Lyonnaise pour le Développement de l'Informatique Libre (ALDIL) organise une soirée de conférence débat sur le thème suivant : *« Et si on dégooglisait internet ? *»
L’emprise de Google, Apple, Facebook, Amazon ou Microsoft ne cesse de croître. Non seulement sur internet, mais aussi dans bien d’autres domaines (robotique, automobile, santé, presse,média, etc). L’association Framasoft s’est fixée l’ambitieuse mission de montrer qu’il était possible – grâce au logiciel libre – de résister à la colonisation d’internet et à marchandisation de notre vie privée.
Entrée Libre. Tout Public.

[Le Mans] Autour d'un verre autour du Libre - Le jeudi 4 février 2016 de 19h00 à 22h30.

Libristes, hackers, pasionnés ou néophites, ou même simplement curieux, voici venu le 1er jeudi du mois.
Le HAUM (Hackerspace AU Mans) et LinuXMaine (Association de promotion du logiciel libre en Sarthe) vous donnent rendez-vous "autour d'un verre autour du libre", à partir de 19h à l'épicerie du pré, 31 Rue du Pré, 72100 Le Mans.
En mode free, à partir de 19h, vous pouvez venir accompagné, avec des bidouilleries, avec de la presse spécialisée, avec un ordi, avec des questions, avec votre curiosité, etc…

[Rennes] Apéro du Libre - Le jeudi 4 février 2016 de 19h00 à 22h00.

L'association Actux vous donne rendez-vous pour un nouvel Apéro du Libre, jeudi 4 février 2016 à partir de 19h, au Papier Timbré, 39 rue de Dinan à Rennes (au croisement de la rue d'Échange).
Les Apéros du Libre sont des rencontres conviviales autour d'un verre, pour discuter, échanger et parfois troller entre utilisateurs et curieux de logiciels et culture libres.
L'apéro est traditionnellement ponctué d'un quiz sans enjeu autour du Libre.

[Lyon] Atelier Libre - Le jeudi 4 février 2016 de 19h00 à 21h00.

L'Association Lyonnaise pour le Développement de l'Informatique Libre organise un atelier pratique et de partage de connaissances.
Nous faisons appel à vous pour le choix du thème de l'atelier : Bureautique, multimédia (montage vidéo, retouche photos..)…
Un pad avec des idées de propositions a été créé à cette adresse : https://bimestriel.framapad.org/p/atelierlibre-themes .

[Paris] Soirée de Contribution au Libre - Le jeudi 4 février 2016 de 19h30 à 23h00.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.
Nous nous réunissons donc tous les jeudis soirs dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies)).
Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

[Paris] Les Nouveaux Loups du Web, ciné débat - Le jeudi 4 février 2016 de 20h00 à 23h00.

Projection du film suivie d’un débat avec André Reinald de la Fondation Mozilla et Frédéric Urbain de l’association Framasoft.
Vérifiez l’horaire.
Lieu : Espace saint Michel 7 place Saint-Michel 75005 Paris

[Montpellier] Formation sécurité informatique et cryptographie - Le vendredi 5 février 2016 de 09h00 à 13h00.

Montpel’libre a le plaisir de vous proposer un nouveau cycle de formation, cryptographie et sécurité informatique.
Merci d’avoir choisi de participer aux ateliers « Sécurité Informatique et Cryptographie » organisés par Le Club de la Presse et Montpel’libre. Les trois ateliers auront lieu les mercredis 5, 12 et 19 février 2016 de 9h00 à 13h00 à l’Atelier des Pigistes du Club de la Presse de Montpellier.
Formation Crypto, séance de préparation, premier module :

[Villeneuve d'Ascq] Libre à Vous - Le samedi 6 février 2016 de 09h00 à 12h00.

Vous souhaitez tester GNU/Linux sur votre ordinateur, vous recherchez un logiciel pour une fonction précise, des conseils ou de l'aide sur les logiciels libres ?
Libre à Vous est une permanence destinée à vous faciliter l'utilisation de l'informatique. Vous repartirez avec « le plein » de logiciels libres, fiables, évolutifs, performants et gratuits.
C'est chaque samedi matin au Centre d'Infos Jeunes à la ferme Dupire, 80 rue Yves Decugis à Villeneuve d'Ascq (métro Triolo) de 9h00 à 12h00.

[Beauvais] Initiation à Joomla! - Le samedi 6 février 2016 de 09h00 à 12h00.

En collaboration avec la MAJI (Maison des Associations de la Jeunesse et des Initiatives) et le Blog-Argentine, l'association Oisux propose 4 samedis du Libre en 2016 à Beauvais au 28 rue de Gascogne.
Formations gratuites, 9h30 à 12h00.
Au programme :

[Aix-en-Provence] Samedi Libre - Le samedi 6 février 2016 de 10h00 à 18h00.

Ces Samedis libres sont organisés par l'Axul en collaboration avec plusieurs associations de logiciels libres des Bouches-du-Rhône (et souvent du Var).
Ils proposent des présentations générales et une aide technique pour le dépannage et la mise à jour d'ordinateurs avec des logiciels libres. Ils présentent aussi des démonstrations de matériels libres.
Adresse : Centre Social et Culturel des Amandiers, 8 allée des Amandiers, Jas-de-Bouffan (cliquer sur ce dernier lien pour avoir un plan détaillé).

[Annemasse] Install Party GNU/Linux - Le samedi 6 février 2016 de 11h00 à 17h00.

Nous sommes fiers de vous annoncer notre prochaine manifestation qui se déroulera cette fois ci côté français, le samedi 6 février à Annemasse de 11h à 17h.
Notre atelier consiste en l'installation de systèmes d'exploitation libres sur des ordinateurs apportés par le public.
Comme précédemment, nous vous invitons à venir avec un ordinateur prêt à être réinstallé - données préalablement sauvegardées sur un disque dur externe - qui sera ensuite pris en charge par nos soins.

[Fontenay-le-Fleury] Cinq bonnes raisons de choisir les logiciels libres - Le samedi 6 février 2016 de 14h00 à 17h00.

Root66 inaugure sa nouvelle saison de conférences et d'ateliers par une présentation traitant des logiciels libres et de Linux, avec comme fil conducteur cinq bonnes raisons de faire ces choix.
Au menu : explication des notions basiques telles que logiciels libres, open source, logiciels propriétaires, etc… De nombreux exemples de logiciels dits "libre" seront présentés comme alternatives à leurs versions propriétaires et payantes.
Une séance de questions/réponses conclura la conférence.

[Paris] Premier Samedi du Libre - Le samedi 6 février 2016 de 14h00 à 18h00.

Chaque premier samedi de chaque mois, les bénévoles des associations du Libre vous accueillent au Carrefour Numérique² de la Cité des sciences et de l'industrie (CSI) lors de l'install party du Premier Samedi du Libre (PSL).
L'install party du Premier Samedi du Libre aura lieu le 6 février 2016 de 14h à 18h au Carrefour Numérique², niveau -1 de la Cité des sciences et de l'industrie, Paris 19e.
Venez aider ou vous faire aider à installer et paramétrer des logiciels libres et toute distribution GNU/Linux avec les associations d'utilisateurs de Fedora, Mageia, Ubuntu ou Debian, sur netbook, portable, ou tour, PC ou Mac, éventuellement à côté de votre système actuel. Idem si vous avez des difficultés avec un périphérique, ou un logiciel libre.

[Paris] Numérique et Juridique - Le samedi 6 février 2016 de 14h30 à 18h00.

Atelier de réflexion sur les liens entre le numérique et le juridique:
Contenus définitifs en cours de validation.
accès au numérique, réappropriation via le Libre, propriétés monopolistiques, …—droit et obligations …ou comment d'un droit d'accès à des contenus partagés on arriva à des obligations d'utilisations (pour des actes administratifs ou de la vie quotidienne, avec des outils normés voire monopolistiques et une durée de vie écourtée, sans interopérabilité)

[Brignoles] Dimanche du Libre - Le dimanche 7 février 2016 de 10h00 à 19h30.

Les membres de l'association GULLIVAR (Groupe d'Utilisateurs de Logiciels Libres de l'Intérieur du Var) vous invitent au dimanche du Libre de Brignoles, le dimanche 7 février 2016, dans la salle des Saint Anges, chemin de San Sumian à Brignoles.
Programme de la journée du 7 février 2016.
10h, ouverture de la salle (matinée libre, configuration des pc, install-party, etc..).

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 3 de SOGo

30 janvier, 2016 - 18:56

Inverse, société spécialisée en développement et déploiement de logiciels libres, annonce la sortie de la version 3 de SOGo.

SOGo est un collecticiel (groupware) libre (GPLv2) axé sur l’extensibilité et le respect des standards ouverts. Il permet aux utilisateurs Mozilla Thunderbird / Lightning, Apple Calendar/Contacts (OS X et iOS) et Microsoft Outlook de collaborer dans un environnement moderne et cohérent. Il propose les composants classiques des collecticiels : carnet d’adresses, gestion des courriers électroniques et calendriers partagés. La compatibilité native avec Microsoft Outlook est possible grâce à l'intégration des projets OpenChange et Samba4. Finalement, SOGo supporte aussi le protocole Enterprise ActiveSync pour la synchronisation des appareils Android, iOS, Windows Phone, BlackBerry et même Microsoft Outlook 2013.

Cette version apporte une toute nouvelle interface web qui respecte les normes Material Design tout en conservant la maturité de la version 2 relativement aux fonctionnalités telles Enterprise ActiveSync, les protocoles DAV, ainsi que la compatibilité native avec Microsoft Outlook.

Télécharger ce contenu au format Epub

Lire les commentaires

Superpowers sort en libre/opensource

28 janvier, 2016 - 20:46

Dépêche réalisée d'après l'article de Korben et modifiée avec son accord, sous licence CC BY-SA

Si vous vous sentez l'âme d'un créateur de jeux vidéo, voici Superpowers, un outil libre et open source, développé par des Français, qui va vous permettre de concevoir vos jeux 2D et 3D en HTML5 !

Superpowers est déjà connu des lecteurs de LinuxFr.org puisqu'un article lui a été consacré lors du lancement de sa campagne de financement participatif. Le logiciel est désormais open source depuis le 7 Janvier 2016, nous y reviendrons plus loin.

Présentation du logiciel

Superpowers fonctionne grâce à un serveur web que vous lancez en local sous OS X, Linux ou Windows. Vous n'avez donc pas besoin d'avoir une connexion à Internet pour travailler sur votre jeu. Toutefois, si vous êtes connecté, vous pouvez aussi travailler à plusieurs sur le même jeu. Il suffit simplement de donner l'adresse du serveur (IP de votre ordinateur + mot de passe) pour que tout le monde s'y connecte et puisse contribuer au jeu grâce à l'éditeur TypeScript intégré.

Démo vidéo

Voici une démo (accélérée) de ce qu'il est possible de faire avec Superpowers : [FR] Introduction à Superpowers (v0.3) — l'outil de création de jeux vidéo HTML5

HTML5, JS et CSS

Superpowers utilise les technologies HTML5, JS et CSS et permet d'exporter vos jeux sur toutes les plateformes (Windows, OS X, iOS, Linux, Android) et si votre truc, ce n'est pas le graphisme, sachez qu'il est possible de télécharger gratuitement des packs de sprites, de décors, des effets spéciaux et des musiques sur des thématiques aussi variées que l'espace, la fantasy, la préhistoire, etc.

Exemples de jeux

Pour les jeux, si vous voulez voir ce qu'il est possible de faire, voici quelques exemples de jeux réalisés avec Superpowers. Et si vous trouvez ça cool, mais que vous êtes un peu perdu, une communauté prête à vous aider existe et un peu de code avec des jeux tout faits se trouve ici.

Bref un must pour tous ceux qui veulent se lancer dans la création de jeux vidéos !

Plus de détails sur le projet Un projet opensource

Superpowers est publié sous licence ISC compatible avec la licence publique générale GNU, pour fonctionner il utilise de nombreux projets libres comme : Three.js, Socket.IO, TypeScript, Electron, Node.js ainsi que bien d'autres projets Open Source.

Superpowers met à disposition des packs de ressources graphiques et sonores, ceux-ci sont publiés sous licence CC0 (proche du domaine public) et disponible sur la page de téléchargement de Superpowers.

Et pour vous aider dans vos développements, les sources des différents jeux réalisés par Sparklin Labs lors de game jam sont disponibles afin que vous puissiez les étudier et les comprendre. Leur code est consultable publiquement mais il n'est pas sous licence libre.

Des fonctionnalités extensibles à l'aide de modules


Sont inclus les modules permettant d'importer vos personnages et objets animées ou vos modèles 3D, de créer des jeux multi-joueurs en ligne et bien plus avec Socket.IO, de mettre en place une physique 2D ou 3D avec Cannon.js ou P2.js. Vous pouvez aussi créer des interpolations d'animations avec tween.js, construire des modèles 3D cubique, importer des sons ou éditer les niveaux de votre jeu.

Construisez ou installez d'autres modules

Non seulement vous pouvez construire vos propres modules mais Superpowers est réalisé de telle manière qu'il n'est pas dépendant d'un moteur ou d'une technologie particulière. Vous pouvez l'adapter à d'autres moteurs et éditeurs (il y a par exemple un projet de Superpowers pour LÖVE et phaser.js)

Profiter de la puissance de l'éditeur TypeScript intégré

TypeScript est un langage qui combine habilement la simplicité du web et la robustesse d'un système de types. Profiter des rapports d'erreurs instantanés, de l'autocomplétion, de la coloration syntaxique et du navigateur d'API pour scripter plus vite.

Soutenir Sparklin Labs sur Patreon

Sparklin Labs travaille avec tout son amour sur Superpowers depuis fin 2014.
Soutenez-les financièrement via Patreon. Merci pour eux! :)

Télécharger ce contenu au format Epub

Lire les commentaires

Recette de cuisine : serveur de messagerie collaborative, inter‐opérant et sans extensions

28 janvier, 2016 - 19:51

Liberasys rend public ses recettes de cuisine pour créer un serveur de courriels collaboratif. Postfix, PostfixAdmin, Dovecot, Horde, Apache, PHP, MySQL, ClamAV, rmilter, rspamd. SPF, DKIM, DMARC. Synchronisation des clients sans utilisation de greffons. Inter-opérant, quasi-universel et conforme à l'état de l'art.

Voir le lien pour le contenu et les liens vers les recettes. C'est le résultat de 3 semaines de travail à temps complet. Faire son propre serveur de courriel, avec les fonctionnalités modernes est de plus en plus complexe.

Sommaire Introduction Pourquoi ?

Je voulais pour ma société et pour moi‐même un système de courriel qui se rapproche le plus des fonctionnalités que l’on trouve dans les systèmes des grands éditeurs. Et je voulais installer le tout sur un serveur que je maîtrise.

Quand ?

Sur l’année 2015, j'ai fait une étude préliminaire des différentes solutions. Entre août et octobre, j’ai travaillé à intégrer les différentes briques et à documenter. Cela représente trois semaines de travail à temps plein.

Comment ?

Les spécifications étaient :

  • utiliser un maximum de logiciels libres ;
  • utiliser des composants logiciels connus, fiables et maintenus par une société ou une communauté ;
  • gérer les boîtes de courriels virtuels (les utilisateurs n’ont pas de compte sur le système) ;
  • gérer les synchronisations avec les clients lourds et les terminaux mobiles, notamment courriel, agenda et carnet d’adresses ;
  • pouvoir partager des informations entre utilisateurs (exemples : agenda entre un directeur et une assistante de direction, ou partager l’agenda de ma chérie et le mien pour savoir qui va chercher notre enfant à l’école au jour le jour) ;
  • être conforme à l’état de l’art en termes de sécurité et en terme de gestion de réputation d’émetteur de courriels.
Qui ?

Gautier Husson, Liberasys.

Architecture générale

Je me suis rendu compte que l’architecture générale dépendait fortement du « cœur de synchronisation ». Aujourd’hui (de mon point de vue), c’est à ce niveau que se situe la valeur ajoutée d’un système de courriel. C’est ce que tout le monde veut de nos jours : avoir des outils efficaces, simples à prendre en main et permettant de collaborer facilement. Le « cœur de synchronisation » n’est pas toujours une seule brique logicielle, il peut être lié et implémenter l’ensemble des fonctionnalités du système de courriel. Il fallait alors choisir ce « cœur de synchronisation ».

J’ai fureté longtemps. Je connaissais de nom et je me suis renseigné sur : Zimbra, OBM, BlueMind, OpenXchange, Kolab. Je n’étais pas satisfait, car soit le logiciel était codé avec des bases difficiles à maintenir pour moi (ex : programme en Java), soit la licence n’était pas de type logiciel libre, soit le logiciel nécessitait un client spécifique ou des extensions propriétaires sur les clients lourds. Puis j’ai redécouvert Horde.

Horde est un projet qui existe depuis longtemps. Il a connu une baisse de régime dans les années 2008-2012, quelque chose comme ça. En conséquence, il est « tombé dans l’oubli ». Mais, depuis quelques années, la société éditrice a mis les bouchées doubles pour rattraper son retard. Beaucoup d’administrateurs système se souviennent de l’interface très moche et très « vieille école » de Horde. Mais cette dernière a été entièrement revue. Personnellement, je la trouve un peu triste en termes de charte graphique (gris), mais on peut personnaliser tout ça ! Globalement, l’interface utilisateur n’est pas aussi aboutie que d’autres serveurs de courriel. Mais, « ça fait le boulot » et tout le monde n’utilise pas cette interface.

Ce qui m’a vraiment plu avec Horde :

  • code en PHP ;
  • sur leur site on peut voir des informations précises sur les spécifications de synchronisation ;
  • hautement intégrable et paramétrable ;
  • bonne communauté libre ;
  • logiciel libre avec une société éditrice qui fait payer du conseil à l’heure (au cas où l’on a un besoin d’expertise) ;
  • pendant le travail sur le projet, les collaborateurs de Horde ont fait un financement par les masses (crowdfunding), dont le but est d’implémenter la dernière version du protocole ActiveSync. Je n’ai pas retrouvé les éléments, mais ils demandaient quelque chose comme 3 000 US$, ils y sont arrivés en moins de deux semaines. Cela m’a vraiment fait plaisir de voir ça !

Je suis donc parti sur Horde comme « cœur de synchronisation ». Les tâches confiées à Horde dans mon architecture sont les suivantes :

  • webmail (je ne sais pas comment on peut dire en bon français) ;
  • client web pour l’agenda, les contacts, les tâches, les partages de fichiers (je n’intègre pas cette dernière fonctionnalité) ;
  • client web pour les filtres de courriels (SIEVE) ;
  • client web pour la gestion des droits (je partage mes données avec qui et comment) ;
  • synchronisation des courriels, agendas et carnets d’adresses avec CardDAV, CalDAV et ActiveSync, compatible Android, iOS et Outlook.

Il me manquait encore certaines tâches :

  • serveur de courriel (SMTP) ;
  • serveur de boîtes de courriels (IMAP) ;
  • antivirus, anti‐pourriels ;
  • gestion de la réputation (SPF, DKIM, DMARC).

Les choix effectués ont alors été les suivants :

  • SMTP : j’ai travaillé un peu avec Sendmail et EXIM et beaucoup avec Postfix, j’ai donc choisi ce dernier sans me poser de question (je ne vais pas m’étaler sur ce qui m’a poussé à choisir Postfix dans les architectures que j’ai mises en place précédemment) ;
  • IMAP : j’ai travaillé un peu avec Cyrus et beaucoup avec Dovecot, je suis donc resté sur ce dernier. À noter (suite à discussion que j’ai eue avec M. Maudet de Linagora) : Dovecot a été repris par une société et fait des modules payants, on sort donc du cadre purement logiciel libre, d’où le fait que Linagora ait préféré intégrer Cyrus ;
  • antivirus : le premier qui me soit passé sous le coude dans les recettes de cuisine que j’ai trouvées sur Internet : Clamav (en passant, je me suis laissé entendre dire que la qualité de détection de la base antivirus avait bien baissé ces dernières années, en conséquence il faudrait voir à intégrer une meilleure brique logicielle au besoin) ;
  • antispam : j’ai travaillé un petit peu avec SpamAssassin et dspam, j’ai découvert et décortiqué rspamd, ça m’a plu (code, fonctionnalités à venir, paquet Debian…), alors je l’ai intégré : l’avantage est qu’il ne fait pas que de l’analyse bayésienne, mais l’inconvénient est que la base statistique est unique pour tous les comptes de courriel (mais cela va changer dans les prochaines versions) ;
  • pour lier Postfix à Clamav et rspamd, j’ai utilisé le multiplexeur de canal « milter » rmilter, qui, coup de bol, s’occupe également des signatures DKIM.
Les petites choses en plus

Quitte à refaire une architecture complète, j’ai intégré des petits bonus. Tout d’abord, les répertoires virtuels dans Dovecot : cela permet d’avoir les messages importants dans un dossier et les nouveaux messages dans un autre. J’ai essayé de faire un dossier qui présente tous les courriels (entrants et sortants, c’est très pratique pour suivre les échanges), mais ça faisait boucler Icedove. Je n’ai pas investigué ce problème, j’ai donc désactivé ce dossier virtuel.

Ensuite, la liaison Dovecot — Horde via le protocole SIEVE. Elle permet l’édition facile des filtres pour les utilisateurs et permet l’activation d’un message d’absence.

Continuons avec le dossier des pourriels : Dovecot est lié à rspamd : quand un pourriel arrive, il va dans un dossier particulier et est marqué comme lu. Si le courriel en question est déplacé dans un autre dossier, rspamd change sa base statistique pour du ham (non spam).

Enfin, pour la gestion de la réputation, j’ai créé un script qui facilite le travail de l’administrateur système : il crée les clefs asymétriques, donne les paramètres à configurer dans le cadre de cette infrastructure pour implémenter SPF, DKIM et DMARC pour vos noms de domaine (configuration pour rmilter et le serveur DNS).

Conclusion

Voilà un système complet de messagerie moderne basé sur des logiciels libres ou à code source ouvert. Cela intègre pas mal de briques logicielles interdépendantes. L’ensemble fonctionne depuis quelques mois pour ma société et mon cadre familial, et j’en suis très satisfait.

Je voulais libérer les recettes de cuisine, car j’ai moi‐même été inspiré de plusieurs recettes par le passé, pour le cadre professionnel ou personnel. Et, aujourd’hui, c’est compliqué de trouver une recette qui fonctionne « clef en main », à jour et intégrant toutes les briques nécessaires et la gestion de la réputation.

Autant vous le dire tout de suite : non, je ne vais pas faire de support gratuitement ici sur cette solution, désolé. :-( Mais, je suis sûr que d’autres administrateurs système vous aideront en cas de pépin.

Profitez bien et dégooglisez Internet !

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 0.4 de Drone

28 janvier, 2016 - 09:26

Drone est une solution d’intégration continue basée sur des conteneurs écrite en Go. Chaque exécution se passe à l’intérieur d’un conteneur Docker éphémère, ce qui permet de donner aux développeurs un contrôle complet sur l’environnement tout en l’isolant.

Cette nouvelle version apporte la fonctionnalité la plus demandée, une matrice de construction et s’intègre directement sur les plates‐formes d’hébergement GitHub, Bitbucket, GitLab et Gogs.

Matrice de construction

La matrice de construction permet de tester le projet sur plusieurs configurations différentes, par exemple des versions différentes du langage, mais aussi bien des bases de données différentes, voire des images (distributions) différentes.

Greffons

Le système de greffons de Drone est assez unique en ce qu’il est basé sur des conteneurs Docker. Chaque étape de la construction est exécutée par un conteneur différent, chacun ayant un accès partagé aux volumes de construction. Les conteneurs sont téléchargés et mis à jour automatiquement. L’intérêt de ce système est que les greffons ne sont pas liés à un langage particulier et donc il est possible d’en écrire dans son langage préféré.

Orchestration

Les machines de construction peuvent être maintenant attachées via la ligne de commande. Cela permet de grandir ou diminuer le nombre de machines à la volée en fonction du volume.

Nouveau format

Le format de configuration en YAML a été revu afin d’être plus proche du format de composition de Docker. Celui‐ci permet plus de flexibilité quant à la configuration des options de construction.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Creme CRM en version 1.6

26 janvier, 2016 - 23:50

Ce 15 Janvier est sortie la version 1.6 du logiciel de gestion de la relation client CremeCRM, 10 mois après la version 1.5.

Même si les principales améliorations de cette version se trouvent sous le capot, des fonctionnalités intéressantes font aussi leur apparition. Les nouveautés sont détaillées dans la suite de la dépêche.

Sommaire Description du logiciel

CremeCRM est un logiciel de Gestion de la Relation Client, généralement appelé CRM (pour Customer Relationship Management). Il dispose évidement des fonctionnalités basiques d'un tel logiciel :

  • un annuaire, dans lequel on enregistre contacts et sociétés : il peut s'agir de clients bien sûr, mais aussi de partenaires, prospect, fournisseurs, adhérents…
  • un calendrier pour gérer ses rendez-vous, appels téléphoniques, conférences… chaque utilisateur peut avoir plusieurs calendriers, publics ou privés ;
  • les opportunités d'affaires, gérant tout l'historique des ventes ;
  • les actions commerciales, avec leurs objectifs à remplir ;
  • les documents (fichiers) et les classeurs.

CremeCRM dispose en outre de nombreux modules optionnels le rendant très polyvalent : campagnes de courriels, devis/factures/bons de commande/avoirs, tickets, génération des rapports/graphiques…

L'objectif de Creme est de fournir un CRM libre pouvant convenir à la plupart des besoins, simples ou complexes. À cet effet, il propose quelques concepts puissants qui se combinent entre eux (entités, relations, filtres, vues, propriétés, blocs), et il est très configurable (bien des problèmes pouvant se résoudre par l'interface de configuration). De plus, afin de satisfaire les besoins les plus particuliers, son code est conçu pour être facilement étendu.

Principales nouveautés de la version 1.6 Passage à Django 1.8

Creme est une application Web écrite en Python avec le cadriciel (framework) Django. Creme 1.4 & 1.5 utilisaient Django 1.4, qui était la précédente version supportée à long terme (LTS) de Django ; mais son support est arrivé à sa fin, et c'est désormais la version 1.8 qui est la nouvelle version LTS. Et c'est donc le passage à Django 1.8 qui constitue le gros des changements de Creme 1.6. Les améliorations mineures dont nous avons bénéficiées sont nombreuses : meilleure gestion des transactions, de l'initialisation des modules, possibilité d'avoir un modèle utilisateur personnalisé…

Mais le plus gros changement vient du système de migration (de la base de données) intégré ; en effet nous devions utiliser auparavant une app externe bien connue (à savoir South) pour faire les migrations. En raison de pas mal de spécificités du code, ce changement n'a pas été sans problème (et a permis par exemple de résoudre un bug dans Django). Nous avons été amenés à modifier, entre autres, les mécanismes permettant de personnaliser les modèles existants. La mauvaise nouvelle c'est que les gens qui modifient le code de Creme devront sûrement revoir leur code (documentation). La bonne nouvelle c'est que maintenant la façon de faire permet d'aller plus loin et d'éviter pas mal d'écueils.

Pour les personnes se contentant de déployer un Creme "standard" (vanilla, ahah!), ces changements devraient être quasi-invisibles bien évidement.

Le masquage de champs

Il y a maintenant la possibilité de cacher certains champs dans les modèles. Les champs ainsi cachés n'apparaissent plus dans l'interface, et tout se passe comme s'ils n'existaient pas. Donc si certains champs sont inutiles dans votre façon de travailler, n'hésitez pas à les cacher et ainsi alléger l'interface ; car s'il était déjà possible de créer ses blocs personnalisés ou ses vues de liste (et donc de ne pas afficher les champs indésirables dans ses blocs/listes), le masquage de champs va plus loin, et les champs disparaissent aussi des formulaires par exemple.

Notez que tous les champs ne sont pas masquables car certains sont nécessaires ; mais par exemple dans les sociétés, mis à part les champs "Utilisateur propriétaire" et "Nom", tous les champs peuvent être cachés.

Configuration des champs du modèle 'contact' :


Configuration des blocs par rôle

La plupart des types de fiche (contact, société, facture…) disposent d'une vue détaillée qui affiche diverses informations sur ces fiches ; ces informations sont organisées par blocs ("Les relations", "Les propriétés", "Les alertes"…). Chaque type de fiche peut recevoir une configuration spécifique pour ses blocs (quels blocs sont présents, quelles sont leur position), ce qui permet évidement de ne mettre que les informations qui vous intéressent.

Dans Creme, les permissions sont gérées par des rôles. Chaque utilisateur a un rôle, qui définit par exemple quelles types de fiches sont visibles ou modifiables, si on peut modifier toutes les fiches ou uniquement celles qui nous appartiennent. On pourra par exemple définir des rôles comme "Commercial" et "Directeur commercial".

On peut dorénavant configurer les blocs par rôle, c'est-à-dire que pour le même type de fiche, on peut associer des configurations différentes à des rôles différents. Par conséquent les utilisateurs associés pourront avoir des vues détaillées plus adaptées à leur travail.

Quelques fonctionnalités en vrac
  • la configuration de la recherche globale peut se faire par rôle ; la configuration par utilisateur a disparu ;
  • on peut fusionner deux dossiers de documents ;
  • on peut créer les participants à une activité directement dans le formulaire de création d'une activité ;
  • un segment de marché peut être supprimé et remplacé par un autre ;
  • refonte des tâches de projet : ce ne sont plus des activités en elles-mêmes, mais à la place on les relie à des sous-activités ;
  • un ticket ouvert plus de 7 jours est affiché en rouge dans la liste des tickets.
La future version 1.7

La version 1.7 disposera notamment d'un système de jobs, pour mieux gérer les tâches longues et les tâches en arrière plan.

Télécharger ce contenu au format Epub

Lire les commentaires

Movim 0.9 - Tchouri

26 janvier, 2016 - 13:15

Après un an et trois mois d’attente, voici enfin la nouvelle version de Movim. Avant de rentrer dans le vif du sujet, quelques rappels concernant le projet.

L’architecture de Movim est unique en son genre, c’est à la fois un client XMPP pouvant gérer plusieurs sessions simultanées mais également une application web déployable sur un serveur et accessible au sein des navigateurs et sur les mobiles.

Même s’il est défini en tant que réseau social, il faut plutôt le voir comme un nouvel outil, mêlant fonctionnalités sociales et de messagerie instantanée, le tout reposant sur le standard de messagerie XMPP.

À vrai dire Movim n’est pas vraiment un réseau en lui-même (par rapport à Facebook, Diaspora ou WhatsApp). L’un des buts du projet est, au contraire, de démontrer qu’il est parfaitement possible d’utiliser un protocole unique de communication créant par lui-même un réseau de communication, tout en laissant le choix aux utilisateurs et administrateurs d’utiliser les outils (clients ou serveurs) qu’ils souhaitent pour accéder à celui-ci.

Même si le numéro de version n’est pas majeur, la 0.9 du projet est un véritable bond en avant, tant sur les plans architecturaux, fonctionnels que visuels. Le cœur du projet a atteint sa maturité et permet désormais aux contributeurs de développer et compléter rapidement les fonctionnalités manquantes.

Sommaire

Une nouvelle identité visuelle

Cette version a été l’occasion d’entièrement remettre à plat l’interface du projet qui souffrait d’un effet patchwork particulièrement désagréable à l’utilisation. La nouvelle interface repose sur les codes graphiques Material Design développés par Google. Nous avons travaillé sur trois points clefs pour cette nouvelle mouture : la simplicité d’utilisation, l’intégration et la légèreté.

C’est un défi que nous nous sommes lancé : comment intégrer toutes ces fonctionnalités dans une interface à la fois agréable, unifiée et adaptable à tous les écrans ? Nous avons tout d’abord choisi d’utiliser un agencement en trois colonnes et cela sur (presque) toutes les pages du projet, puis, en s’inspirant du Material Design d’ordonner les informations de la façon la plus logique possible tout en garantissant l’accès rapide aux fonctionnalités. Il y a encore de nombreuses améliorations possibles mais nous sommes plutôt satisfaits du résultat.

L’application est donc maintenant divisée en quatre pages :

  • Actualité, qui regroupe l’ensemble des publications faites sur les flux où vous êtes abonnés ou des contacts que vous avez dans votre liste. Des onglets permettent de facilement filtrer ces publications. C’est également sur cette page que vous allez pouvoir publier un message sur votre flux, les éditer ou les supprimer et également commenter les articles ;
  • Contacts, où vous allez pouvoir retrouver votre liste de contacts, d’en inviter de nouveaux et explorer les profils ;
  • Groupes, qui vous permet de vous abonner, de créer et de publier sur des flux publics avec l’ensemble des autres utilisateurs ayant un compte XMPP ;
  • Discussions, où vous retrouvez vos discussions, un à un, et vos salons.

Un travail important a été apporté à la légèreté de cette interface pour garantir de bonnes performances en toutes occasions. La quasi-totalité de celle-ci repose sur du HTML5 simple et du CSS3, très peu de bibliothèques JavaScript sont utilisées et une très grande partie des traitements de données est réalisée côté serveur. Cela est particulièrement plaisant sur mobile où l’application affiche de très bonnes performances.

Un petit démon au cœur de la machine

Un autre grand changement apporté au sein de cette mouture concerne la façon dont sont traitées les informations dans Movim. Les versions précédentes utilisaient BOSH et parallélisaient les requêtes envoyées au serveur XMPP. La 0.9 apporte un démon qui se connecte directement aux serveurs XMPP via un socket XMPP standard (avec une couche de chiffrement TLS). Plus besoin de BOSH !

Ce démon possède également une architecture particulière, chaque session utilisateur fonctionne dans un sous-processus indépendant évitant ainsi de crasher toute la plate-forme si l’une des sessions possède des difficultés ou rencontre une erreur.

Lié à ça, le parseur XML interne au projet a été réécrit et fonctionne désormais en mode flux (les balises sont parsées au fur et à mesure qu’elles arrivent dans le socket évitant ainsi d’attendre la réception d’un bloc entier avant de le parser). Ce petit changement a permis de fortement améliorer les performances. La connexion sur un compte comptant 400 contacts ne prend que quelques secondes (s’approchant des performances de clients natifs comme Pidgin ou Gajim).

Le seul défaut apporté par cette architecture est la consommation mémoire particulièrement importante (entre 10 et 30 Mo par utilisateur) du démon. Un gros travail a été effectué pour corriger les fuites mémoires, réduire et stabiliser cette consommation, qui pouvait monter à plusieurs centaines de Mo pendant les phases de développement ! Un travail substantiel sera effectué dans les prochaines versions pour minimiser encore plus cette empreinte (un objectif de moins de 10 Mo par session est fixé). Les premiers tests effectués avec PHP 7 montrent des signes très encourageants en ce sens.

Le plein de fonctionnalités !

Au-delà de ces deux grosses avancées c’est un ensemble de nouvelles fonctionnalités qui ont été intégrées au sein du projet. Passons en revue les plus notables.

Nouvelle interface de publication

Le formulaire de publication d’articles a été entièrement retravaillé et intègre plusieurs nouvelles fonctionnalités. La possibilité de téléverser une image ou fichier en pièce jointe, via la XEP-0363: HTTP File Upload, si votre serveur XMPP le prend en charge. La création automatique de « cartes » si vous partagez un lien (comme sur cet article par exemple) ou encore l’ajout de tags à votre publication.

Vous pouvez également désormais éditer vos publications.

Coté serveur Movim génère maintenant des billets respectant la norme Atom.

Votre blog sur Movim

Tous les articles que vous avez publiés peuvent être rendus publics et accessibles en dehors du réseau XMPP en un simple clic ! Movim génère alors un flux public que vous allez pouvoir partager avec n’importe qui et cela pour les articles publiés sur votre profil ou ceux publiés dans les Groupes.

Dans la configuration vous pouvez également préciser une feuille de style CSS supplémentaire pour personnaliser l’affichage de votre blog (comme sur ce blog). Un flux Atom est également généré pour tous ceux qui souhaiteraient ajouter votre flux à leur agrégateur. Voici le flux public du Groupe officiel du projet Movim.

Sachez également que la rédaction des articles se fait au format Markdown, vous permettant ainsi d'utiliser une mise en page avancée et d’y inclure des liens et images.

Nouvelle liste de contact

La liste de contact a été réécrite et fonctionne désormais sur Angular, merci à Christine Ho pour ce super travail ! Toutefois des ralentissements peuvent être ressentis pour ceux qui possèdent une liste assez conséquente (plusieurs centaines de contacts), l’amélioration de ces performances fait également partie des points qui seront traités dans les prochaines versions.

Nouvelle interface de chat

Les chats ont maintenant une page dédiée (miaou !) et plein de petites fonctionnalités ont été ajoutées comme le support des emojis, une première implémentation de XEP-0313: Message Archive Management (qui sera améliorée dans la prochaine version) ou la possibilité d’envoyer des pièces jointes directement depuis l’interface (si votre serveur XMPP le prend en charge). Vous pouvez également changer le sujet et configurer vos salons de discussions en quelques clics.

Ajout du support des commandes Ad-Hoc

Le support des commandes Ad-Hoc (XEP-0050: Ad-Hoc Commands) est plus particulièrement destiné aux administrateurs qui souhaiteraient effectuer quelques manipulations sur leur serveur XMPP directement depuis Movim. Vous pouvez les retrouver dans l’onglet action de la page configuration.

Gestion de votre compte XMPP

Toujours sur la page Configuration, vous pouvez désormais gérer vos souscriptions aux passerelles offertes par votre serveur XMPP. Vous pouvez également changer votre mot de passe ou supprimer définitivement votre compte.

Partagez des pages web sur Movim

Afin que vous puissiez partager en un clic toutes les pages que vous souhaitez sur Movim, un bouton Partager universel est disponible sur la page d’accueil de votre Pod préféré une fois que vous vous êtes identifiés. Ce bouton prend la forme d’un bookmarklet que vous pouvez glisser dans votre navigateur. Chaque fois que vous souhaitez partager une page, cliquez dessus, Movim se charge du reste ! Il ne vous reste plus qu’à mettre un petit commentaire, un titre et à publier !

Mais également…

Le panneau d’administration du projet a également été revu et simplifié pour faciliter la vie des administrateurs. Le processus de génération et de parsage XML a été revu afin de minimiser les possibilités d’injection de code malveillant.

Autour du projet

Movim 0.9 ce n’est pas que des nouveautés sur le code et son architecture mais également plein de petits à-cotés !

Arrivée des premières applications mobiles et bureau

Movim est disponible en tant qu’application Android et Firefox OS ! Vous pouvez le télécharger sur le Play Store ou F-Droid (Android 5.0 minimum) ou sur le Firefox OS Marketplace.

Un travail est également en cours pour l'empaqueter à l’aide du projet Electron et ainsi le porter sur le bureau. Un premier paquet pour Debian et Ubuntu est prévu dans les prochaines semaines, si vous souhaitez donner un coup de main et aider à empaqueter pour votre système d’exploitation n’hésitez pas à jeter un œil au projet GitHub !

Paquet YunoHost

Grâce au merveilleux travail de Src386 un paquet YunoHost est également disponible pour le projet. Merci à lui !

Nouveau site web et déménagement sur GitHub

Afin d’améliorer l’accès au projet nous avons décidé de bouger celui-ci sur la forge GitHub où nous avons désormais notre propre organisation, le Wiki officiel a également été déplacé sur cette plate-forme et est accessible à cette adresse.

Finalement le site officiel a été retravaillé afin de mieux présenter le projet, n’hésitez pas à y faire un petit tour pour avoir un bon aperçu de l’état actuel du projet.

Et ce n’est pas fini…

Voici donc un petit aperçu de ce qui vous attend dans la version 0.9 du projet. Nous ne souhaitons pas nous reposer sur nos lauriers pour autant et plein de bonnes choses sont en préparation pour les prochaines versions.

Le cycle des versions va être considérablement réduit. À ce niveau Tchouri est plutôt une exception, le travail apporté ayant été particulièrement conséquent il explique pleinement les longs mois qui ont précédé sa sortie. Les prochaines moutures du projet vont être plus légères en fonctionnalités et se concentrer sur un thème en particulier.

Pour vous donner un petit aperçu, la prochaine version, qui sera très certainement une 0.9.1 se concentrera sur la partie chat du projet avec l’intégration de plein de petites fonctionnalités et l’amélioration de l’expérience utilisateur au sein de celles-ci.

Le but de Movim n’est pas uniquement de proposer un nouveau client de messagerie sociale. La motivation principale du projet est d’avoir une réflexion sur la façon donc il est utilisé quotidiennement. Pour ce faire nous réfléchissons continuellement à comment traiter au mieux au sein de Movim des thèmes comme l’expérience utilisateur, l’utilisation des standards (et cela à tous les niveaux), du respect des informations personnelles et de l’intégration de la plate-forme au sein de l’environnement des utilisateurs et du réseau XMPP.

L’idée derrière Movim c’est aussi de vous laisser le choix. De vous laisser choisir où vous déposez vos informations mais aussi du client (et du serveur) que vous utilisez pour y accéder.

Nous ne souhaitons pas enfermer les utilisateurs de Movim dans notre réseau mais au contraire montrer combien l’utilisation d’un standard de communication (même s’il possède des défauts nous en sommes conscients et nous y travaillons également) est primordial. Pour accéder au réseau derrière Movim (XMPP) pas d’API, mais de simple bibliothèques déjà disponibles dans tous les langages.

Merci encore pour le soutien grandissant pour le projet et à toutes les personnes qui y participent :) Pour nous aider n’hésitez pas à venir traduire le projet à remonter un bug sur le dépôt GitHub ou à venir discuter avec nous. Nous acceptons aussi les dons via Flattr ou PayPal pour nous aider à couvrir nos frais (infrastructure, déplacements, promotion…), vous trouverez les liens sur le site officiel du projet.

That’s all folks!

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse de l'April pour la semaine 3 de l'année 2016

26 janvier, 2016 - 13:14

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

[LeDevoir.com] Les petits de l’économie collaborative s’organisent

Par Jeanne Corriveau, le vendredi 22 janvier 2016. Extrait:

Devant les «prédateurs» Uber et Airbnb, un «think tank» s’installe à Montréal pour multiplier l’influence de 150 organismes à l’échelle du Québec

Lien vers l'article original: http://www.ledevoir.com/societe/actualites-en-societe/460966/les-petits-de-l-economie-collaborative-s-organisent

Et aussi:

[Next INpact] Les députés refusent la priorité du logiciel libre dans les administrations

Par Xavier Berne, le jeudi 21 janvier 2016. Extrait:

Suivant l’avis du gouvernement, les députés ont refusé hier d’obliger les administrations à recourir «prioritairement» aux logiciels libres et aux formats ouverts. Une proposition qui avait pourtant été très largement soutenue lors de la consultation citoyenne relative au projet de loi numérique.

Lien vers l'article original: http://www.nextinpact.com/news/98171-les-deputes-refusent-priorite-logiciel-libre-dans-administrations.htm

Et aussi:

Voir aussi:

[Silicon.fr] La facture salée de Munich pour quitter Windows

Par Jacques Cheminat, le jeudi 21 janvier 2016. Extrait:

Connue pour son engagement Open Source, Munich va migrer les derniers PC sous Windows XP et 2000. Avec une facture de plus de 11 000 euros par salarié.

Lien vers l'article original: http://www.silicon.fr/linux-munich-une-facture-salee-pour-quitter-windows-xp-et-2000-136564.html

Et aussi:

[ZDNet France] Github: les utilisateurs déçus du manque de support

Par la rédaction, le mardi 19 janvier 2016. Extrait:

La plateforme de partage de code open source Github ne fait pas que des heureux. Dans une pétition signée par plusieurs centaines d’utilisateurs, les contributeurs de différents projets détaillent leurs griefs à l’égard de la plateforme, jugée trop peu transparente.

Lien vers l'article original: http://www.zdnet.fr/actualites/github-les-utilisateurs-decus-du-manque-de-support-39831396.htm

[ActuaLitté.com] Le guide de l'Open Access pour Les Nuls, et au bénéfice du grand public

Par Marie Lebert, le mardi 19 janvier 2016. Extrait:

Le mouvement promouvant l’accès ouvert (open access en anglais) à la recherche a été lancé avec une belle idée, celle de mettre les résultats de la recherche à la disposition de tous dans des archives ouvertes et des revues ouvertes. Ce mouvement conquiert maintenant le monde pour le plus grand bénéfice des auteurs, des chercheurs, des étudiants, des bibliothèques, des éditeurs, des universités et des centres de recherche. Et, tout aussi important peut-être, pour le bénéfice du grand public, quelle que soit sa formation et quel que soit son parcours professionnel.

Lien vers l'article original: https://www.actualitte.com/article/lecture-numerique/le-guide-de-l-open-access-pour-les-nuls-et-au-benefice-du-grand-public/63062

[L'OBS] Le Parti pirate a dix ans, et plus beaucoup de dents

Par Nicolas Falempin, le lundi 18 janvier 2016. Extrait:

Le Parti pirate a fêté ses dix ans. Notre blogueur Nicolas Falempin en a été le secrétaire national. Nous lui avons demandé de raconter son expérience et dix ans de l’histoire d’un parti qui, malgré quelques réussites, n’est pas parvenu à faire de la politique autrement.

Lien vers l'article original: http://rue89.nouvelobs.com/2016/01/18/parti-pirate-a-dix-ans-plus-beaucoup-dents-262874

[l'Humanité.fr] Microsoft, César et les grammairiens

Par Véronique Bonnet, le vendredi 15 janvier 2016. Extrait:

La consultation de l’automne dernier sur le projet de loi numérique, via une plate-forme en ligne qui revendiquait une exemplarité citoyenne, s’était présentée comme ouverte à d’éventuels amendements. L’association informée et réactive qu’est l’April (april.org), par exemple, avait honoré cette invitation et en avait éclairé les enjeux.

Lien vers l'article original: http://www.humanite.fr/microsoft-cesar-et-les-grammairiens-595705

Et aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

HandyLinux 2.3-Ian rajoute une couche pour l'hiver

25 janvier, 2016 - 07:49

Qui dit nouvelle version de Debian, dit nouvelle version de HandyLinux ! Celle-ci, bien qu'elle soit une version mineure, comporte énormément de nouveautés, pour votre plus grand plaisir ! Elle porte le nom « Ian », en hommage à Ian Murdock, créateur de la distribution Debian, sans qui HandyLinux n'existerait pas. Qu'il repose en paix.

La publication de cette version de mise à jour est aussi le moment qu'ont choisi arpinux et dyp pour transmettre le flambeau à une nouvelle équipe, pour le développement et le forum. C'est donc un nouveau départ, plus de deux ans après le début de l'aventure.

Sommaire


Archive originale du dessin de Péhä.

Passer à HandyLinux 2.3

Si HandyLinux est déjà installée sur votre ordinateur, sachez que vous n'avez rien de particulier à faire, mis à part mettre à jour votre système. Pour ce faire, vous pouvez suivre la démarche donnée dans la documentation en ligne ainsi que les différentes étapes données sur le forum.

Si vous n'avez pas cette chance, il est toujours possible de combler votre retard en téléchargeant une image 32 bits ou 64 bits HandyLinux, sur de nouveaux serveurs.

Liste des nouveaux outils et améliorations

Depuis la dernière version, de très nombreux changements sont à noter. Vous pouvez en retrouver la liste complète sur Framagit et ci-dessous les modifications les plus notables apportées à HandyLinux.

Logiciels Handy
  • Le Handymenu est totalement réécrit avec la bibliothèque GTK+ 3 et passe ainsi en version 4. Autre nouveauté, il peut lister vos documents récents ;
  • Le HandySoft est intégré. Il s'agit d'une logithèque simplifiée qui remplace le trop compliqué « Packages » issu de Gnome. Le gestionnaire de paquets Synaptic reste dans les applications par défaut car étant l'interface fournie avec apt… On ne peut pas s'en passer ;
  • Amélioration du thème GTK HandyLinuxClear/Dark (merci arpinux).
  • Mise en place d'un logiciel d'assistance, qui permet au débutant de régler ses petits soucis plus facilement, et de demander de l'aide plus efficacement ;

  • Intégration par défaut du handy-upgrade-manager : la mise à jour des dépôts, la notification de la mise à jour et leur installation sont prises en charge par des outils spécifiques HandyLinux qui nous délient des dépendances Gnome encore un peu plus ;

  • Disponibilité de liveUSBcreator, un outil permettant de créer des clés USB « live » comme son nom l'indique en toute tranquillité ;
  • Intégration des thèmes et images dans le paquet handylinuxlook (GTK, LightDM, pixmaps, fonds d'écran) (merci arpinux).
Généralités
  • Mise à jour de la base : Debian 8.3 (merci Debian—merci Ian) ;
  • Mise à jour de Iceweasel - v43 - et des addons ;
  • Mise à jour de Icedove - v38.5 ;
  • Mise à jour de la liste des stations radio pour radiotray (merci arpinux) ;
  • Ajout de aptitude pour être conforme à la documentation Debian (merci dyp) ;
  • Ajout d'un dépôt testing (non activé par défaut, merci arpinux) ;
  • La documentation est agrémentée et améliorée. (merci arpinux) ;
  • Ajout de l'aide intégrée LibreOffice (merci chalu) ;
  • Passage des installeurs Skype/Teamviewer en paquet : plus de soucis lors des mises à jour des versions Debian de ces vilains logiciels privateurs… Youhou !
Accessibilité
  • Disponibilité du décorateur de fenêtre xfwm4 en version 4.12 (rétroportage pour les connaisseurs). Cette version apporte des nouveautés non-négligeables au niveau de l'accessibilité. En effet, une loupe active est intégrée, permettant ainsi de zoomer et travailler en même temps ;
  • Francisation de la demande de mot de passe pour 'sudo' en cas d'installation française bien sûr (merci Mélanie et coyotus) ;
  • Passage à LightDM pour la gestion de la connexion compatible avec la lecture d'écran (merci arpinux) et avec une petite surprise en plus (merci Péhä);

  • Ajout de l'outil de configuration simplifiée de LightDM ldmconf (par thuban) ;

  • Ajout du paquet gnome-accessibility-themes par défaut (merci arpinux) ;
  • Activation de l'installation avec synthèse vocale (merci arpinux) ;
  • Amélioration de la lisibilité du terminal avec le thème Solarized (merci wlourf).
Outils divers
  • Retour du greffon DateTime dans le panel (merci Caribou, guantas et dyp) ;
  • Ajout de memtest86+ dans le live (merci ideefixe) ;
  • Ajout de gdebi et lintian pour la vérification et l'installation de paquets externes (merci arpinux) ;
  • Ajout du support d'impression directe d'images depuis Thunar (merci coyotus) ;
  • Retour de pciutils (merci dyp & coyotus).
Choc de simplification
  • Fusion des sources 32 bits et 64 bits : c'est un truc que les utilisateurs ne voient pas, mais la fusion des sources permet de créer les deux versions d'HandyLinux depuis le même dossier, ce qui simplifie grandement le travail et évite tout oubli quant aux modifications apportées ;
  • Suppression de loupy, remplacé par le zoom de bureau ;
  • Suppression de l'addon Youtube HTML5 (obsolète).
Héritage

Le dessin de notre bien aimé Péhä en introduction n'est pas anodin. En effet, la sortie de cette version marque aussi un nouveau départ pour HandyLinux.

L'équipe a été dernièrement entièrement réorganisée. Si le détail de ces changements vous intéresse, vous pouvez trouver toutes les informations sur le blog HandyLinux. Une attention toute particulière a été donnée par arpinux à la transmission des connaissances sur la construction de HandyLinux. La philosophie de HandyLinux est aujourd'hui appliquée à tous les niveaux.

Vous pouvez ainsi retrouver toutes les informations nécessaires pour construire votre propre HandyLinux (ou une dérivée) grâce à la nouvelle documentation rédigée par arpinux. Véritable cœur du système, les paquets ne sont pas en reste avec une documentation complète sur leur maintenance.

Ainsi, nous invitons maintenant les technophiles et les curieux à compiler, modifier, torturer les sources de HandyLinux afin de vous faire la main sur la création de dérivées Debian. Faites vous plaisir, c'est l'essentiel.

Merci arpi, merci dyp…

Conclusion et projets

Comme vous le voyez, une attention toute particulière a été apportée à l'accessibilité ainsi qu'à la création de petits outils facilitant l'utilisation de l'informatique pour les débutants. Mais l'équipe ne compte pas s'arrêter en si bon chemin. En effet, plusieurs projets sont en cours :

  • la création d'un thème d'icônes facilitant le repérage et la lecture ;
  • la rédaction d'un plan d'apprentissage de l'outil informatique ;
  • et bien d'autres choses…

N'hésitez pas à tester la distribution et à venir nous en parler sur le forum.

Avant de se quitter, je laisse la parole à Péhä qui a composé ce petit message en même temps qu'il a réalisé le dessin de l'annonce. Énorme merci à toi Péhä.

Well, this is a little bit special.
People always represent superheroes with a cape, lazer eyes and strong muscles, ready to help ladies in danger.
This time the superheroe has only a computer and an idea, creates a collective GNU/Linux distribution to provide an operating system of high quality for every users "whether they paid to obtain it or not".
This Artwork is dedicated to the memory of Ian Murdock (1973-2015) an anonym superheroe, father of the Debian GNU/Linux distribution that helps millions people all over the world. Thanks to him.

`-:/+//::-.` `./syyyyyyyyyyyyooo:. `/syyyyy+::-...-:/oyyyyo- :yyyyo-.` `/yyyyo` . /yys:` `oyyys. `oys:` `..` +ys:- .oyy- `//:-....` `yy+. :yy: -+. oyo :ys `s` . oys` :y+ -s` `` sy:` :y+ `y: ` . `+y:. :yo .:o/` ` `-oo.`` .yy. `--/o+:...-:+o+- +yo-` `-/:///:-.` `syy/ `` `oys. `+ys. :os/` `-oo+. ./o//. .-:--.` Télécharger ce contenu au format Epub

Lire les commentaires

Musescore, éditeur de partitions libre

24 janvier, 2016 - 16:54

Musescore est un logiciel d’édition musicale. Il permet de créer des partitions (de musique) en mode WYSIWYG, de les reproduire en audio, de les exporter au format MIDI, MusicXML ou MP3, et bien sûr de les imprimer. Il existe d’autres logiciels sous GNU/Linux permettant de créer des partitions, comme LilyPond, sorte d’équivalent de TeX pour la gravure musicale, ou bien Canorus ou Rosegarden. Mais Musescore est une alternative sérieuse face aux ténors de l’édition musicale en mode propriétaire que sont Finale et Sibelius.

La version 2.0 de Musescore est sortie le 24 mars 2015, puis des versions correctives 2.0.1 (5 mai) et 2.0.2 (16 juillet) sont parues. Après quatre années restées en version 1.3, les évolutions sont nombreuses et permettront certainement une plus large adoption par les musiciens et les compositeurs.
Voici, en deuxième partie de dépêche, une présentation de ce logiciel et un tour d’horizon de ses possibilités.

Sommaire

Interface utilisateur
  • Vue en continu : pour faire défiler horizontalement la musique sans aucun saut de ligne ou de page ;
  • Start Center : fenêtre de démarrage qui permet de choisir facilement le travail en cours ou de créer de nouveaux morceaux et comprend l'ancien « MuseScore Connect », qui met un compositeur de MuseScore à l'honneur et des liens vers le site de partage de musique MuseScore et vers les médias sociaux ;
  • panneau de contrôle : pour modifier facilement les paramètres (par exemple, le positionnement de chaque élément) ;
  • clavier de piano : à l'écran, un clavier de piano pour entrer les notes ;
  • palettes et espaces de travail personnalisables - sont inclus par défaut des espaces de travail de base et avancés, ou à définir soi-même.
Ergonomie
  • Filtre de sélection : choisir les types d'éléments à sélectionner pour des opérations de copier-coller ;
  • mode re-pitch : pour transposer sans changer le rythme ;
  • mode capture d'image : pour sauvegarder des sélections rectangulaires en graphique ;
  • explode / implode : accords séparés sur plusieurs portées, ou combiner plusieurs portées en accords ;
  • réglages manuels plus précis : déplacer presque tout élément dans n'importe quelle direction avec le clavier ou l'outil de contrôle.
  • plusieurs approches d’écriture : à la souris en cliquant sur la portée à l’emplacement de la note, au clavier en utilisant la notation anglo-saxonne pour les notes ou à l’aide d’un clavier MIDI.
Notation musicale
  • Tablatures : différents styles de notation en tablature pour guitare, basse, luth, et autres ;
  • grilles d'accords : pour créer facilement des grilles et mettre en place votre propre palette d'accords couramment utilisés ;
  • styles de texte dynamiques : les changements s'appliquent automatiquement à tous les éléments du même style ;
  • nouvelles polices : trois polices de musique à choisir, avec les polices de texte correspondantes ;
  • symboles d'accords variables : saisie des symboles d'accord en utilisant les graphies classiques incluant la nomenclature allemande et les notes de solfège, et les accords mineurs en minuscules.
Importation et exportation
  • importation de fichiers Guitar Pro. Musescore prend en charge les formats GP3, GP4, GP5 et GPX ;
  • importation de PDF grâce à l’ajout d’un service de reconnaissance optique de marques ;
  • l’importation et exportation vers MusicXML ont été améliorées avec la simplification automatique de rythmes et la possibilité de contrôler le degré de mise en page à conserver ;
  • l’importation de fichiers MIDI a été améliorée avec la simplification automatique des rythmes et la prise en charge de voix multiples ;
  • l’exportation MP3 a été ajoutée en plus de l’exportation vers WAV, FLAC et OGG ;
  • la sauvegarde en ligne a été améliorée avec une meilleure intégration du site http://musescore.com pour la publication en ligne.
Rendu sonore
  • Nouvelle banque de sons basée sur Fluid SoundFont ;
  • changement d'instrument au sein d’une portée en cours de lecture ;
  • swing paramétrable (croche et double croche, intensité réglable) ;
  • métronome intégré, accessible d’un clic en cours de lecture ;
  • amélioration de la prise en charge de JACK ;
  • ajout ou amélioration de l’interprétation des crescendo, decrescendo, tremolo, mordant, indications de tempo et reprises.
Gestion des partitions
  • Les partitions liées permettent de mettre à jour automatiquement les changements apportés à une partition dans un ensemble de partitions ;
  • les albums permettent de compiler plusieurs partitions en album (par exemple les différents mouvements d’une pièce) ;
  • les styles permettent de définir et d’utiliser des styles de partition personnels, ainsi que de choisir le style par défaut des partitions ;
  • la séparation et la fusion de mesures permettent respectivement de diviser une mesure en plusieurs ou de compiler plusieurs mesures en une seule.
Accessibilité
  • Raccourcis clavier : disponibilité étendue des actions et plus de raccourcis par défaut ;
  • documentation : manuel d'utilisation étendu (en français), disponible en HTML, prêt à l’impression et téléchargement PDF ;
  • traductions : dans plus de 50 langues, qui peuvent recevoir des mises à jour via le web ;
  • lecteur d'écran : prise en charge du lecteur d'écran NVDA (Windows seulement) pour rendre audible la lecture des partitions aux non-voyants ;
  • aide contextuelle : nouveau système d'aide en ligne (F1) agrégeant des ressources d’aide en ligne.
Téléchargements et installations

Des paquetages d'installation sont disponibles :

Comme exemple d’utilisation remarquable, nous avons la pianiste Kimiko Douglass-Ishizaka jouant les Variations Goldberg lors du Classical:NEXT 2012 où l’on peut voir à l’écran sur scène, les notes défiler en même temps qu'elles sont jouées sur MuseScore.

Que vous soyez compositeur, musicien, interprète ou simple mélomane, il y a maintenant Musescore pour vous aider dans la pratique de votre art.
Voici, pour finir, un exemple de partition « lue » par Musescore : La complainte du progrès de Boris Vian

Télécharger ce contenu au format Epub

Lire les commentaires

Deviens un Ninja avec Angular 2 : un ebook sans DRM à prix libre et en soutien à l'EFF

24 janvier, 2016 - 15:32

Deviens un Ninja avec Angular 2 : un ebook sans DRM à prix libre et en soutien à l'Electronic Frontier Fondation (EFF).

Ninja Squad propose un livre permettant d'apprendre à maîtriser le framework web Angular 2. Sur le modèle des Humble Bundle, cet ebook est proposé à prix libre, et en soutien optionnel à une association : l'EFF, qui défend un Internet libre dans le monde.

Si Angular 2 est encore en beta, cet ebook vous donnera toutes les clés pour connaître ses prérequis (ECMAScript 6, TypeScript, Web Components), découvrir sa philosophie (ce qui a évolué depuis la version précédente AngularJS), et construire une véritable application.

Les mises à jour de l'ebook seront fournies gratuitement.

NdM: la licence interdit explicitement la vente, l'utilisation commerciale et la redistribution.

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 4 de l'année 2016

23 janvier, 2016 - 19:35

Calendrier web, regroupant des évènements liés au Libre (logiciel, salon, atelier, install party, conférence) en France, annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 35 événements est en seconde partie de dépêche.

Sommaire Agenda du Libre pour la semaine 4 de l'année 2016 [Kunheim] Formation Linux - Le lundi 25 janvier 2016 de 18h00 à 22h00.

Tous les lundis à partir de 18h00 jusqu'à 22h00 venez découvrir ou vous former sur Linux et les logiciels libres.
Ces séances de formation ont lieu à la salle "Kegreiss" au 56 rue principale - Kuhneim - face à la mairie - cette salle est accessible aux personnes à mobilité réduite.
Nous vous attendons nombreux. Le Team Linux

[Rennes] Rencontre mensuelle des contributeurs OpenStreetMap 35 - Le lundi 25 janvier 2016 de 20h30 à 23h00.

La cartographie collaborative vous intéresse, vous contribuez un peu, beaucoup à OpenStreetMap :
cette rencontre est ouverte à tous, débutants, expérimentés, curieux…
La salle dispose d'un videoprojecteur et d'une connexion Internet.Venez avec votre ordinateur portable dans la mesure du possible.

[Teyran] Notions PC - Le mardi 26 janvier 2016 de 09h00 à 10h00.

Enregistrer, importer, manipuler des fichiers sonores avec Audacity
Téléchargement, installation et première approche du logiciel Gimp
Mettre en page une lettre avec le traitement de texte LibreOffice Writer

[Castelnau-le-Lez] Section GNU/Linux - Le mardi 26 janvier 2016 de 10h00 à 12h00.

Rendez-vous hebdomadaire, tous les mardis, salle 38 de la mjc (hors vacances scolaires).
L’équipe de Montpel’libre vous propose une permanence de dépannages pour vous aider à vous familiariser avec votre système GNU/Linux au quotidien.
Le contenu de l’atelier s’adapte aux problèmes des personnes présentes et permet ainsi d’adapter l’acquisition de nouvelles compétences au rythme de chacun.

[Castelnau-le-Lez] Atelier de développement et programmation - Le mardi 26 janvier 2016 de 10h00 à 12h00.

Rendez-vous hebdomadaire, tous les mardis, salle 40 de la mjc (fermé pendant les vacances).
Cet atelier de développement est essentiellement axé sur les langages du Web : html, css (même si ce ne sont pas des langages à proprement parler) javascript et PHP, possibilité aussi d’utiliser Ajax, Jquery, Sqlite et MySql.
Notre équipe vous attend pour répondre à vos questions et satisfaire votre curiosité.

[Brignoles] Réunion mensuelle de Gullivar - Le mardi 26 janvier 2016 de 18h30 à 21h30.

Les membres de l'association GULLIVAR (Groupe d'Utilisateurs de Logiciels Libres de l'Intérieur du Var) vous invitent à leur réunion mensuelle qui aura lieu le 26 janvier 2016, de 18h30 à 21h30, dans la salle des Saint Anges, chemin de San Sumian à Brignoles à partir de 18h30.
Cette soirée est ouverte à tous, adhérents et sympathisants.
Un Accès Haut débit par Ethernet et wifi est disponible pour la mise à jour et l’installation de distributions GNU/Linux.

[Schiltigheim] Install Party Linux - Le mardi 26 janvier 2016 de 18h30 à 22h30.

Le Linux User Group de Strasbourg et L'association Desclicks organisent chaque dernier mardi du mois une Install Party Linux ouverte à tous.
La soirée débute à 18h30 dans les locaux de l'association Desclicks au 3 rue St Paul à Schiltigheim.
Afin de réaliser l'installation et la mise en route du système dans les meilleures conditions, nous invitons les personnes intéressées à nous indiquer leur venue par mail à contact@desclicks.net ainsi qu'à se présenter avant 20h.

[Paris] Maîtriser l'encodage de caractère - Le mardi 26 janvier 2016 de 19h00 à 21h00.

Back to B-A-Basic : Maîtriser l?encodage de caract�res (Latin1, Unicode, UTF8)
Dans la série des ateliers Back to Basics Silex Labs vous propose un nouvel atelier pour comprendre et maîtriser l’encodage des caractères.
À propos de l’encodage

[Toulouse] QJELT, le repas du Libre Toulousain - Le mardi 26 janvier 2016 de 20h00 à 23h00.

Le groupe d'utilisateurs de Logiciels Libres de Toulouse Toulibre en collaboration avec Tetaneutral.net fournisseur d'accès internet et hébergeur libre proposent aux sympathisants de se retrouver l'un des mardis ou jeudis de chaque mois pour échanger autour des logiciels Libres, des réseaux libres, discuter de nos projets respectifs et lancer des initiatives locales autour du Libre. Ce repas est ouvert à tous, amateurs de l'esprit du Libre, débutants ou techniciens chevronnés.
Ce Qjelt aura lieu le mardi 26 janvier 2016 à 20 heures, au restaurant Bois et Charbon situé au 64 rue de la Colombette à Toulouse. C'est à proximité de la place Saint Aubin accessible par le métro à la station Jean Jaurès (ligne A et B). Entrée/plat/dessert + 1/4 de vin à 18€.
Pour des raisons de logistique, une inscription préalable avant la veille est nécessaire sur cette page.

[Lyon] Rencontre Python - Le mercredi 27 janvier 2016 de 19h00 à 21h00.

Une rencontre Python est un moment convivial où les développeurs et développeuses intéressés par Python se rencontrent pour discuter de ce langage.
Chaque rencontre donne lieux à une présentation. Ce mois ci, nous parlerons de Pew.
Pew est un outil permettant de gérer plusieurs environnements virtuels Python, écrit en Python. Après un rapide retour sur la notion d'environnement virtuel, nous ferons une présentation de pew et de ses avantages par rapport à ses concurrents.

[Chelles] Formation MAO "LMMS" Part1 - Le mercredi 27 janvier 2016 de 20h00 à 23h00.

MODULE « Logiciel de MAO - LMMS » : la présence aux 2 ateliers est requise.
Module 1 : LES CUIZINES (CHELLES, 77) : Mercredi 27 janvier 2016 – Gratuit – 20h-23h Module 2 : FILE7 (MAGNY LE HONGRE, 77): Mercredi 03 février 2016 – Gratuit – 20h-23h
ATELIER « LMMS » Intervenant : Yann COLLETTE

[Orléans] Latex, une alternative bureautique - Le mercredi 27 janvier 2016 de 20h30 à 22h20.

La prochaine conférence de Cenabumix aura lieue mercredi 27 Janvier 2016 de 20h30 à 22h30 à la maison des associations d’Orléans
sur le thème : La bureautique alternative avec Latex
LaTeX est un formidable outil permettant de réaliser des documents complexes et volumineux (rapports, articles scientifiques, livres), sans se soucier de leur mise en page.

[Mauguio] Infolibres - Le jeudi 28 janvier 2016 de 17h00 à 19h00.

Rendez-vous salle de formation informatique de la médiathèque.
L’équipe de Montpel’libre vous propose une permanence de dépannages pour vous aider à apprivoiser votre système GNU/Linux au quotidien. Le contenu de l’atelier s’adapte aux problèmes des personnes présentes.
Vous pourrez y aborder entre autre :

[Martigues] Le traitement de l'image : Gimp - Le jeudi 28 janvier 2016 de 18h00 à 19h30.

L’association ULLM (les Utillisateurs de Logiciels Libres du Pays Martégal) en collaboration avec ECM vous présente le programme de ses ateliers du première trimètre 2016.
Le jeudi 28 janvier de 18h00 à 19h30
Le traitement de la photo avec Gimp.

[Nîmes] Atelier Linux - Le jeudi 28 janvier 2016 de 18h15 à 20h45.

Bonjour à tous,
L'association Gard-Linux propose un rendez-vous à tous ceux qui sont intéressés par Linux :
jeudi 28 janvier 2016 de 18h15 à 20h45

[Lyon] Jeudi Bidouille - Le jeudi 28 janvier 2016 de 19h00 à 21h00.

Atelier de dépannage et de partage de connaissance entre utilisateurs de logiciels libres / Dépannage après une install party et réponses à des questions sur les logiciels libres
L'ALDIL accompagnée d'associations partenaires viennent dialoguer avec des utilisateurs de logiciels libres pour les dépanner après une Install party, répondre à des questions d'odre logiciel ou matériel sur la migration vers un système GNU/Linux ou l'utilisation de logiciels libres.
Chacun peut venir avec son ordinateur et se faire accompagner dans la résolution de son problème.

[Bordeaux] Joomapéro : atelier forum en live - Le jeudi 28 janvier 2016 de 19h00 à 21h30.

Régulièrement le JUG de Bordeaux organise un atelier de débugage Joomla, atelier rencontrant un certain succès auprès de nos Joomlers locaux. En quoi cela consiste-t-il ? Très simple, vous venez avec votre site, soit sur clé USB, soit sur votre ordinateur portable, soit en ligne, et l'ensemble des Joomlers se met dessus pour résoudre le problème qui vous bloque depuis des heures, des mois, ou des années ? ;)
Comme d'habitude cet atelier gratuit est placé sous le signe de la convivialité donc pensez à apporter de quoi boire et grignoter (la galette des rois étant encore d'actualité en cette fin janvier…)Nous partagerons tout cela autour d'un sourire et d'une bonne discussion entre amis.
Un rendez-vous à ne pas manquer pour bien commencer cette année 2016 ! #jcommunity #jpositiv

[Paris] Apéro contributhon Silex Labs avec Parinux - Le jeudi 28 janvier 2016 de 19h00 à 23h00.

Pour bien débuter 2016, Silex Labs lance l’apéropen source v2 en partenariat avec Parinux !
En effet tous les jeudi Parinux propose aux utilisateurs et aficionados de logiciels libres de se réunir autour de projets libres afin d’apporter une pierre de plus à ces édifices communs.
Du coup, on s’est dit que ce serait une bonne idée de fusionner notre apéro mensuel avec eux pour mettre en commun nos forces et savoir au service du libre.

[Paris] Soirée de Contribution au Libre - Le jeudi 28 janvier 2016 de 19h30 à 23h00.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.
Nous nous réunissons donc tous les jeudis soirs dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies)).
Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

[Paris] Rencontres des contributeurs OpenStreetMap - Le jeudi 28 janvier 2016 de 19h30 à 21h30.

Le groupe local d'OpenStreetMap (Paris et IdF) se réunit les derniers jeudis de chaque mois.
Ce mois-ci, c'est à la FPH via Parinux: Soirée de Contribution au Libre
Amenez votre ordinateur, le courant et Internet sont fournis. Il est de coutume de ramener des choses à manger pour partager avec les autres libristes qui partagent cette soirée.

[Lunel] Permanences « À la carte » Logiciels Libres & GNU/Linux - Le vendredi 29 janvier 2016 de 11h00 à 12h00.

L’intérêt de cette présence est d’avoir une information autour des postes Linux que nous avons installé à la médiathèque pour expliquer ce qu’est GNU/Linux et introduire les ateliers que nous animons à la médiathèque.
Une question sur l’informatique avec un environnement GNU/Linux ou sur tablette ?
Une aide sur les logiciels libres ?

[Montpellier] Permanence Les logiciels libres parlons-en ! - Le vendredi 29 janvier 2016 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?
Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00 (ou au delà sous réserve d’accord préalable), au 19, rue du Faubourg de Nîmes, 34000 Montpellier.
Si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante et si vous êtes intéressés par la promotion des logiciels libres, des biens communs, de l’accessibilité, de l’économie sociale et solidaire, de l’innovation sociale et numérique, de l’éducation populaire, ou encore du développement durable.

[Villeneuve d'Ascq] Libre à Vous - Le samedi 30 janvier 2016 de 09h00 à 12h00.

Vous souhaitez tester GNU/Linux sur votre ordinateur, vous recherchez un logiciel pour une fonction précise, des conseils ou de l'aide sur les logiciels libres ?
Libre à Vous est une permanence destinée à vous faciliter l'utilisation de l'informatique. Vous repartirez avec « le plein » de logiciels libres, fiables, évolutifs, performants et gratuits.
C'est chaque samedi matin au Centre d'Infos Jeunes à la ferme Dupire, 80 rue Yves Decugis à Villeneuve d'Ascq (métro Triolo) de 9h00 à 12h00.

[Lyon] DDD Day : DDD en PHP - Le samedi 30 janvier 2016 de 09h00 à 16h30.

Le DDD-Day (D4 ou Domain-Driven Design Day) aura lieu le samedi 30 janvier 2016 à l’atelier des médias de 9H00 à 16H30.
Cette conférence gratuite et en Français aura pour objectif de démystifier l’utilisation du DDD en PHP.
Le programme est le suivant :

[Saint-Martin-de-Londres] Rendez-vous des Garrigues : Expérimentons une opération libre - Le samedi 30 janvier 2016 de 09h30 à 18h00.

Sur le modèle des Opérations Libres, le Collectif des Garrigues s'associe à Montpel'libre, le Relais-SML, Mise à Jour et Radio Escapades pour organiser une rencontre visant à collecter et publier sous licence libre les données de la commune de Saint-Martin de Londres, avec votre participation et celle des habitants.
L'objectif est de contribuer à la création de biens communs au cours d'ateliers qui auront lieu tout au long de la journée, pendant lesquels vous découvrirez comment collecter des données (historiques, botaniques, géographiques…) pour les diffuser sur des plates formes libres telles qu'Open Street Map, Wikipédia, Wikimédia commons, Téla botanica…
Au programme :

[Courbevoie] Atelier StarinuX - La carte micro-ordinateur RASPBERRY-PI 2 - Le samedi 30 janvier 2016 de 09h30 à 18h00.

Les ateliers de StarinuX redémarrent après trois mois d'arrêt, dûs à une réorganisation de ses salles de formation.
Voici le prochain :
* La carte micro-ordinateur RASPBERRY-PI 2 *

[Lyon] Install Party - Experiences Numériques - Le samedi 30 janvier 2016 de 10h00 à 18h00.

Install party Linux - ALDIL
Dans le cadre des Expériences numériques de la Maison pour Tous des Rancy, l'Association Lyonnaise pour le Développement de l'Informatique Libre organise une installation de logiciels libres en partenariat avec des promoteurs de distributions GNU/Linux.
Chacun peut venir avec son ordinateur et se faire accompagner pour tester, installer un système GNU/Linux.

[Séné] Stand de découverte des Logiciels Libres au Forum Social Local du Morbihan - Le samedi 30 janvier 2016 de 10h00 à 17h00.

Comme depuis pas mal d'années maintenant, Rhizomes (groupe d'utilisateur de Logiciels Libres) du Morbihan participe au forum social local du Morbihan (FSL56) en Bretagne.
Retrouvez-nous pour découvrir qu'un autre monde de logiciels est possible. Au menu : démonstrations, installations…

[Lyon] Expériences Numériques - Le samedi 30 janvier 2016 de 10h00 à 19h00.

Faire des Expériences Numériques ? Rien de plus simple avec l'évènement organisé par L'EPN des Rancy (situé au 249 rue vendôme - 69003 Lyon) en collaboration avec l'Aadn, l'Aldil, Illyse ….
Tester et/ou découvrir des jeux vidéos ; créer des petits robots ; protéger votre vie privée ; tester et se faire installer des logiciels libres; réaliser des cartes de géographie ; animer des objets rétro-éclairés …… Le programme est aussi vaste que l'univers numérique.
La 16ème édition  se déroulera le samedi 30 janvier de 10h à 19h (entrée gratuite)

[Ramonville Saint Agne] Atelier web: les CSS - Le samedi 30 janvier 2016 de 14h00 à 18h00.

Deux nouvelles animations organisées très prochainement par le Projet Internet et Citoyenneté à la Maison des Associations de Ramonville. Ces deux animations sont complémentaires: c'est une bonne idée de participer aux deux, mais ce n'est pas obligatoire.
1/ SAMEDI 30 JANVIER 2016: Personnaliser son site Web avec les CSS: Initiation aux CSS. À partir de la version distribuée de SPIP, personnaliser son site en modifiant les fichiers CSS.
2/ SAMEDI 13 FEVRIER 2016: Initiation à l’écriture/modification des squelettes qui conditionnent les fonctionnalités présentes dans les pages d’un site sous SPIP. Modifier le squelette des articles, rubriques, etc. pour changer l’aspect et les fonctionnalités présentes dans les pages du site.

[Marseille] Install Party GNU/Linux - Le samedi 30 janvier 2016 de 14h30 à 19h00.

L’association CercLL (CercLL d’Entraide et Réseau Coopératif autour des Logiciels Libres) vous invite à une install party GNU/Linux, le samedi 30 janvier 2016 de 14h30 à19h30, dans la salle de la Fabulerie au 4 rue de la Bibliothèque 13001 Marseille (prés du Conservatoire).
Vous avez envie de découvrir un système d’exploitation libre, simple d’utilisation, stable, rapide et sécurisé. Une nouvelle façon d’utiliser votre ordinateur.
Vous vous sentez une affection naissante pour le Gnou et le Manchot, les mascottes de GNU/ Linux.

[Lyon] Atelier Vie Privée - Le samedi 30 janvier 2016 de 16h00 à 18h00.

Cet atelier vous propose de découvrir comment protéger vos données personnelles tout en ayant une vie numérique remplie
Les thèmes abordés sont orientés sur l'usage d'Internet et de la protection des données (chiffrement des courriels, navigation anonyme, messagerie…)
Lieu : Maison Pour Tous / Salle des Rancy - 249 rue Vendôme Lyon 69003

[Lyon] Atelier TupperVim - Le samedi 30 janvier 2016 de 16h00 à 18h00.

Atelier TupperVim - ALDIL Réunions d'utilisateurs de l’éditeur de texte libre Vim (débutants ouavancés) durant lesquelles chacun des participants échange des trucs et astuces.
Ces sessions sont l’occasion de s’initier à son utilisation,d’approfondir ses connaissances, d’échanger ses vimrc respectifs, ouencore de découvrir des greffons pour aller plus loin.
Toute personne,quel que soit son niveau, est la bienvenue. Lieu :  la Maison pour Tous - Salle des Rancy 249 rue Vendôme 69003 LyonEntrée libre et gratuite

[Lyon] TupperVim - Le samedi 30 janvier 2016 de 16h00 à 18h00.

Les TupperVim sont des réunions d'utilisateurs de l’éditeur de texte libre Vim (débutants ou avancés) durant lesquelles chacun des participants échange des trucs et astuces.
Vim étant un éditeur très riche et hautement paramétrable, ces sessions sont l’occasion de s’initier à son utilisation, d’approfondir ses connaissances, d’échanger ses vimrc respectifs, ou encore de découvrir des greffons pour aller plus loin.
Toute personne, quel que soit son niveau, est la bienvenue.

[Strasbourg] Atelier découverte Raspberrypi - Le dimanche 31 janvier 2016 de 14h00 à 18h00.

Venez découvrir les RaspberryPi et autres nanos ordinateurs.
Des milliers d'utilisations possible, du media center au serveur domestique, une console de jeux retros…
Démonstration du rapsberrypi B+ avec OpenElec (media center) et Raspbian (distribution bureautique et serveur).

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 7.4 de Bokeh

22 janvier, 2016 - 14:46

Bokeh est un portail documentaire libre et communautaire sous licence AGPLv3.

Il permet aux réseaux de médiathèques d'agréger leurs fonds physiques (livres, DVD, journaux…), numériques (fonds patrimonial numérisé, par exemple) ainsi que catalogues numériques externes (Arte VOD, Jamendo, Numerique Premium…).

Le moteur d'indexation et de recherche intégré offre une interface unifiée aux utilisateurs pour qu'ils puissent consulter ce fonds, rechercher des documents précis ou bien élargir sur des ressources susceptibles de les intéresser.

Les abonnés aux médiathèques peuvent réserver des documents ou gérer leurs prêts entre autres. CMS et gestion de lettres d'information permettent au médiathécaires de publier la programmation évènementielle du réseau, d'enrichir et mettre en avant leurs fonds.

Cette version comporte de nombreuses évolutions du moteur de recherche :

  • ajout des suggestions qui permettent d'améliorer la pertinence des recherches ;
  • l'élargissement de la recherche à d'autres sites ;
  • la possibilité de restreindre la recherche à des domaines favoris ;
  • la personnalisation de l'impression du résultat de recherche ;
  • l'abonnement à une recherche via flux RSS ;
  • l'amélioration des performances du moteur (avec affichage des temps de recherche) et calculs des facettes en totalité.

Bokeh 7.4 offre aussi la possibilité de s'interfacer avec la plateforme de Prêt Numérique en Bibliothèque de Dilicom (qui n'offre malheureusement pour l'instant que des livres sous DRM Adobe).

Vous pouvez consulter la liste complète des nouvelles fonctionnalités.

Et l'avenir ?

Actuellement Bokeh fournit un portail libre à plus de 200 réseaux de médiathèques.

Nous aimerions élargir la communauté Bokeh :

  • intégration avec plus de SIGB: actuellement Bokeh peut communiquer via web services avec une douzaine de plateformes libres (Koha, Nanook) ou non (Aloes, Orphée…). Plus il y en a, mieux c'est ;
  • internationalisation : nous avons besoin d'aide pour la traduction, pour les courageux, nous avons ouvert un projet sur Transifex ;
  • plus de forks du code source, de merge requests, de hackfests et d'initiatives à l'instar du projet Waterbear;
Télécharger ce contenu au format Epub

Lire les commentaires

Mise à jour de la compilation de logiciels libres pour Windows (janvier 2016)

22 janvier, 2016 - 11:56

La compilation de logiciels libres faite avec COMPILIBRE a été mise à jour. Elle est disponible en téléchargement (merci à Framasoft qui offre un stockage FTP) ; le fichier ZIP à décompresser sur votre ordinateur ou une clé USB fait environ 5,1 Go.

Au menu, des mises à jour, des nouveautés comme le logiciel de généalogie Gramps, GnuCash, Gpg4win, KeePassX, OpenJDK, WinCompose qui a fait l'objet d'un article récent sur LinuxFr.org, la suppression de logiciels qui installent maintenant des virus ou d'autres logiciels indésirables (CC PDF Converter, PDF Creator, FreeFileSync) et qui salissent l'image des logiciels libres.

La compilation fonctionne sur une clé USB, c'est pratique si vous voulez installer des logiciels libres sur des postes Windows qui ont un accès bas débit ou pas d'accès internet du tout, prévoir dans le dernier cas d'y ajouter des bibliothèques de base (JAVA ou ZULU en 64 bits), Visual C++ 2005/2008/2010/2012/2013/2015, .NET Framework 3.5/4 ou 4.5.

Pour que le projet évolue, faites un don sur le site web du projet. De l'aide est aussi recherchée pour remplacer l'interface en XUL de l'installeur par une interface en HTML5.

Télécharger ce contenu au format Epub

Lire les commentaires

Entretien avec Nicolas Auvray, contributeur du projet 0 A.D.

22 janvier, 2016 - 11:53

0 A.D. : Empires Ascendant est un jeu vidéo de stratégie en temps réel (RTS) historique en 3D développé par Wildfire Games.

C'est un projet libre (code sous GNU GPL v3, données sous CC by-sa 3.0), au développement ouvert, visant des standards de qualité artistique comparables à ceux de l'industrie, ainsi qu'un grand respect de la réalité historique.

Le jeu, multiplate-forme et multilingue, permet d'incarner 12 factions qui ont marqué l'Histoire entre les rives de l'Atlantique et la chaîne de l'Himalaya, au cours de la période allant de -500 à -1.

0 A.D. : Empires Ascendant a été libéré en 2009. Depuis, le projet a eu un parcours mouvementé, tant sur le plan technique que sur les plans budgétaire et humain. Dernier challenge en date : recoder complètement l'algorithme de recherche de chemin (pathfinder), bout de code extrêmement complexe et jusqu'alors responsable de la majorité des ralentissements que subissait le jeu depuis plus de trois ans. Le 12 juin 2015, Nicolas Auvray (Itms), contributeur du projet, commite un nouveau pathfinder qui améliore de façon significative les performances de la version svn du jeu. En fin d'année 2015, alors que la version alpha 19 "Syllepsis" vient de sortir, équipée de ce nouveau pathfinder, nous avons le plaisir d'interroger Nicolas dans les colonnes de LinuxFr.org.

Bonjour Itms, peux-tu te présenter ?

Bonjour eingousef ! Et merci de m'accueillir sur LinuxFr.org :-)
Pour les présentations, je m'appelle Nicolas Auvray dans la vraie vie et j'étudie la physique à l'ENS de Lyon. Je suis aussi passionné par plein d'autres choses en dehors, en particulier la programmation et l'Antiquité, ce qui fait de moi une proie facile pour un projet comme 0 A.D. !

Comment en es-tu venu au libre en tant qu'utilisateur et développeur ?

Je ne sais pas exactement comment je suis venu au libre en tant qu'utilisateur, mais comme beaucoup d'autres français, j'ai découvert la programmation sur feu le Site du Zéro, qui à l'époque faisait découvrir non seulement des outils libres mais aussi l'envers du décor et nous incitait à participer en tant que développeurs débutants à des projets libres. Puisque je suis sur LinuxFr.org, c'est par exemple à cette époque que j'ai découvert Linux, et même si je continue à utiliser un OS privateur au quotidien, y compris pour développer, j'ai toujours quelques machines virtuelles sous la main !

Comment as-tu découvert 0 A.D. et commencé à y contribuer ?

J'ai découvert 0 A.D. via un blog que je suis depuis un longtemps, celui de Dedoimedo, un blogueur qui a un avis (parfois très tranché) sur un peu tout, qui a consacré plusieurs posts au jeu il y a un certain temps. Je suis tout de suite tombé amoureux du jeu parce que c'était un projet très accueillant qui m'a tout de suite donné envie de contribuer, parce que je suis passionné par cette période antique et ses cultures, et que j'ai beaucoup joué à des jeux de type RTS. Malheureusement, je n'ai pas pu commencer à participer, parce que j'étais en prépa ! Mon idée de contribuer à 0 A.D. a donc dû sommeiller un bout de temps, et c'est à la rentrée 2013, en arrivant dans mon école (et en retrouvant une vie) que j'ai proposé mes premiers patchs pour le jeu et que j'ai commencé à rencontrer les gens de la communauté.

Tu as donc pu suivre le cheminement du jeu entre 2010 et 2012 si j'ai bien compris, grosso-modo sur les 12 premières alphas, en plein dans la période de "renaissance" de 0 A.D. Comment as-tu vu évoluer le projet depuis que tu y es impliqué ?

Non, pas vraiment, parce qu'en prépa je n'ai pas pu suivre grand chose ! C'est en sortant que je me suis souvenu de 0 A.D. Depuis que je suis impliqué dans le projet, il y a eu très peu de gros changements à mon avis, on fonctionne toujours à peu près de la même façon, mais on approche de plus en plus de la bêta et du coup il y a de moins en moins de nouveautés dans le code et les sorties de nouvelles versions s'espacent de plus en plus. On essaie de contrer ce phénomène parce que c'est mauvais pour attirer des contributeurs, vu qu'une nouvelle version ça nous donne beaucoup de visibilité.

Effectivement le projet a eu des hauts et des bas, mais il continue à avancer, quelles sont les barrières qu'il reste à franchir ?

La barrière majeure qu'il nous reste à franchir, c'est un problème d'équilibrage du jeu. Il faut rendre le jeu agréable à jouer, et c'est tout un métier ! Il y a un juste milieu à trouver entre profondeur de jeu et simplicité, et dans notre cas on doit aussi tenir compte du réalisme du jeu, parce qu'un des objectifs est d'avoir un jeu le plus exact possible historiquement. Malheureusement les fondateurs de 0 A.D. sont en grande partie inactifs désormais, et on ne peut pas se contenter du retour des joueurs sur ce point parce que tout le monde a une opinion différente, on ne peut pas faire un jeu qui plaise à tout le monde.

Au niveau des défis qu'il nous restent à franchir du point de vue "programmation", on est face à un problème de performance qui nécessite énormément d'investissement. On a nettement amélioré les choses dernièrement, mais l'optimisation du jeu est un défi qu'on ne peut pas relever d'un coup, on doit procéder par petites touches. En particulier, une grosse source de ralentissement venait de nos algorithmes de recherche de chemins, ce qui est un problème récurrent dans le développement de jeux vidéos ! Récemment, j'ai intégré au jeu un nouvel algorithme pour les chemins longs, mais celui pour les chemins courts reste une source de problèmes. Personnellement, cette année scolaire je n'ai que très peu (voire pas) de temps à consacrer à 0 A.D., mais il s'agit d'une de mes priorités pour quand ma vie sera moins chargée !

Nous avons effectivement eu plusieurs fois l'occasion d'évoquer le code de recherche de chemin, ou "pathfinder" en anglais, sur LinuxFr.org dans les annonces relatives à 0 A.D.. Mais pour les lecteurs qui ne seraient pas très familiers avec le concept, est-ce que tu pourrais expliquer ce qu'est un pathfinder, son rôle et comment il opère ?

L'objectif de la recherche de chemins, c'est de permettre au jeu de trouver les plus courts chemins entre deux points en présence d'obstacles. En effet, les humains sont très doués pour déterminer de tels chemins, c'est quasiment instinctif, mais du point de vue de l'informatique théorique c'est un problème extrêmement complexe. Du coup, la complexité ça se traduit par un nombre très important de calculs à effectuer et ça diminue les performances du jeu (en clair, ça fait lagger ;-) ) Dans 0 A.D., la recherche de chemins est essentielle pour deux systèmes : les unités, qui doivent trouver comment aller de leur position actuelle à celle que le joueur leur indique, et l'intelligence artificielle (l'IA), contre qui on peut jouer en mode solo, qui peut avoir besoin de déterminer un chemin qui évite la base de l'adversaire, etc. Il faut aussi savoir que le pathfinder est couplé à la détection des collisions, parce que si l'unité calcule un chemin, et que durant son déplacement un bâtiment est construit, elle doit le détecter et le contourner, par exemple. De manière générale, le gros problème n'est pas de trouver le plus court chemin (c'est bien sûr la ligne droite), mais plutôt d'éviter les collisions.

Donc plutôt que d'avoir un pathfinder qui explore tous les chemins possibles après le point de départ, ce qui consommerait beaucoup trop de ressources, on utilise un pathfinder qui va d'abord essayer la ligne droite, puis, s'il rencontre un obstacle, chercher dans toutes les directions de façon incrémentale, puis choisir le meilleur chemin parmi ceux qu'il a trouvé pour contourner l'obstacle, c'est cela ? Ou bien c'est plus complexe ?

C'est à peu près ça : tu as grosso modo décrit la différence entre l'algorithme de Dijkstra et le A* que nous utilisons pour le pathfinder longue portée. En réalité c'est légèrement plus compliqué mais les pages Wikipédia des deux algorithmes expliquent ça très bien ! Et pour les lecteurs plus versés en algorithmique, un des changements du nouveau pathfinder est d'utiliser l'optimisation dite "Jump point search" (je traduirais ça par "recherche par sauts" mais je ne connais pas la traduction officielle) qui est particulièrement efficace car dans 0 A.D., tous les chemins de même longueur sont équivalents (il n'y a pas de zones plus difficiles à traverser que d'autres).

[NdR : Représentations de processus de recherche de chemin entre un point de départ et un point d'arrivée, sur une carte disposant d'un obstacle entre ces deux points, l'un utilisant l'algorithme de Dijkstra, l'autre utilisant l'algorithme A*. On voit bien la différence de rapidité entre les deux algorithmes sur un cas pratique courant.]

Quelles sont les particularités du pathfinder de 0 A.D., et en quoi celui-ci diffère-t-il des pathfinders des autres jeux libres (Megaglest, Warzone 2100…) ?

Je ne connais pas trop les pathfinders d'autres jeux, malheureusement. Les particularités du pathfinder de 0 A.D., c'est probablement d'en avoir deux : un à courte distance et un à grande distance. L'idée, c'est que si on décide de prendre en compte toutes les collisions possibles, avec les bâtiments, les unités qui bougent, etc, on va faire planter le jeu, purement et simplement, c'est bien trop complexe. Donc on calcule un chemin "long", qui ne prend en compte que les obstacles fixes, et si jamais on entre en collision avec quelque chose, on calcule un chemin local avec le pathfinder courte portée, qui est moins efficace car il regarde tout, mais c'est compensé par le fait qu'il ne regarde que peu d'objets, ceux qui sont proches. Une autre particularité est que l'IA du jeu, Petra, est très aboutie et a donc des besoins assez importants, le pathfinder doit donc être capable de les satisfaire.

Je crois savoir que beaucoup de contributeurs se sont relayés les uns après les autres sur le développement du pathfinder de 0 A.D., est-ce que tu pourrais nous donner plus de détails sur l'historique de celui-ci, avant et après la refonte ?

Je ne connais pas trop l'historique de l'ancien pathfinder. Quand je suis arrivé, Philip Taylor (Ykkrosh), qui est le programmeur qui a entièrement réécrit le code de la simulation (c'est-à-dire les unités, les bâtiments, les attaques, les ressources, etc.) de 0 A.D. au moment où le jeu est devenu libre et open-source (c'est vous dire le niveau de cet homme !), avait écrit un prototype de nouveau pathfinder avant de devoir se retirer de l'équipe par manque de temps. Le nouveau pathfinder introduisait un graphe des régions de la carte connectées, pour pouvoir optimiser pas mal de fonctions, et ajoutait la fameuse optimisation "Jump Point Search" au pathfinder à longue portée.

Du coup ce nouveau pathfinder prenait la poussière sur un dépôt git, et une ou deux personnes qui avaient essayé de le finir et de l'intégrer au jeu avaient abandonné : je pense à quantumstate, qui n'était déjà plus actif quand je suis arrivé, mais je crois qu'il y a eu d'autres tentatives. D'ailleurs quantumstate avait déjà écrit le pathfinder de l'IA, donc il a été important dans l'historique de ce système. À l'été 2014, wraitii s'est à son tour lancé et a dû arrêter par manque de temps mais j'ai accepté de continuer son travail, et, cette fois, ça nous a vraiment permis d'avoir une base solide pour l'intégration du code. J'y ai passé presque un an, j'ai reçu l'aide de kanetaka, un contributeur occasionnel qui avait proposé un patch pour l'ancien pathfinder qu'on a intégré dans le nouveau, et qui a corrigé quelques bugs et ajouté des optimisations. J'ai aussi eu un coup de main de la part de mimo, qui est le développeur qui s'occupe de l'IA en ce moment, et de sanderd17 qui a corrigé quelques bugs de dernière minute. Et enfin, depuis le "commit" de ce code en juin, j'ai introduit quelques optimisations et corrigé toujours plus de bugs. :-)

Visiblement les premiers travaux sur le nouveau pathfinder datent de bien avant la focalisation sur les problèmes de performance : qu'est-ce qui posait problème avec l'ancien pathfinder et pourquoi fallait-il en écrire un nouveau ?

Le nouveau pathfinder a quand même été écrit pour améliorer les performances : ce problème a toujours été critique, même si on ne se focalise plus dessus en ce moment parce que le projet est plus avancé. Le problème essentiel de l'ancien pathfinder (qui n'impactait pas seulement la performance d'ailleurs), c'est qu'il ne savait pas si deux points de la carte étaient accessibles l'un à partir de l'autre. Ça le limitait énormément, et bien sûr ça causait aussi d'affreux ralentissements quand le joueur (ou, plus souvent, l'IA) demandait aux unités d'aller d'un endroit à un autre non accessible et que le jeu tentait de calculer des chemins impossibles. Ça se voit pas mal sur les illustrations de Dijkstra et de A* mises plus haut : si jamais tu trouves un chemin, le calcul est fini, mais si il n'y en a pas, il faut tester tous les chemins possibles avant de s'arrêter !

La connaissance de l'accessibilité d'une zone de la carte à partir d'une autre, l'inclusion de l'optimisation Jump Point Search dont tu as parlé (si j'ai bien compris il s'agit de représenter l'espace en un ensemble de "nœuds" interconnectés et de lancer dessus un dérivé de l'algorithme A* (JPS donc), optimisé pour ce type de représentation)… Quelles autres différences techniques y a-t-il entre le nouveau pathfinder et l'ancien ?

Il y a plein de petites choses qui ont changé mais globalement ce sont les deux changements majeurs au niveau du design.

À part ça, un changement assez technique a été effectué au niveau de la gestion des obstructions, dans le but d'accélérer la recherche de chemins : pour simplifier, les bâtiments et autres obstructions sont maintenant traités comme des zones infranchissables de la carte elle-même (comme l'eau ou les pentes escarpées). Ça accélère drastiquement la recherche de chemins, mais ça oblige à mettre à jour la carte en permanence, parce que les bâtiments sont construits, détruits, etc. Du coup pour que le bilan soit favorable, j'ai dû réécrire ce nouveau code qui "aplatit" les obstructions sur la carte.

Enfin, j'en ai parlé un peu plus haut, le nouveau pathfinder est accessible par l'IA (qui est écrite en JavaScript pour pouvoir être moddée) et donc on a pu se débarrasser du petit pathfinder personnalisé de l'IA, qui mangeait énormément de ressources et qui avait été introduit de manière temporaire.

Comment en es-tu arrivé à travailler sur le pathfinder de 0 A.D. et quelles étaient les particularités de ton travail au sein de Wildfire Games (qualités demandées, niveau de difficulté, salaire, temps, moyens…) ?

Ça s'est fait comme ça, wraitii n'était plus dispo pour continuer son travail, au cours d'un meeting on a décidé que je reprendrais le projet, avec l'aide de l'équipe bien entendu. On passe tous beaucoup de temps sur le jeu, on se sent quand même responsables du développement, mais notre travail est 100 % bénévole ! Pas de salaires ou autres, seulement de la motivation et une excellente ambiance. La difficulté et les qualités, ça dépend beaucoup des tâches, il y a beaucoup de choses très simples et quelques problèmes très compliqués (comme le pathfinder). Très peu d'entre nous sont aussi des développeurs dans la vraie vie, donc pour la plupart c'est face à un problème qu'on apprend à le résoudre, on ne dispatche pas les tâches en fonction des compétences de chacun, mais plutôt en fonction de ce sur quoi on aimerait travailler. Et on est très très contents quand des contributeurs nouveaux ou occasionnels nous aident ! Même les tâches simples demandent beaucoup (trop) de temps donc quand on reçoit de l'aide le jeu avance à plus grands pas ! Et pas besoin d'être une divinité de la programmation pour nous donner un coup de main ;-)

La communauté 0 A.D. n'a pas de divinités mais elle a ses héros, et pour beaucoup de fans du jeu tu as rejoint ce panthéon en permettant au projet de refonte du pathfinder d'atteindre son premier jalon (la finalisation du pathfinder longue-distance), et de revenir à des performances décentes dans la version alpha 19 du projet (un véritable soulagement !). Mais tu as dit que tu continuais à travailler sur le pathfinder et les performances, que reste-t-il encore à faire ?

Il s'agit essentiellement de travailler sur le pathfinder courte portée, qui ne pose pas d'énormes problèmes mais qui correspond tout de même à une grande partie du temps de calcul passé sur la simulation. Il est probablement possible de l'optimiser, et Philip avait également proposé le design d'un nouveau système, qui réduirait énormément notre utilisation du pathfinder courte portée. Mais je ne peux pas vraiment en dire plus avant de programmer et de tester le gain en performance ! Et bien évidemment, il reste des bugs à corriger, qui ont été introduits par le nouveau pathfinder, et qui seront résolus au fur et à mesure qu'on les découvrira. On peut compter pour cela sur elexis, le dernier arrivé dans l'équipe de développement, qui fait depuis son arrivée dans la communauté un travail incroyable de test du jeu pour repérer tous les problèmes !

Comment comptes-tu contribuer dans le futur, à 0 A.D. ou éventuellement d'autres projets libres ? Est-ce que tu peux nous dire deux mots sur tes contributions en-dehors du pathfinder ?

Eh bien pas de projets en particulier, je vais continuer à contribuer sur mon temps libre, sur ce qui me paraît important ! J'ai bien quelques patches en préparation, mais tant qu'ils ne sont pas prêts je préfère ne rien dévoiler ;-) Quand à d'autres projets libres, ça serait super mais je crains de ne pas du tout avoir le temps !

En dehors du pathfinder, ma plus grosse contribution a sans doute été de cacher les changements aux bâtiments dans le brouillard de guerre (ça a été introduit dans la version A17). Ça a été très difficile de faire ce système et on continue encore à trouver des bugs cachés liés à la visibilité des entités du jeu ! À part ça, j'ai fait énormément de petites et moyennes choses (la liste est trop longue et peu intéressante) ! Et en dehors de la programmation, je coordonne la traduction française, je travaille un peu sur les langues anciennes (les voix des unités et les textes) et je m'occupe du compte Twitter @play0ad.

Tu as dit qu'avec le départ de la plupart des membres fondateurs, le projet partait un peu dans des directions différentes, et que rééquilibrer le jeu pour le rendre plus agréable à jouer constituait la prochaine grosse étape. D'une façon plus générale, comment vois-tu 0 A.D. évoluer dans le futur (tant au niveau gameplay que art, code, technologies utilisées, etc.) ?

Je ne sais pas trop quelles nouvelles choses vont apparaître dans le jeu, mais je pense qu'on approche de plus en plus d'une version bêta et que le gameplay va de moins en moins changer. Il reste quand même à prendre une décision sur les formations, sur l'agriculture et possiblement d'autres choses qui peuvent avoir une grosse influence sur le ressenti des joueurs et des joueuses. Au niveau de l'art, il reste à terminer les bâtiments Séleucides et leur musique, et ça serait génial de pouvoir inclure les nouveaux modèles d'unité créés par Enrique, mais on manque d'animateurs 3D ! C'est sur ces domaines qu'on va se concentrer principalement.

Avec ton expérience actuelle au sein d'un gros projet communautaire, quels conseils donnerais-tu à une personne qui voudrait contribuer à un projet de jeu vidéo libre (que ce soit dans le domaine du pathfinding ou en général) ?

Un seul conseil : foncez ! Avec toujours l'envie de faire les choses bien et de toujours accepter les critiques des autres contributeurs, mais ne vous auto-censurez surtout pas ! C'est en essayant de faire des choses apparemment très difficiles et intimidantes qu'on réussit à les faire, et les progrès et les découvertes que vous pourrez faire en contribuant à un projet libre (jeu vidéo ou autre d'ailleurs) seront innombrables.

As-tu quelque chose à ajouter ?

Je voudrais dire "venez contribuer !" mais c'est essentiellement ce que je viens de dire dans la question précédente sur les conseils. En tout cas soutenir le projet, c'est jouer au jeu, en parler autour de soi, convertir des joueurs de RTS plus connus mais payants, etc ! Même si vous ne programmez pas ou ne faites pas de graphisme, vous pouvez grossir nos rangs !

Merci beaucoup Nicolas pour tes réponses et le temps que tu nous as accordé, à moi et aux lecteurs de LinuxFr.org, et bon courage pour tes contributions futures !

Et encore merci à toi et à LinuxFr.org pour cet entretien !

Télécharger ce contenu au format Epub

Lire les commentaires