Syndiquer le contenu
Mis à jour : il y a 16 heures 43 min

Sortie de la version 1.7 de Rolisteam

27 août, 2015 - 17:04

L’équipe de Rolisteam est heureuse d’annoncer la sortie de la version 1.7 du logiciel de table virtuelle (pour la réalisation de parties de jeu de rôle). Pour rappel, le but de Rolisteam est de proposer une solution pour jouer à tout type de jeux de rôle. Il propose une série de fonctionnalités allant du partage d'image au lancement de dés.

Cette nouvelle version apporte de nombreuses nouveautés :

  • nouvel interpréteur de dés ;
  • refonte du système audio ;
  • thème et personnalisation ;
  • passage à Qt5 ;
  • nouvelles traductions ;
  • et d'autres (pour plus de détails, voir la deuxième partie de la dépêche).
Sommaire

Cette dépéche est coupée en quatre parties : le changelog complet, un chapitre sur le monde du jeu de rôle en ligne, des détails techniques les travaux et pour finir un point sur les autres projets de l'association Rolisteam.

Changelog complet

Général

  • Portage de Qt4 vers Qt5 ;
  • résolution de bugs ;
  • traductions : allemand, portugais, hongrois et partiellement turc (français et anglais toujours disponibles).

Audio

  • Nouveau système audio ;
  • possibilité d’avoir 3 pistes audio en même temps ;
  • charger/Sauvegarder des listes de lectures ;
  • ouvrir des flux audio (webradio, fichiers distants) ;
  • intégration d’une liste de lecture de http://tabletopaudio.com/.

Dés

  • Nouvel interpréteur de dés (DiceParser, voir plus bas) ;
  • ajout d’alias de commande de dés ;
  • le maître de jeu partage automatiquement ses alias avec ses joueurs ;
  • le résultat des dés est mis en évidence.

Tchat

  • Les liens HTTP sont maintenant cliquables ;
  • la couleur de fond peut être changée dans les tchats.

Thèmes

  • Possibilité de changer les couleurs et d’autres paramètres graphiques de l’application ;
  • le thème peut être sauvegardé dans un fichier JSON ;
  • l’image de fond peut être changée et positionnée ;
  • il n'y a plus besoin de redémarrer l’application pour que le changement soit pris en compte.

Travail de fond

L’ensemble du logiciel utilise un nouveau moteur réseau, ce qui améliore grandement la lisibilité du code.

Paramètres en ligne de commande

Plusieurs paramètres peuvent être définis au lancement de rolisteam.

Glisser / déposer

Il est possible de glisser des images ou musique dans l’espace de jeu ou directement dans les lecteurs.

Le JdR en ligne, les outils et le libre

Cette sortie est l’occasion de faire le point sur le monde du JdR en ligne et des différents outils.

Avant d’aborder ce nouveau point, harmonisons notre vocabulaire :

  • jeu de rôle (JdR) : le terme savant serait “jeu de rôle sur table” ;
  • MJ : Maître de jeu = arbitre + décors + adversaires et autres personnages non-joueurs + météo + loi de la physique…
  • PMT : « Porte, monstre, trésor » est un type de partie, une façon de jouer au jeu de rôle ;
  • dungeon crawling : façon de jouer, où les joueurs arpentent un donjon et doivent éviter les pièges et tuer les créatures cachées.
Jouer sur table virtuelle

Le JdR virtuel offre une expérience proche d’une vraie partie. Il y a des avantages et son lot d'inconvénients.

Le principal reproche est la perte de convivialité, en effet, la partie n’est plus une raison de se regrouper (physiquement) avec ses amis. Il faut aussi compter sur une perte de temps liée à la communication. Autour d’une table, il est facile de savoir si une personne a fini de parler, si quelqu’un veut prendre la parole, etc… Ces petits réglages font perdre du temps. Les parties sont souvent plus courtes pour ménager l’attention des joueurs.

D’un autre côté, cela permet de rester chez soi. Le temps de trajet disparaît. La garde des enfants ne pose pas de problème. L'absence de ces contraintes permet de jouer plus régulièrement. Bien sûr, le JdR en ligne est très utile pour réduire les distances. Si vous voulez jouer avec vos amis de la France entière ou même du monde (bon, attention aux fuseaux horaires), cela reste la seule solution. Un groupe peut continuer à jouer même si le MJ est muté à Bordeaux ou à Brest. Au final, les joueurs y gagnent.

Pour le MJ, cela demande en général plus de travail en amont. Certains logiciels sont capables de gérer beaucoup d’éléments. Dans des parties en mode PMT/dungeon crawling, ces deux modes de jeu imposent l’usage de cartes précises et complètes. Les joueurs amateurs de ce genre de parties ont besoin d’un logiciel avec des fonctionnalités importantes sur la carte. L’expérience utilisateur de ces logiciels se rapproche d’un jeu vidéo. Le MJ peut définir la difficulté pour tel ou tel événement (crocher une porte, combattre un monstre). Si le joueur approche son personnage près de la porte cela lui propose automatiquement de tester un crochetage. Si le personnage rentre dans la zone d’un monstre l’initiative est lancée automatiquement.

Cette approche va provoquer l’émergence d’un jeu entre le JdR et le jeu vidéo. Le gros plus du jeu de rôle “sur table” par rapport à un jeu vidéo, c’est l’infinité de possibilités. Là où un jeu vidéo va proposer 2, 3 ou 4 possibilités différentes de dialogues, le JdR ne limite en rien les possibilités. Au même titre, en vidéo, la gestion des règles va être beaucoup plus stricte. Bref, l’expérience sera bien différente.

Il faut être clair, il n’y a pas raison à marcher dans la rue, brûler des voitures et insulter des pandas. C’est juste une projection dans un avenir possible.

Des parties plus orientées sur le social ou la négociation ont besoin de logiciels plus simples. Ils détournent des logiciels de travail collaboratif pour jouer. Malheureusement, ces outils sont rarement libres. Ils sont principalement autour de technologie web de Google (enfin Alphabet, maintenant) : hangouts & extensions.

Je vais vous parler maintenant des logiciels importants dans les communautés françaises.

Les logiciels

La communauté rôliste française se concentre autour de trois logiciels (bien sûr, il en existe bien plus).
Les chiffres expriment vraiment un ordre de grandeur; plus qu'une information vérifiée.

FantasyGround (40 %)

Le premier FantasyGround est un logiciel lourd (client ou serveur comme rolisteam). L’intégration des règles du jeu est l'argument massue de FantasyGround. De grosses licences du JdR signent chez eux pour proposer un Ruleset.

Un ruleset est principalement organisé autour un fichier en Lua. Cela peut modifier l’interface du logiciel pour lui donner un style proche du jeu. Cela ajoute aussi des outils pour gérer le systèmes.

Le gros défaut de Fantasyground, c’est son prix. En effet, chaque ruleset officiel coûte une petite somme. Obtenir un fantasyground capable d'héberger une partie vous coûtera un peu moins de 120€.
Il est inscrit au catalogue de Steam. Cela lui fournit une bonne publicité.
Il n’est pas compatible GNU/Linux. Il est possible de faire tourner FantasyGround avec wine.

Il existe également des rulesets communautaires.

Roll20 (40%)

Roll20 est l’enfant des technologies web2.0 et du financement participatif. Tout se passe sur roll20.net. L’outil est gratuit pour l’usage basique mais certaines fonctionnalités ne sont disponibles qu’avec un compte payant. C’est l’outil un peu phare du moment, car il ne nécessite aucune installation et est multi-plateformes (même tablette et smartphone).

La publicité est assez bonne. Des tutoriaux par des personnalités du milieu poussent comme des champignons. De plus, roll20 propose en interne des outils pour trouver des parties en fonction de l’horaire, la langue, etc.

Le point négatif c’est le côté minitel 2.0, centralisation des données. Je ne vais pas vous faire un couplet complet.

La série « Aventures » du Joueur Du Grenier (fameux youtubeur) est joué sur Roll20. Cette série de vidéos est consacrée au déroulement d'une campagne de JdR virtuelle. Cela a fait beaucoup de publicité sur cette pratique.

Rolisteam (~15%)

Rolisteam est un logiciel libre écrit en C++/Qt. Il fonctionne selon un principe de client/serveur. Il est multi-plateformes (Mac OS, Linux et Windows). Il est le fork de rolistik.

Les principaux travaux ont été de factoriser une bonne partie du code et de le réécrire en anglais. Cette étape est terminée (plus ou moins) et l’équipe met l’accent sur l’ajout de nouveautés.

L'avantage de rolisteam se situe dans sa simplicité. L'usage de carte est possible mais ce n'est pas l'élément central de la partie. L'optique est de fournir les fonctionnalités d'une table. Les différents jeux et leur règles ne sont pas automatiquement gérés par rolisteam.

L'équipe évangélise les rôlistes aux problématiques liées aux logiciels libres et la défense d’Internet. L'équipe n'est pas parfaite. Elle utilise un FaceBook et une chaîne YouTube pour la promotion du logiciel. Cependant le reste est hébergé sur un petit serveur Debian sans ventilateur (derrière une ligne ADSL label rouge FDN).

Il existe bien d'autres outils, libres ou non. Dans la catégorie qui nous intéresse, Maptool est un outil libre assez complet, orienté autour d’une carte. Il a la réputation d’être assez complexe à prendre en main. Côté technique, il est écrit en Java.

L’état de l’art (hyper rapide) du milieu rôliste virtuel est maintenant terminé. Concentrons-nous sur Rolisteam et sa grande nouveauté.

DiceParser

DiceParser est un interpréteur de commandes pour les lancers de dés.

État de l'existant

Rolisteam gérait trois syntaxes différentes: une générique fondée sur des expressions régulières et deux syntaxes spécifiques pour deux jets (Livre des 5 Anneaux et shadowrun). Chaque système avait sa portion de code dédié. L'horreur à l'état brut pour maintenir le code.

L'objectif de DiceParser

L'interpréteur propose des opérations génériques sur une liste de dés ou sur le résultat : ordonner, compter, sélectionner, relancer, exploser, remplacer et des opérations arithmétiques.
Les opérateurs se déclenchent par une règle logique : une comparaison: <,>,=,<=,>= ou la présence dans une plage de valeur ([0-5]).

Exemple simple

!2d6
Lancement de 2 dés à 6 faces.

Exemple complexe

!8d[0-9]kl3c[<4]

Lance 8 dés à 10 faces allant de 0 à 9 comme valeur, garde (keep) les 3 dés les plus bas (lowest), compte les dés inférieurs à 4.

Apprendre à s'en servir

Le premier pas est la documentation complète du système de dés.

L'interpréteur peut détecter les erreurs et retourner un message d'erreur assez parlant :
!1d10e[>0]
Lance un dé à 10 faces et le relance tant que la valeur du dés est supérieure à 0.
Cela provoque un message d’erreur sur une boucle infinie.

Alias : rendre la chose plus simple

Le système est assez puissant. Certains jeux peuvent utiliser un nombre d’opérateurs assez grand, rendant la ligne de commandes fastidieuse à taper.

Un système d’alias a été développé pour faciliter la vie des utilisateurs. (Le client CLI ne gère pas encore bien les alias. Rolisteam le fait très bien).

L’alias pour le livre des 5 anneaux :
G -> d10e10k
En utilisation :
4G2 -> 4d10e10k2

La substitution est faite par un simple «cherche et remplace».

Alias : rendre la chose plus simple pour des systèmes plus complexes

Il est également possible de faire une substitution par expression régulière :
Alias :
(.*)wod(.*) - > \1d10e[=10]c[>=\2]-@c[=1]

8wod6 devient 8d10e[=10]c[>=6]-@c[=1]

Pour information, cette commande lance 8 dés à 10 faces, les 10 explosent puis on compte le nombre de dés supérieur ou égal à 6 (le seuil de difficultés) et on soustrait à ce résultat le nombre de 1. Le @ permet de faire référence au résultat en sortie de l’opérateur e[=10] et non à la valeur de l’opérateur c[>=6]

Les alias du maître de jeu sont partagés avec les joueurs automatiquement.

Geeker

DiceParser est un composant logiciel qui peut être compilé sans rolisteam. Il propose ainsi une interface en ligne de commande. L'unique dépendance de DiceParser est QtCore. Nous avons fait ce choix car Qt est une technologie que nous connaissons bien. De plus, le composant est destiné à Rolisteam (aussi en Qt). Il pourrait être facilement porté en boost ou stl.

Les autres interfaces

Il est aussi possible d’avoir une interface graphique et un bot IRC, mais ces deux éléments ne sont pas vraiment maintenus (et ne sont pas compilés par défaut).
Il est possible d’exporter l’arbre d'exécution dans un fichier .dot.

Avenir

La génération d'arbre .dot est plutôt expérimentale dans la branche master du dépôt git, mais dans la branches en développement [rangeInList], cela s’améliore tous les jours.

Bien entendu, cet interpréteur n’est pas terminé, il intégrera dans sa version future (c’est déjà implémenté mais encore trop expérimental) :

  • la combinaison des opérations booléennes dans les conditions des opérateurs: c[<2&>8]
  • l’opérateur Modulo (c[%2] compte les résultats pairs)
  • le tirage au sort dans une liste non équiprobable 1L[Torse[30%],bras droit[15%],bras gauche[15%],tête[10%],jambe droite[15%],jambe gauche[15%]] Je compte également ajouter un NON: (c[!%2] compte les résultat impairs) et rendre le système moins sensible aux espaces.
Usage

Pour un usage en ligne de commande, il n’est pas nécessaire de préfixer ses commandes par un point d’exclamation. Dans rolisteam, le point d'exclamation est nécessaire.

$ dice 2d6
Result: 3, details:[2d6 (2 1)]

Pour compiler DiceParser

https://github.com/Rolisteam/DiceParser

mkdir build cd build cmake ../ make sudo make install Rolisteam, une association qui vous veut du bien !

L’association derrière Rolisteam développe également d’autres outils pour promouvoir le jeu de rôle et le logiciel libre.
DiceParser en fait partie mais ce n’est pas le seul.
À cette liste s’ajoutent deux autres outils :

RMindMap

L'image est en svg.

Un outil de schématisation une histoire et les interactions entre chaque protagoniste. Cet outil sera intégré à Rolisteam dans le futur (assez lointain).
https://github.com/obiwankennedy/rmindmap

Rolisteam Convention Manager

Cet outil est dédié à la gestion de conventions et évènements rolisto-ludiques. Il permet de dresser un catalogue des jeux disponibles, d’inscrire les participants, de comptabiliser les parties, leurs durées, le nombre de joueurs…

Il a été utilisé pour deux conventions (Japan Expo Tours 2015 et Ludesco, La Chaux-De-Fond, Suisse 2015) par l’association Projets R. Il y a encore beaucoup de travail à faire dessus mais il rend un fier service.
https://github.com/obiwankennedy/rcm

Nous espérons qu'il sera utilisé par d'autres organismes pour d'autres évènements.

Télécharger ce contenu au format Epub

Lire les commentaires

Appel à contribution pour l’écriture d’un manuel GodotEngine

26 août, 2015 - 09:12

Après une rencontre avec les développeurs du moteur de jeu Godot lors des RMLL 2015, le besoin d’une documentation francophone sur le moteur de jeu Godot a alors été exprimé. L’équipe de Fmfr s’est portée volontaire pour aider dans cette tâche et faire profiter Godot de son expérience dans l’écriture de manuels.
Suite à l’annonce d’un nouveau passage (rapide) d’un des développeurs, c’est l’occasion d’arrêter d’en parler et de faire. Flossmanuals Francophone lance donc un appel auprès des utilisateurs de Godot qui seraient disponibles les 12, 13 et 14 septembre pour participer à un libérathon sur le sujet. Si vous connaissez une technologie équivalente, cela peut aussi être le bon moment pour le découvrir en participant à un autre projet libre. Pour rappel, l’été dernier, FlossManuals avait organisé l’écriture d’un livre de près de 250 pages sur le moteur de jeu de Blender et en avait profité pour créer un jeu (le tout sur une période de 5 jours).
Le booksprint devrait se dérouler à Rennes dans les locaux d’ActivDesign.
Les personnes intéressées peuvent écrire à contact at flossmanualsfr point net

Télécharger ce contenu au format Epub

Lire les commentaires

5 septembre 2015 PSL Premier Samedi du Libre mensuel à Paris 19e

25 août, 2015 - 16:12

Chaque mois a lieu le Premier Samedi du Libre (PSL) à la Cité des sciences de Paris. Le PSL est une aide à l'installation (install party) de toute distribution GNU/Linux et de logiciels libres, destinée au grand public. L'accès en est libre et gratuit.

Nous proposons également un atelier Blender3D animé par le BUG Paris, ainsi que deux conférences-ateliers ; n'hésitez pas à nous en proposer !

Le prochain se tiendra donc samedi 5 septembre 2015 de 14h à 18h Carrefour Numérique², niveau -1 de la Cité des Sciences et de l'Industrie, 75019 Paris, porte de La Villette (métro ligne 7) ou porte de Pantin (métro ligne 5). Les suivants seront les 3 octobre, 7 novembre, 5 décembre, etc.

Télécharger ce contenu au format Epub

Lire les commentaires

LibreOffice 5.0 : sous le capot

25 août, 2015 - 15:47

La suite bureautique multiplateforme LibreOffice 5.0 a été publiée le 5 août 2015. Cette nouvelle version non finalisée est destinée aux utilisateurs expérimentés — les autres, tel que les entreprises et les administrations sont invités à rester sous LibreOffice version 4.4.5.

Nous vous proposons la traduction d'un billet du blog d'un meneur dans le développement de LibreOffice. Il s'agit de Michael Meeks vice-président de l'éditeur Collabora spécialisé dans l'intégration de la suite LibreOffice.

Ce billet décrit l'ensemble des actions réalisées en profondeur durant tout le cycle de développement menant à cette version 5.0 de LibreOffice.

Son billet est publié sous licence CC0, et également dans le domaine public.

Sommaire

Le 5 août 2015, nous avons publié LibreOffice 5.0.0, une nouvelle base pour le travail des prochains mois et années. Elle inclut beaucoup de nouvelles fonctionnalités que les utilisateurs apprécieront. Vous pouvez prendre connaissance de toutes ces nouveautés visibles par les utilisateurs codées par tant d'excellents développeurs, mais il y a, comme toujours, de nombreux contributeurs dont le travail se situe principalement sous le capot, et beaucoup de travail qui est plus technique que ce qui est visible par l'utilisateur. Ce travail a, bien sûr, une importance vitale pour le projet. Il peut être difficile d'extraire tout ceci des quelque onze mille contributions ajoutées depuis la version 4.4 de LibreOffice, donc je vais essayer de développer :

VCL - Améliorations de la boîte à outils VCL

L’un des plus grands travaux dans LibreOffice 5.0 concerne VCL, la boîte à outils graphiques que LibreOffice utilise pour le rendu et tous ses objets graphiques. La version 5.0 modernise et améliore différents aspects de celle-ci, et les met au niveau des autres boîtes à outils graphiques multi-plateformes.

Boucle principale / gestion du temps d'attente

C'est un changement radical majeur qui est arrivé dans la 5.0, et qui est un fondement essentiel pour les futures tentatives de rendre VCL et LibreOffice plus efficaces et performants, grâce à Jennifer Liebel et Tobias Madl (entretien). Le souci essentiel avec la précédente approche était que le choix de la prochaine tâche à effectuer dans LibreOffice (doit-on compter plus de mots, ou bien traiter du travail de redimensionnement de fenêtre différé, ou alors redessiner le contenu d'une fenêtre ?) était déterminé par un ensemble assez arbitraire de valeurs de délais d'attentes maximaux, par exemple : 30 ms pour redessiner, 50 ms redimensionner. Cela posait non seulement des problèmes de concurrence, mais était aussi terriblement inefficace. Il n'y avait aucune base solide pour ces valeurs choisies un peu au hasard.

Heureusement dans LibreOffice 5.0 nous avons un nouveau concept de « boucle d'attente » qui priorise les tâches que nous voulons terminer, permettant de les exécuter dans l'ordre, à la vitesse maximale. Ceci, combiné avec le travail de Jan Holesovsky (Collabora), destiné à permettre l'enchaînement des délais d'attente inférieurs à 10 ms sous Windows, signifie que nous avons enfin une boucle principale utile.

Cela nous a aussi aidés à trouver quelques mauvais comportements fortement consommateurs d'énergie qui auparavant étaient moins visibles. Ces tâches, généralement courtes, pouvaient s’exécuter selon une fréquence de l'ordre de 30 ms. Elles réveillaient trop discrètement et inutilement le processeur pour un faible bénéfice. Désormais, ce type de tâches provoque un pic d'activité processeur à 100 %, ce qui facilite sa détection et son traitement. Merci à Ashod Nakashian de s'être attaqué à plusieurs de ces problèmes.

Réfection du cycle de vie (VclPtr)

Pendant une grande partie de son existence, le cycle de vie d'un widget VCL (NdT: la boîte à outils graphiques Visual Components Library) est resté un poil mystérieux, même pour VCL. Les widgets pouvaient être alloués sur le tas, sur la pile, ou être membres d'autres widgets. S'ils étaient alloués sur le tas, ils pouvaient être enveloppés dans différents types de pointeurs partagés (shared pointers). Ainsi, prédire quand un widget pouvait être détruit et/ou suivre son cycle de vie dans le code était loin d'être évident. Dans VCL, nous utilisions des identifiants : des écouteurs spécifiques qui passaient à null quand un objet était détruit pour essayer d'éviter de référencer un objet impliqué dans plusieurs fonctions de rappel (callbacks). Malheureusement, ce système était plutôt incomplet, et beaucoup de code se résignait à retarder la suppression d'un widget alloué sur le tas jusqu'au retour à la boucle d'attente, dans le but d'éviter des problèmes.

Pour essayer de résoudre tout ce bazar, nous avons maintenant un seul type de pointeur intelligent : le type VclPtr qui compte les références à toutes les sous-classes de Window (et OutputDevice), et elles sont dorénavant toutes allouées sur le tas. Ceci donne un mécanisme de cycle de vie cohérent, et qui est même documenté. Nous sommes passés à un mécanisme de type 'dispose' pour casser les références cycliques, remplaçant le précédent mécanisme explicite ou implicite de type 'delete', nous avons aussi rendu beaucoup de méthodes sûres à appeler même sur les widgets libérés. Ceci devrait finalement fournir un cycle de vie prédictible et des chemins de destruction de code beaucoup moins fragiles, facilitant le ré-usinage de code. Pendant ce temps nous continuons à aplanir les problèmes, grâce à l'aide inestimable de Noel Grandin (Peralex), et de Caolan McNamara (RedHat) et Julien Nabet entre autres pour résoudre les conséquences de ces changements. Il faut espérer que (finalement) à peu près tous les types VCL à longue durée de vie utiliseront un mécanisme de cycle de vie similaire. Ce travail a été rendu possible grâce à l'énorme réusinage de Caolan pour utiliser VclBuilder pour tous les dialogues.

Un mode de rendu moderne : RenderContext

Une tentative audacieuse pour passer les fondements du code d’un rendu immédiat à un rendu différé a été lancée. Jusqu’à présent, LibreOffice générait le rendu de ce que l’on voit sur l’écran de deux façons : soit immédiatement, c’est-à-dire lorsque vous appuyez sur un « A », il essaie aussitôt d'afficher les pixels pour « A » à l'écran ; soit par un rendu très différé (délai : 30 ms et plus) sans priorité d’exécution (les callbacks).

Cette situation n’est vraiment pas idéale pour les API et le matériel modernes - où nous voulons nous assurer que l’image est totalement et parfaitement peinte dans son ensemble avant de la montrer à l'écran. Heureusement avec les nouveaux travaux sur la gestion des tâches, il n’y a plus de délai codé en dur avant que le rendu différé puisse avoir lieu. Nous avons donc commencé à supprimer le mode de rendu immédiat et à le remplacer par le rendu différé. Cela signifie remplacer les appels de rendu explicites avec invalidation de zone pour les placer dans une file d’attente destinée à un rendu différé. Dans de nombreux cas, cela peut enlever le scintillement visible et les artefacts de rendu intermédiaires lors du rafraîchissement de l’interface graphique.
Mille mercis à Tomaž Vajngerl (Collabora), Miklos Vajna (Collabora), avec l’aide et les corrections de Krisztian Pinter, Noel Grandin (Peralex), Jan Holesovsky (Collabora), Caolán McNamara (RedHat) et Laszlo Nemeth (Collabora).

Le backend Gtk3 : Wayland

Le port initial grossier de gtk3 a été codé il y a longtemps par votre serviteur pour prototyper LibreOffice en ligne via gdk-broadway. Cependant, merci à Caolan McNamara (RedHat) d'avoir fait 80 % du travail pour terminer cela, nous donnant un backend VCL poli et complet pour gtk3. Son entrée de blog se concentre sur l'importance de cette opération pour mener LibreOffice nativement sous Wayland - le précédent backend GTK2 était fortement lié au rendu X11 natif, tandis que le nouveau backend gtk3 utilise le rendu CPU via le backend headless (sans affichage) VCL, voir plus ci-dessous.

Améliorations du rendu OpenGL

Avec un grand nombre de bogues corrigés et d'améliorations, le rendu OpenGL a bien mûri dans cette version, nous permettant d'utiliser le matériel directement pour améliorer nos rendus. Merci à Louis-Francis Ratté-Boulianne (Collabora), Markus Mohrhard, Luboš Luňák (Collabora), Tomaž Vajngerl (Collabora), Jan Holesovsky (Collabora), Tor Lillqvist (Collabora), Chris Sherlock et les autres. Avec toutes les réparations de bogues en cours dans cette partie, nous espérons que le rendu OpenGL pourra être activé par défaut, comme fonctionnalité de dernière minute, après les tests adéquats, dans LibreOffice 5.0.1 ou, plus tard, dans 5.0.2.

Améliorations de LibreOfficeKit

LibreOfficeKit procure une méthode simple pour réutiliser le rendu et le formatage des fichiers de LibreOffice, mais à présent aussi le noyau de l’éditeur. Dans les six derniers mois, son utilité est passée de la conversion des fichiers principalement, à constituer aujourd’hui les fondations de LibreOffice sur Android, et c’est la base de la version en-ligne.

Amélioration du rendu sans affichage

LibreOfficeKit réutilise notre moteur de rendu sans affichage, ce qui nous permet de rendre les documents sans utiliser l'assistance du système d'exploitation, c'est-à-dire sans X11, Windows, OS/X, etc. Un certain nombre d'améliorations de performances et des corrections sur le rendu ont été implémentés au titre du travail sur le moteur gtk3 et l'utilisation en ligne (le rendu sans affichage est également utilisé sur Android jusqu'à ce que notre moteur de rendu GL puisse arriver à maturité sur cette plateforme). Merci à Caolán McNamara (RedHat) et Michael Meeks (Collabora).

Extensions de l'édition Android

L'édition Android est construite au-dessus des fonctions d'édition de LibreOfficeKit, et offre à l'utilisateur l'équivalent Android de la liste des fonctionnalités de gtktiledviewer, comme le curseur natif, la sélection de texte et graphique, le redimensionnement et plus encore. Merci à The Document Foundation et à leurs généreux donateurs. Ces importantes extensions d'API et le travail sur le cœur ont été réalisés grâce à Miklos Vajna, Tor Lillqvist, Andrzej Hunt, Siqi Liu, Mihai Varga, Tomaž Vajngerl et Jan Holesovsky tous de Collabora, ainsi que grâce aux travaux de Pranav Kant (GSOC), et aux nettoyages de Stephan Bergmann (RedHat).

Des bouts de LibreOffice en ligne

LibreOfficeKit (accompagné d'un dépliant adapté) est à la base du nouveau travail ciblant LibreOffice sur le Cloud. Regardez le code et une présentation. D'énormes quantités d'allègements et de simplifications ont été réalisés ici grâce à : Tor Lillqvist, Mihai Varga, Jan Holesovsky, Henry Castro et Miklos Vajna, tous de Collabora. Avec nos remerciements à IceWarp pour le financement de ces travaux.

Améliorations des performances de conversion

LibreOfficeKit offre une belle API, simple et propre pour charger et sauvegarder (convertir) des documents. Grâce à Laszlo Nemeth (Collabora) et Mihai Varga (Collabora), nous avons maintenant un nouvel attribut de filtre, SkipImages, qui permet une accélération significative pour le cas de conversion de n'importe quel fichier en HTML. C'est vraiment utile pour la réutilisation de la vaste gamme de filtres de LibreOffice pour faire de l'indexation de documents texte, en étant beaucoup plus rapide pour les documents gros et complexes. Un autre gain vital a été d'éviter de compter les mots avec précision (pour les statistiques du document) avant l'export. La conversion de document en texte avec cette option devrait être significativement plus rapide pour certains documents.

Amélioration de la compilation et de la gestion des plateformes Réduction du temps de compilation

Avec l’augmentation de l’utilisation des templates dans les entêtes, la compilation a peu à peu pris de plus en plus de temps. Mais Michael Stahl (RedHat) a créé un script bin/includebloat pour localiser les entêtes les plus larges et les plus problématiques à supprimer. À titre d’exemple, supprimer boost/utility.hpp de plusieurs endroits nous épargne ~830 Mo de prétraitement de boost/preprocessor/SEQ/fold_left.hpp.

Port vers Win64

La version 5.0 arrive avec des compilations 64 bits pour Windows. Un grand merci à David Ostrovsky (CIB), ainsi qu’à Thorsten Behrens (CIB), Norbert Thiebaud, Stephan Bergmann (RedHat) et d’autres pour avoir aidé à corriger les bugs et nettoyé dans toute l’application un bon nombre de problèmes ardus spécifiques à la plateforme. Nous avons de nombreuses versions 64 bits pour différentes plateformes depuis des années, mais le modèle LLP64 de Windows peut créer des problèmes.

Travail sur la qualité du code

Le travail se poursuit autour de la qualité du code dans de nombreux domaines, avec environ 120 corrections cppcheck. Merci à Caolán McNamara (RedHat), Michael Weghorn, Julien Nabet, Noel Grandin (Peralex) et aux autres. Pareillement, il y a les commits quotidiens pour compiler sans aucun avertissement du compilateur -Werror -Wall -Wextra, etc. sur de nombreuses plateformes. Merci principalement à Tor Lillqvist (Collabora) et à Caolán McNamara (RedHat). Cette catégorie de problèmes diminue néanmoins grâce à l’utilisation croissante d'intégration continue.

Coverity presque à zéro

L’exécution du vérificateur de code source Coverity donne un résultat proche de zéro à présent. Chaque semaine, Caolán McNamara (RedHat) (avec l’aide de quelques autres) a accompli un travail formidable en conservant le compte à zéro (ou presque) avec environ 360 commits pour ce cycle. De nouveaux rapports de bogues apparaissent automatiquement à chaque build et nous en corrigeons quelques autres. Actuellement, le total des rapports est de deux (sur plus de 6 millions de lignes analysées). Heureusement, conserver ce nombre à zéro est un but raisonnablement accessible :

PVS-Studio

La compagnie OOO « Program Verification Systems » développe l’outil d’analyse statique PVS-Studio et a publié les résultats d’une analyse unique rendue disponible pour les développeurs de LibreOffice. Des douzaines de problèmes rapportés ont été corrigés par Caolán McNamara (RedHat), Michael Stahl (RedHat), David Tardon (RedHat) et Markus Mohrhard. Vous pouvez en apprendre plus sur ce point ici (illustrations incluses).

Tests de l’importation et de l’exportation

Grâce au nouveau matériel de crash-tests payé par les donateurs et aux efforts significatifs de Caolán McNamara (RedHat), Michael Stahl (RedHat), Markus Mohrhard et plusieurs autres, nous avons réduit à pratiquement zéro un nombre d’assertions (paranoïaques) et de crashs d’importation sur notre imposant corpus de documents de tests (plus de 75 000 documents douteux et bogués). C’est merveilleux de pouvoir saisir au vol les commits qui provoquent des régressions et les corriger en quelques jours seulement sur master, avant qu’ils aient une chance d’atteindre les utilisateurs.

Le travail en cours est de compiler les binaires des crash-tests avec Adress Sanitizer et aussi de commencer à tester différents types de documents et d'étendre l'ensemble des types de fichiers en entrée.

Greffons Clang / vérificateurs

Nous avons continué à ajouter des greffons à notre compilateur clang ; un rapide git grep avec le motif « Registration » dans les greffons du compilateur montre que nous sommes passés de 38 à 59 au cours des six derniers mois (croissance doublée depuis la dernière version). Ceux-ci sont utilisés pour vérifier toutes sortes de vilains pièges, et aussi pour ré-écrire automatiquement différents bouts de codes problématiques. Beaucoup sont exploités automatiquement par tinderboxes pour attraper des erreurs. Merci à : Stephan Bergmann (Red Hat) et Noel Grandin (Peralex) pour leur travail acharné sur ces vérificateurs lors de ce cycle.

Les nouvelles extensions font toutes sortes de choses, et viennent généralement avec un ensemble de correctifs pertinents pour le code sous-jacent ; Voici quelques exemples :

  • loplugin:loopvartoosmall - vérifie que la variable d'index de boucle est d'au moins la taille de ce qu'elle indexe. Dans le cas de valeurs non signées, cela peut protéger de boucles infinies. Dans les autres cas, cela évite simplement de tronquer les données.
  • loplugin:staticmethods - cherche les méthodes qui peuvent être déclarées static. C'est à la fois plus efficace et rend le code plus compréhensible, puisque cela indique clairement que la méthode ne dépend de l'état d'aucun objet.
  • loplugin:vclwidget - met en application différentes règles sur l'usage de notre nouveau pointeur intelligent à compteur de référence VclPtr pour les objets VCL. Les classes à compteur de référence peuvent être délicates à utiliser dans les cas limites, donc avoir un vérificateur qui valide à la compilation autant de règles autrement implicites est vraiment très utile.
  • loplugin:constantfunction - cherche les fonctions qui devraient être supprimées ou avoir le mot clé inline, puisqu'elles retournent toujours la même valeur. C'est utile pour trouver du vieux code devenu redondant du fait du ré-usinage.
  • simplifybool - il détecte et démêle des expressions booléennes particulièrement alambiquées pour les simplifier. Par exemple en convertissant a ? false : true en !a.
  • cstylecast et redundantcast - ceux-ci détectent et préviennent les casts en style langage C, par exemple class Foo; Foo *pFoo = (Foo *)pBaa;, donc quand le type est incomplet. On devrait utiliser le beaucoup plus sûr static_cast. Ils détectent et suppriment également les casts inutiles pour que le code soit plus facile à comprendre.
  • de-virtualization - il détecte les méthodes virtuelles qui ne sont jamais surchargées pour les remplacer par des méthodes non virtuelles qui sont plus rapides.
  • lopluign:deletedspecial - trouve les déclarations de membres de fonctions spéciales qui restent indéfinies, et qui en réalité, devraient être marquées comme supprimées pour apporter des optimisations de compilation et des warnings.

D'autres séries de nettoyages ont également été assistées par Clang telles que l'action de Noel sur le nettoyage, rendant nos énumérations cohérentes et améliorant leur portée. Le lecteur de Stephan pour détecter et supprimer la conversion de bool implicite, le passage de nombreuses méthodes inline de sal_Bool (vraiment en unsigned char) à un véritable bool chaque fois que possible, et plusieurs autres extensions utiles.

Tests unitaires

Nous avons également construit et exécuté plus de tests unitaires avec LibreOffice 5.0 pour éviter les régressions lorsque nous modifions le code. Une recherche (grep) sur les macros TEST et ASSERT nous indique une augmentation du nombre de tests unitaires :

Notre idéal est que chaque bogue qui est corrigé ait un test unitaire pour éviter qu'il revienne. Avec près de 800 changements, et plus de soixante-dix auteurs pour les tests unitaires de la version 5.0, il est difficile d'énumérer ici toutes les personnes impliquées, nous nous en excusons ; ce qui suit est une liste triée de ceux qui ont 10 fois plus de changements par répertoires concernés de Q&A : Miklos Vajna (Collabora), Markus Mohrhard, Caolan McNamara (RedHat) Stephan Bergmann (RedHat), Noel Grandin (Peralex), Michael Meeks (Collabora), Michael Stahl (RedHat), Zolnai Tamás, Tor Lillqvist (Collabora), Bjoern Michaelsen (Canonical), Eike Rathke (RedHat), Takeshi Abe, Andras Timar (Collabora), PriyankaGaikwad (Synerzip).

Tests de Windows

Alors que nous avions un sous-ensemble de tests unitaires que l'on lançait au moment de la compilation sous Windows, notre batterie de tests plus large était entravée par des problèmes étranges de comportement de tâches, liés à la gestion de plusieurs fenêtres et d'événements. Grâce à divers verrous et messages inter-tâches de Michael Stahl (RedHat) et de Stephan Bergmann (Redhat), nous avons maintenant des tests unitaires beaucoup plus robustes et fiables sous Windows.

QA / bugzilla

Une mesure que nous regardons lors des réunions du ESC (Engineering Steering Committee) est de savoir qui est dans le top dix du résumé hebdomadaire de bogues de freedesktop. Voici une liste des personnes qui ont figuré plus de cinq fois dans la liste hebdomadaire des meilleurs résolveurs de bogues par ordre de fréquence d'apparition : Adolfo Jayme, Beluga, Caolán McNamara (RedHat), raal, Julien Nabet, Jean-Baptiste Faure, Markus Mohrhard, m.a.riosv, Gordo, V Stuart Foote, Eike Rathke (RedHat), Andras Timar (Collabora), Alex Thurgood, Yousuf (Jay) Philips, Miklos Vajna (Collabora), Joel Madero, Cor Nouws, Michael Stahl (RedHat), Michael Meeks (Collabora), Matthew Francis, David Tardon (Redhat), tommy27, Timur, Robinson Tryon (qubit) (TDF). Et merci aux nombreux autres qui ont aidé à trier et fermer de si nombreux bogues pour cette version.

Jenkins / CI

Grâce à Norbert Thiebaud nous avons maintenant une excellente intégration continue via Jenkins/gerrit, ce qui permet de tester la compilation de tous les correctifs qui arrivent sur les trois plateformes principales. Utiliser l'intégration continue pour tester les correctifs avant de les envoyer sur le dépôt principal est devenu un autre outil sans pareil pour augmenter la qualité dudit dépôt (et ainsi son accessibilité aux utilisateurs occasionnels), tout en testant le code pour Windows et Mac sans qu'ils n'aient besoin de vérifier leur code sur ces plateformes par eux-mêmes. Grâce à ByteMark et à nos donateurs, nous espérons obtenir plus de matériel plus rapide pour notre ferme d'intégration continue afin de rendre celle-ci encore plus attractive. Avec plus de 25 000 compilations de 13 unités d'intégration depuis le début de l'année (ce qui se compare raisonnablement bien aux quelques 11 000 changements intégrés), nous espérons pouvoir lancer les compilations et les tests sur tous les changements soumis sans introduire de retard significatif.

Aussi pour le prochain cycle de développement, nous avons ajouté des tests outre ceux exécutés lors de la compilation. Nous activons un tas de propositions supplémentaires dans une version dbgutil, l'exécutons et faisons vérifier au moins sur Linux en appliquant un ensemble beaucoup plus vaste de tests supplémentaires à chaque apport individuel.

Bibisect étendu

Dans ce cycle, nous avons étendu les remarquables dépôts de Bi(nary)Bisect(ion) - qui contiennent des milliers de binaires pré-compilés compressés pour permettre aux utilisateurs de déterminer rapidement quel est le changement susceptible d’avoir introduit une régression longtemps après - jusqu'à inclure les réalisations Windows et Mac de la période 5.0 (c’est-à-dire de la branche 4.4 à la branche 5.0). La période 5.1 est compilée et rafraîchie régulièrement à un rythme raisonnable. Mille mercis à Norbert Thiebaud, Matthew Jay Francis & Robinson Tryon (qubit) (TDF).

Nettoyage de code

Le code sale devrait être nettoyé — et c'est ce que l'on a fait de-ci, de-là :

Mise à jour vers (un) sous-ensemble de C++11

Dans la version 5.0, nous avons commencé à migrer agressivement vers un sous-ensemble de C++11 que l'on peut maintenant utiliser avec notre compilateur mis-à-jour, et ainsi utiliser les modèles variadiques, l'initialisation plus simple, et bien d'autres. Du travail visant à enlever des bouts obsolètes de la std tels que les std::ptr_fun utilisant std::any_of et std::none_of. Les lauriers reviennent aux nettoyeurs de code dont Stephan Bergmann (RedHat), Takeshi Abe, Nathan Yee, Bjoern Michaelsen (Canonical) et bien d'autres.

Nettoyage du cadriciel

Grâce à Maxim Monastirsky, nous avons éliminé du cadriciel plusieurs centaines de lignes de code redondant, en créant des contrôleurs génériques configurés par de petits fichiers XML. C'est agréable de voir de tels nettoyages.

Expansion des types d'index entiers

Un certain nombre d'anciennes structures dans LibreOffice ont utilisé des index de 16 bits, et stocké/sérialisé ceux-ci dans diverses structures pendant de nombreuses années. Cela peut causer des problèmes lors de la fusion de très gros messages de courrier - tels que ceux utilisés dans la ville de Munich. Grâce à Katarina Behrens (CIB), Writer 5.0 permet plus de 64k de descriptions de page, de sections et de noms de style.

Réduction des commentaires allemands

Nous avons continué de progresser, mais d’une manière ou d’une autre les dernières ~5000 lignes de commentaires semblent défier toute tentative de traduction. Toute aide des germanophones via courriel est grandement appréciée. Mille mercis à Michael Weghorn, Michael Jaumann (Munich), Daniel Sikeler (Munich), Albert Thuswaldner, Christian M. Heller et Philipp Weissenbacher. Il ne reste à présent que huit modules à traduire : include, reportdesign, rsc, sc, sfx2, stoc, svx, sw.

Conteneurs std::

Nous avons continuellement amélioré notre utilisation des conteneurs std:: à travers notre code. Des choses comme éviter l’héritage de std::vector, changer std::deque pour std::vector et commencer à utiliser les nouveaux constructeurs C++ pour des itérations comme for (auto& it : aTheContainer) { ... }. Il y a beaucoup de gens à remercier ici. Merci à Stephan Bergmann (RedHat), Takeshi Abe, Tor Lillqvist (Collabora), Caolan McNamara (RedHat), Michaël Lefèvre, et beaucoup d’autres.

Writer

Grâce à Bjoern Michaelsen (Canonical), dans la version 5.0, Writer a reçu un nettoyage longtemps désiré sur nombre de points-clés :

  • Amélioration et factorisation de plusieurs implémentations UNO du noyau de Writer concernant les tables, réduisant la taille du code d’environ 20 % et éliminant du code redondant. Des tests unitaires ont été ajoutés et il devrait maintenant être plus facile d’en ajouter d’autres, y compris pour vérifier le noyau de Writer.
  • Nettoyage de certaines classes très anciennes implémentant le modèle observateur d’une manière maladroite (SwClient/SwModify). Ajout d’un atelier de tests afin de clarifier son interface. En fin de compte, l’objectif est de s’éloigner de cette implémentation vers une des implémentations plus modernes que nous utilisons ailleurs. Ce travail devrait aider à trouver une voie de migration plus tard.
  • Plusieurs implémentations ad hoc de listes doublement chaînées intrusives ont été consolidées et fondues en une seule : sw::Ring. Ajout de tests pour clarifier son interface.
  • Utilisation de greffons du compilateur pour chasser à la fois les expressions conditionnelles en cascade les plus profondes et les affectations survenant au cours de l’évaluation des instructions conditionnelles, qui sont source d’erreurs, et transformer les pires contrevenants en quelque chose de plus lisible et de plus facilement maintenable.
Le resourcemodel de writerfilter

Le bloc de construction de resourcemodel de writerfilter (qui gère l'importation des DOCX et RTF de Writer dans LibreOffice) était essentiellement un tas de vieux trucs inutilisés. Les quelques morceaux encore nécessaires de celui-ci sont maintenant déplacés dans les parties utiles de mapper / tokenizer / filter, et le reste est maintenant supprimé. Vous pouvez lire plus de détails grâce à Miklos Vajna (Collabora).

Autres gains

Nous avons eu un certain nombre d'autres victoires qui sont un peu difficiles à classer, mais voici ce qui mérite d'être noté :

OOXML contre MS Office 2007

MS Office 2007 dispose d'un ensemble inutile de différentes valeurs par défaut pour beaucoup de ses attributs - par exemple, le même XML (avec un attribut manquant) peut produire des résultats différents dans Office 2007 et dans les versions suivantes. Il est clair que c'est assez irritant. Merci à Markus Mohrhard d'avoir ajouté certaines infrastructures (et un ensemble de correctifs) pour les attributs problématiques connus à cet égard. Cela devrait améliorer notre interopérabilité avec ce bazar de documents.

Abstraction du système de fichiers Android

Grâce aux donateurs de TDF et à Jacobo Aragunde Pérez (Igalia), nous avons mis en place une API d'abstraction de système de fichiers pour Android - pour permettre aux backends des systèmes de fichiers arbitraires d'être connectés (dans un processus séparé). Un exemple de backend OwnCloud a été mis en œuvre pour montrer ce cas.

Trucs de base

Grâce à Matthew Nicholls nous avons supprimé deux mille lignes de code de glue redondant dans la partie dbtoolsclient de svx, qui était dupliqué ailleurs dans connectivity. C'est génial de voir autant de cochonneries quitter le code.

S'impliquer

J'espère que vous admettez l'idée que de plus en plus de développeurs se sentent chez eux sur LibreOffice et travaillent ensemble à l’achèvement de certains travaux significatifs aussi bien sous le capot qu'en surface. Si vous voulez vous impliquer, il y a beaucoup de gens formidables à rencontrer et avec qui travailler. Comme vous pouvez le voir, les individus ont un impact énorme sur la diversité de LibreOffice (les légendes de couleur à droite doivent être lues de gauche à droite, de haut en bas, et vues de haut en bas sur le graphique) :

Également en termes de diversité des changements apportés dans le code, nous aimons voir le volume des contributions spontanées des bénévoles, bien que clairement, volume et équilibre changent avec les saisons, le cycle de sorties, et les projets de vacances / affaires des bénévoles :

Naturellement, nous maintenons une liste de tâches de petites tailles, que vous pouvez consulter pour participer, avec des instructions simples de compilation / configuration. Il est extrêmement facile de compiler LibreOffice, chaque easy-hack ayant des liens vers le code et incluant une tâche facile à résoudre. En outre, certains d'entre eux sont des fonctionnalités vraiment sympas à avoir ou des améliorations de performance. Merci de ne pas vous considérer limité par quoi que ce soit.

Autre chose qui aide vraiment est d'exécuter des pré-versions et faire des rapports de bogues. Il faut juste récupérer et installer une pré-version et vous êtes prêt à contribuer aux côtés du reste de l'équipe de développement.

Conclusion

LibreOffice 5.0 est une excellente base pour construire les prochaines versions qui seront améliorées peu à peu, non seulement en fonctionnalités, mais également la base d’un intégré bureautique libre. Ce n’est bien sûr pas encore parfait, c’est la première publication d’une longue série de sorties mensuelles pour le cycle 5.0.x, et de sorties biannuelles pour le cycle 5.x, qui apporteront un flux de corrections et d’améliorations de la qualité pour les mois et années à venir.

J'espère que vous aimerez LibreOffice 5.0.0. Merci pour la lecture de ce billet, et n'oubliez pas de jeter un œil sur les nouveautés visibles par les utilisateurs et merci de soutenir LibreOffice.

La plupart des données brutes pour les graphiques ci-dessus sont disponibles.

Télécharger ce contenu au format Epub

Lire les commentaires

Dimanche 30 août 2015 pique-nique Parinux à Paris 17e

25 août, 2015 - 15:05

Chaque année en juillet et août le GULL Parinux organise deux pique-niques. Toute personne intéressée par le logiciel libre, les licences libres, le matériel libre, y est la bienvenue.

Le prochain pique-nique aura lieu le dimanche 30 août 2015 de 13h à 17h au parc Clichy-Batignolles - Martin Luther King, près de l'entrée, 147 rue Cardinet à Paris dans le 17e

À bientôt.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 3.0 de Chouette

20 août, 2015 - 10:18

La version 3.0 de Chouette vient tout juste de sortir ! Rappelons que Chouette est un logiciel libre, sous licence CeCILL-B, développé à l’initiative du ministère français chargé des transports. Son but est de faciliter et de promouvoir l’échange de données d’offre (théorique) de transport collectif (TC).

La nouvelle version 3.0 de Chouette apporte à l’utilisateur un suivi d’avancement des opérations d’importation de données (GTFS, Neptune…), d’exportion ou de validation.

Sur le plan technique, les changements sont significatifs :

  • l’application dispose désormais d’un véritable serveur de tâches asynchrones et doté d’une API REST ;
  • l’application Web passe en Rails 4 ;
  • le serveur d’importation/exportation/validation passe en J2EE avec Wildfly ;
  • prise en compte d’une barre de progression lorsqu’une importation, une exportation ou une validation sont lancées ;
  • mise en valeur du format des données importées ou exportées ;
  • affichage d’une synthèse de la validation effectuée par lignes de transport ;
  • envoi de courriel en asynchrone avec DelayedJob en option.

Le site grand public améliore encore ses performances et peut supporter davantage d’accès simultanés.

Vous trouverez le code source de la partie interface homme-machine et du serveur d’importation/exportation/validation sur GitHub.
La documentation des interfaces et de l’architecture est disponible sur le site officiel du produit.

Télécharger ce contenu au format Epub

Lire les commentaires

GPlayCli et GPlayWeb : profiter de Google Play Store sans installer les Google Apps

20 août, 2015 - 08:10

Lorsqu'on utilise une distribution Android (« ROM custom «) sur son téléphone Android, le premier dilemme auquel en général nous devons faire face est celui d'installer ou non les Google Apps. Les Google Apps, c'est l'ensemble des applications et des services qui sont installés par défaut lors qu'on achète un téléphone Android. Elles regroupent Gmail, le Play Store, Hangouts, Maps, PlayGames, Youtube et bien d'autres.

Cependant, même si l'on choisit de ne pas installer ces applications (car il faut le savoir, techniquement et légalement c'est tout ou rien, il n'est pas possible d'installer seulement quelques Google Apps) on aimerait quand même pouvoir aller chercher des apps du Play Store. Il existe F-Droid, qui est un market alternatif au Play Store ne proposant que des applications sous licence libre, qui pourtant est bien fourni mais n'offre pas toutes les alternatives (FDroid est complètement légal et n'a pas pour but de proposer des apps piratées).

Il existe des outils en ligne pour télécharger des paquets APK, mais aussi en version graphique tel que GooglePlayDownloader. On peut donc récupérer les apks sans avoir à installer les Google Apps. Mais un problème persiste : quid des mises à jour des applications ? Cela contraint à vérifier manuellement si une MàJ est disponible pour chaque application, ce qui est très vite fastidieux.

Avant toutes choses, il faut avoir en tête le cadre légal du téléchargement des APKs du Play Store via un outil tiers, en lisant ce charabia juridique. D'après mon interprétation, il n'est pas illégal d'utiliser ce genre d'outils, mais cela ne reste pas clair. Bien évidement, je me décharge de toute responsabilité concernant une éventuelle infraction à ce règlement.

    GPlayCli

    Pour combler certains manques, tels que les mises à jour automatiques, j'ai décidé de forker GooglePlayDownlader de Tuxicoman pour en faire un outil en ligne de commande. Il permet la recherche, le téléchargement et les mises à jour d'applications déjà téléchargées. Il est disponible sous licence GPL3 à cette adresse : https://github.com/matlink/gplaycli

    GPlayWeb

    J'en ai fait une interface web, afin d'assurer les mêmes fonctions mais via le navigateur. Elle se nomme GPlayWeb et est dispo à cette adresse : https://github.com/matlink/gplayweb

    Je rappelle que GPlayCli et GPlayWeb ne sont pas capables de récupérer des applications payantes. Vous serez aptes à les voir dans la recherche, mais le téléchargement causera une erreur (ou ne se fera pas dans le cas de GPlayWeb).

    F-Droid

    Le comble, c'est que GPlayWeb est compatible avec un serveur F-Droid, ce qui permet de disposer d'un dépôt F-Droid qui contient des applications personnalisées téléchargées depuis le Google Play Store via GPlayWeb. Pour en voir une version de démonstration, c'est ici : https://gpw.matlink.fr et pour le dépôt FDroid, il faut ajouter cette URL dans FDroid : https://gpw.matlink.fr/repo

    [NdM] : il s'agit ici de l'utilisation de F-Droid en serveur local et personnel, permettant la gestion des apps, voulues par l'administrateur de ce dépôt privé, par le client F-Droid du téléphone personnel. En aucun cas le dépôt F-Droid ne propose ce service.

    Ainsi, une application téléchargée depuis GPlayWeb sera disponible dans votre dépôt local F-Droid, visible sur le client dans la catégorie GPlayWeb (il faut attendre environ 10 secondes avant que la mise à jour du dépôt soit prise en compte).

    Veuillez noter qu'il faut tout de même mettre en place votre dépôt F-Droid, qiu ne sera en rien affilié avec le projet F-Droid, en suivant cette doc.

    Sécurité

    Gardez à l'esprit que les dépôts FDroid sont en mesure de modifier les applications qu'ils fournissent. Il faut donc prêter attention à ne pas ajouter n'importe quel dépôt sur son téléphone, en particulier si vous installez une nouvelle application. En effet, dans le cas d'une mise à jour, si la signature de l'apk a changée entre les versions, Android vous préviendra et refusera de faire la mise à jour sans que vous ne désinstalliez l'application.

    Appel à contributions

    N'hésitez pas à remonter des bugs si vous en trouvez, à forker pour améliorer, faire des Pull request, et surtout à créer votre propre instance de FDroid+GPlayWeb/GPlayCli afin de prendre votre indépendance.

    P.S.: La version de démonstration ne met pas à jour automatiquement les applications pour le moment, et n'est pas encore très stable lorsqu'on enchaîne les téléchargements/suppressions d'applications (le dépôt fdroid doit se rafraîchir à chaque manip').

    Télécharger ce contenu au format Epub

    Lire les commentaires

    AFUP Lyon - 16 septembre - Conférence sur l'A/B Testing

    19 août, 2015 - 16:39

    Le 16 septembre à 19h, l'antenne lyonnaise de l'AFUP (Association Française des Utilisateurs de PHP) accueillera Benjamin Chioetto, analyste pour la société Empirik.

    Lors de cette conférence, Benjamin Chioetto, nous présentera :

    • le principe de l’A/B testing ;
    • les différents outils du marché ;
    • le détail d’un des outils ;
    • des exemples de tests effectués et de leurs retours ;
    • la méthodologie utilisée pour choisir les tests.

    La conférence aura lieu dans les locaux d’Epitech, au 86 boulevard Marius Vivier-Merle 69003 LYON.

    NdM: le test A/B consiste à proposer aux utilisateurs des variantes A et B d'un logiciel/site, différant selon un seul critère, pour déterminer la meilleure version. Par ailleurs une part importante de la présentation concernera des outils propriétaires. Nous vous invitons à signaler dans les commentaires les outils libres que vous utilisez pour faire des tests A/B.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Podcast No Limit Secu : épisode sur GostCrypt

    19 août, 2015 - 14:19

    No Limit Secu est un podcast (ou bala(do)diffusion) indépendant, animé par des personnes passionnées qui sont parties prenantes dans le domaine de la cybersécurité à des rôles et dans entreprises diverses. No Limit Secu a été présenté précédemment dans ces colonnes.

    Dans cet épisode, il sera question de GostCrypt : un logiciel libre de chiffrement, sous licence GPL V3. Il sera présenté par Eric Filiol, qui est à l'initiative de ce projet.

    Nous profitons également de cette dépêche pour vous indiquer que si vous êtes impliqués dans le développement d'un logiciel libre dédié à la sécurité, nous serons ravis de vous recevoir pour que vous puissiez présenter votre projet à nos auditeurs.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    IPython est mort, vive IPython 4.0

    19 août, 2015 - 14:13

    Pour ceux qui ne connaissent pas IPython et son historique, je vous propose de consulter les dépêches précédentes, car si à l'origine il s'agissait uniquement d'une console évoluée pour Python, l'envergure des possibilités a bien changé entre-temps. Cette nouvelle version revient doucement aux sources en diminuant considérablement les fonctionnalités présentes.

    Il y a quelques mois, une description de ce que pouvait faire IPython aurait pris plusieurs heures d'explication sur le notebook, protocole de communication, qtconsole, etc. depuis cette nouvelle version IPython n'est plus qu'une console évoluée pour Python. On remarquera que c'est plus proche de la philosophie Unix : "Ne faire qu'une seule chose, et la faire bien".

    Vu qu'il y a peu de nouvelles fonctionnalités dans cette nouvelle version, je ne vais pas m'attarder trop dessus. Et plutôt décrire les changements opérés.

    Merci a emilien.schultz, Nÿco, palm123, zurvan, jcr83 et Snark pour avoir participé à la rédaction.

    Sommaire

    Il est 19h00 sous le soleil de Californie, les étudiants sont partis de la Bibliothèque principale de Berkeley. Une partie de l'équipe de développement d'IPython est encore dans l'espace de travail commun pour peaufiner la première publication de Jupyter. Fernando Pérez, créateur d'IPython appuie sur la touche entrée du clavier de MinRK… Les lignes défilent… Quelques secondes plus tard, la fin d'une époque. Pour la première fois en 14 ans, IPython n'est plus un paquet unique, mais un ensemble de bibliothèques clairement identifiées.

    Changement de fonctionnalités Nouvelles fonctionnalités

    Aucune. Facile à retenir. En fait, pour être honnête, ce n'est pas totalement vrai, nous avons bien ajouté quelques améliorations mineures, mais rien qui vaille la peine d'être décrit ici.

    Fonctionnalités retirées

    Alors là, c'est l'hécatombe. Au revoir le Notebook, plus de Qtconsole, plus de conversion de notebook avec nbconvert, plus de calcul parallel, ni de widget. Le code source ne fait plus "que" 65k lignes de Python, 180k tous langages confondus, contre 146k et 340k pour la branche en maintenance 3.x.

    La Grande Séparation

    Bien que beaucoup de fonctionnalités aient été retirées, vous pouvez toujours y avoir accès en installant les paquets correspondants. Pour ceux qui s'intéresseraient à la manière dont les différentes fonctionnalités ont été retirées de l'arbre principal, je vous conseille d'aller lire l'article sur "La Grande Séparation" (The big Split™). Ceci nous a permis de découper le code en à peu près une dizaine de paquets différents regroupant chacun une fonctionnalité bien précise. En tant qu'utilisateur, vous ne devriez faire face qu'à un nombre limité de choix.

    Si vous n'utilisez IPython qu'en ligne de commande, rien de changé pour vous, vous installez ipython.
    Si par contre vous étiez fan du notebook, maintenant vous voulez installer le méta-paquet Jupyter (pip install jupyter) qui devrait installer toutes les dépendances. Si vous désirez une installation sur mesure vous pouvez aller piocher les composants nécessaires parmi notebook, qtconsole, nbconvert, console, ipyparallel, etc. Les nouveaux composants gardent leur licence BSD et l'historique des modifications grâce à git filter-branch.

    En pratique pour les développeurs et utilisateurs qui voudraient trifouiller le code, il y a potentiellement plusieurs dépôts git à cloner. D'un autre coté si vous n'êtes intéressé que par une sous-partie des composants, le code est bien plus petit.

    Vous pouvez allez lire le court post de blog sur la nouvelle version 4.0 de Jupyter (on commence à 4.0 pour rester dans la continuité d'IPython).

    L'écosystème

    Comme souvent, le nombre de paquets et d'outils qui fonctionnent autour de Jupyter croît.

    On notera en particulier que Atom (l'éditeur de texte de GitHub) s'est enrichi du greffon hydrogen. L'auteur travaille actuellement avec nous pour améliorer la complétion dans le notebook. L'intégration de l'édition de notebook directement dans Atom est aussi en progression.

    Il y a quelques mois de cela, on a aussi eu le plaisir d'avoir le rendu des notebooks sur GitHub, vous pouvez en lire plus sur le blog de Jupyter. Ainsi que l'intégration du protocole pour exécuter du code sur la plateforme de publication d'Oreilly, qui transforme les balises "pre" d'une page en code exécutable à l'aide d'un outil open-source nommé thebe (point de culture générale : il s'agit d'une des lunes de Jupiter).

    Une autre information est à noter, qui pourrait sembler déplacée sur un site généralement critique envers une certaine entreprise de Redmond à l'origine d'un système d'exploitation connu, les interactions entre Jupyter et les équipes de Microsoft sont relativement bonnes. Vous pouvez d'ailleurs utiliser les notebooks sur Microsoft Azure.

    Big Blue (ou IBM pour les bébés moules de LinuxFr.org), a aussi une intégration poussée des notebooks, dans ses différentes platformes. On remerciera en particulier les chercheurs en sécurité d'IBM pour la divulgation responsable de failles de sécurités avérées sur la liste de diffusion dédiée à la sécurité.

    Kyle travaille toujours à Rackspace et passe une grande partie de son temps, avec l'autorisation de son employeur, sur de trop nombreux projets liés à Jupyter.

    La suite

    Maintenant plus que jamais est le moment de contribuer ! Chaque sous-projet est maintenant à taille humaine (et a été conçu pour l'être), et les publications ne sont plus synchronisées entre elles pour permettre plus de souplesse et des rythmes différents. Avec votre aide, il est envisageable d'avoir une nouvelle version du notebook au fil des mois, plutôt que des intervalles d'un an ! Par ailleurs, la taille de chaque projet diminuant, il va être plus facile d'obtenir les droits de commits, et de faire des choix d'implémentation sans se frotter à 10 autres développeurs qui ont un avis sans pour autant avoir jamais touché une ligne de ce sous-projet.

    Avec le récent financement, les personnes travaillant sur Jupyter/IPython vont pouvoir garder leurs postes, mais des nouvelles positions s'ouvrent. On collabore aussi avec le projet OpenDreamKit qui devrais aussi recruter en Europe, afin d'intégrer IPython plus en profondeur avec SageMath. Je vous laisse allez chercher les offres de poste, ce n'est pas tous les jours qu'on peu trouver des offres d'emplois pour travailler à plein temps sur de l'Open Source. On notera aussi que deux développeurs de Berkeley (re)viennent travailler en Europe (Royaume-Uni, et Norvège) pour augmenter la présence européenne.

    Au cours des trois prochaines années le financement du projet inclut des personnes dédiées pour écrire la documentation, ainsi que des fonds pour un designer et un développeur web. On va donc peut-être enfin avoir une documentation digne de ce nom et pas trop moche.

    Le financement du projet prévoit aussi de faire une conférence sur quelques jours, pour regrouper la majorité des développeurs qui travaillent sur des projets en relation avec l'architecture de Jupyter. En attendant, cherchez les développeurs au conférence, j'ai entendu dire que maintenant ils avaient des autocollants Jupyter et des t-shirts à distribuer.

    Sinon le développement a déjà repris de plus belle, avec addition de fonctionnalités au notebook en cours (Rechercher, remplacer, sélection multiple, collaboration temps réel), et intégration des sous-projets comme traitlets avec matplotlib.

    Merci à vous, on attend vos contributions et commentaires avec impatience !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Librem 13, l’espoir d’avoir un jour un ordinateur libre

    19 août, 2015 - 01:01

    Aujourd’hui, un nombre considérable d’ordinateurs sont conçus sans prendre en compte les libertés individuelles et enfreignent la vie privée de l’utilisateur. Depuis d'ingénieuses portes dérobées installées dans les micrologiciels embarqués dans les puces électroniques jusqu’aux modules propriétaires intégrés au noyau de nos systèmes d’exploitation, les menaces sont nombreuses. Les stratégies pour s’en prémunir étant devenues un sujet majeur au sein des communautés promouvant le logiciel libre, la question sur le matériel à choisir est plus que jamais d’actualité.

    C’est dans ce contexte qu’est né le projet Purism, ayant pour objectif de fournir des ordinateurs portables respectueux de la vie privée, de la liberté et de la sécurité des utilisateurs.

    Sommaire Historique

    Malgré l’existence d’une multitude de boîtiers totalement libres sur le marché, les solutions pour ordinateurs portables s’offrant à nous demeurent très limitées. Face à une concurrence tenace, maintenue par un cercle fermé de constructeurs non soucieux des libertés individuelles, et prisonniers de leurs accords financiers mutuels, la FSF (Free Software Foundation) peine à promouvoir le libre au-delà des limites des solutions logicielles. En conséquence, les compromis entre ergonomie, puissance et prix sont devenus coutumiers pour la plupart d’entre nous.

    Pour autant, des alternatives ont vu le jour. Le projet Gluglug du Minifree (Ministry of Freedom) propose ainsi, depuis le 29 janvier 2015, un nouvel ordinateur certifié RYF. Il s’agit du Libreboot x200, un Thinkpad x200 modifié de façon à échapper aux abus auxquels nous pourrions être confrontés avec d’autres produits informatiques. Le micrologiciel BIOS a été soigneusement remplacé par un logiciel libre, Coreboot, offrant l’assurance d’une protection dès la mise sous tension de l’ordinateur. Le système d’exploitation Trisquel GNU/Linux y est également installé par défaut. Il s’agit d’une distribution GNU/Linux constituée exclusivement de logiciels libres, et soutenue à ce titre par la FSF.

    Néanmoins, il ne s’agit que d’une solution basée sur du matériel vieillissant et ne bénéficiant pas des dernières avancées technologiques matérielles. C’est la raison pour laquelle le projet Purism fut lancé courant 2014. L’objectif de Purism serait de remplacer tous les bits propriétaires identifiables sur un ordinateur portable par des logiciels exclusivement libres. Il ne s’agirait pas ici de se contenter d’un système d'exploitation libre comme un certain nombre de fournisseurs, mais de choisir un matériel spécifique qui puisse fonctionner sur GNU/Linux avec des pilotes libres purs au point de remplacer les BIOS/UEFI fermés avec Coreboot. Ce combat permanent, soutenu vigoureusement par Richard Stallman, nous projette d’emblée dans un avenir meilleur, où les logiciels libres pourront remplacer l’intégralité des logiciels propriétaires.

    Caractéristiques matérielles

    Le Librem 13 est le premier ordinateur portable haut de gamme où l’utilisateur détient le contrôle et une complète visibilité sur son système. Bien que le bootloader, le noyau du système d’exploitation et toutes les applications logicielles soient des logiciels totalement libres et gratuit, le BIOS qui utilise les codes de Coreboot, dispose à l’heure actuelle, toujours d’un binaire développé par Intel, appelé FSP. Tandis que les efforts de l’équipe du projet se concentrent sur cette partie du BIOS non libre, le Librem sera le premier ordinateur portable jamais fabriqué avec un processeur Intel moderne exécutant du code non signé par le BIOS. L’équipe travaille également sur les micrologiciels embarqués dans les puces électroniques des contrôleurs des disques de stockage dur et flash. Les deux cartes réseaux, filaire et Wi-Fi, sont accompagnées également des pilotes logiciels libres et gratuits.

    L’entreprise Purism fabrique elle-même la carte mère, et la sérigraphie du clavier. De plus, il est également intéressant de noter qu’il s’agit d’un des seuls ultra-portables du marché proposant une configuration évolutive. Tous les composants sont facilement remplaçables après avoir dévissé l’arrière du boîtier. Et pour les plus paranoïaques d’entre nous, des commutateurs matériels sont proposés en option, afin de rendre indisponibles à la demande, le micro, la caméra ainsi que la carte réseau sans fil.

    • Écran : dalle IPS mate de 13.3” d’une résolution maximale de 1 920 × 1 080
    • Processeur : Intel i5 avec 2 cœurs (4 threads) cadencés à 2,2 GHz
    • Carte graphique : Intel HD Graphics 5500
    • Mémoire vive : 4 Go (jusqu’à 16 Go en option)
    • Stockage : 500 Go HD (jusqu’à 1 To HD ou 1 To SSD)
    • Carte réseau sans-fil (ath9k) : 802.11n Wi-Fi
    • Carte réseau filaire (r8169)
    • Caméra : 720p
    • Batterie : 48 Wh lithium-ion polymère, jusqu’à 8 h d’autonomie
    • Adaptateur secteur : 45 W disponible dans les versions US, EU et UK
    • Connectique :
      • 1 × port USB 3.0
      • 1 × port USB 2.0
      • 1 × port HDMI
      • 1 × port RJ45 de type Pop-Down
      • 1 × port jack
      • 1 × fente pour carte SDXC
    • Système d’exploitation : Purism PureOS 64-bit
    • Commutateurs matériels pour la carte réseau sans fil et la caméra (en option)
    • Clavier étendu dans une variété de langues, bépo.
    • Corps du boîtier en aluminium
    • Dimensions : 325 mm × 219 mm × 18 mm
    • Poids : 1,4 kg
    Caractéristiques logicielles

    Livré avec le système d’exploitation PureOS préinstallé, l’ordinateur portable embarque uniquement des logiciels choisis pour avoir la particularité de respecter les recommandations du logiciel libre. Les deux cartes réseaux, filaire et sans fil, sont donc accompagnées de pilotes logiciels totalement libre et gratuit. PureOS est un système d’exploitation basé sur la distribution Trisquel GNU/Linux soutenue par la FSF, dont le noyau est exempté de tout code binaire propriétaire, comme cela ne pourrait pas être le cas sur une distribution comme Debian. Il s’agit de mesures strictes visant à protéger l’utilisateur de tentatives de détournements que pourrait s’accorder certaines entreprises commerciales développant leurs propres pilotes matériels. Actuellement, seul le dossier /home est chiffré par défaut afin de simplifier, selon Purism, les démarches pour les utilisateurs, et éliminer ainsi les contraintes qui seraient liés au chiffrement global de l’ensemble de l’espace de stockage.

    Cette distribution embarque également des outils visant à protéger la vie privée des usagers, comme un navigateur web qui n’est autre qu’une version modifiée de Firefox incluant des modules comme Privacy Badger ou encore HTTPS-Everywhere. Des utilitaires basés sur le projet TOR sont également installés, auprès du reste des applications de bureautique, avec notamment des outils pour le dessin, le traitement de texte, les présentations, les activités multimédias, la gestion des mails… L’ensemble étant associé à l’environnement de bureau GNOME 3 de façon à rendre plus conviviale l’utilisation de l’ordinateur et faciliter ainsi la migration de certains utilisateurs.

    Critiques autour du projet

    Le projet n’attire pas que des louanges de la part de la communauté du libre. Un certain nombre de critiques sont apparues. Citons notamment :

    Aussi, il est important de garder à l’esprit que certaines personnes travaillant depuis un moment sur la réécriture des binaires bas niveau émettent eux-mêmes de gros doutes sur l’accomplissement de leurs travaux.

    Conclusion

    En définitive, le Librem 13 marierait le meilleur du logiciel libre avec les meilleurs composants matériels du marché, tout en proposant un design élégant et une qualité d’assemblage s’approchant de ce qui se fait de mieux. Le Librem 13 semble donc être l’un des seuls ordinateurs portables modernes qui nous propose l’assurance de défendre du mieux possible nos idéaux de confidentialité, de sécurité et d’ouverture.

    Cependant, il est important de garder à l’esprit que le projet n’en est qu’à ses débuts, et que le meilleur est à venir. Il va de soi qu’il est important que la communauté se mobilise, par un soutien financier depuis la plateforme de financement participatif CrowdSupply, assurément, mais également par une participation aux discussions et phases de développement de Coreboot.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Rejoindre la licence Pro CoLibre (communication et logiciels libres) avant le 28 août 2015

    18 août, 2015 - 20:27

    La date limite pour candidater à la licence professionnelle « Communication, logiciels libres et sources ouvertes » est fixée au 28 août 2015. Il reste donc une semaine aux apprenti(e)s pros de la com pour intégrer cette formation lyonnaise (Institut de la communication (ICOM), université Lumière Lyon 2) qui délivre un diplôme national à Bac+3.

    Les critères de sélection ? Une motivation en béton à utiliser du libre pour communiquer, avoir un projet professionnel dans les secteurs de la communication, de la formation, de la conduite de projet de migration et la gestion du changement, de l'accompagnement de projets web, ou PAO-Pré-presse.

    Un parcours pluridisciplinaire ouvert à la formation initiale ou continue avec un niveau bac + 3 reconnu dans n'importe quel secteur (sciences humaines, tourisme, langue, informatique, sciences de la terre, psycho ou sociologie…).

    L'occasion de découvrir et redécouvrir la communication au travers de ses fondamentaux à partir d'outils numériques libres en cours, dans le cadre de projets tuteurés avec des partenaires et avec un stage professionnalisant long de 16 semaines au sein d'une organisation.

    Attention : les dossiers doivent arriver ou être déposés au secrétariat du diplôme à la date limite du 28 août pour une rentrée à la mi-septembre. Il n'y aura pas de report de date.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    KDE organise son Sprint annuel dans les Alpes... et a besoin d’un coup de pouce !

    18 août, 2015 - 20:04

    Cette année encore l'héroïque organisateur des Randa Meetings réitère l'exploit logistique de rassembler dans son village, du 6 au 13 septembre, une cinquantaine de contributeurs KDE pour donner un coup d'accélérateur à leurs projets.

    La thématique cette année pourrait se traduire par « Offrir le toucher à KDE » et ils ont besoin de votre aide.

    Les groupes invités sont

    • Tactile et Mobile, le sujet principal et transversal ;
    • KDE Connect, pour coordonner vos communications entre tous vos appareils ;
    • KDE PIM, pour la gestion de vos informations personnelles, incluant messagerie, carnet d'adresses, calendrier, tâches, agrégation de nouvelles, etc. ;
    • KDE Multimedia, pour la musique ou la vidéo ;
    • digiKam, pour gérer vos photographies comme un professionnel grâce à la puissance du libre ;
    • QMLweb, pour amener le QML sur la toile.

    Quiconque passant dans le coin est bien sûr invité à passer voir ce qui se trame.

    Pour que de telles actions puissent se concrétiser, il faut plus que de la motivation de la part des acteurs du libre et des bénévoles : les frais de transport, d'hébergement et diverses dépenses doivent être réglés.
    C'est pour cela qu'il vous est proposé de soutenir ces événements… Merci !

    Télécharger ce contenu au format Epub

    Lire les commentaires

    FreeBSD 10.2

    18 août, 2015 - 13:27

    Entrée dans un cycle de bêta le 11 juillet 2015, puis en cycle de RC le 24 juillet 2015, FreeBSD 10.2 est disponible depuis le 14 août et constitue la deuxième mise à jour mineure de FreeBSD 10-STABLE.

    Cette version n'apporte pas de changement majeur, mais corrige quelques problèmes de sécurité dans les logiciels inclus avec la distribution et ajoute quelques options intéressantes au niveau du noyau.

    Nouvelles fonctionnalités
    • racct et rctl sont inclus par défaut dans le noyau GENERIC et ne nécessitent plus une compilation spécifique. Le flag sysctl kern.racct.enable a été ajouté. Ces outils permettent de faire de la gestion de ressources de manière très fine ;
    • l'utilitaire dpv a été ajouté. Il permet à dialog d'afficher des barres de progression à partir d'un ou plusieurs flux ;
    • l'utilitaire fstyp permet, comme son nom le laisse supposer, de déterminer le système de fichiers en usage sur le périphérique spécifié.
    Virtualisation
    • le pilote virtio_console a été ajouté, offrant la possibilité d'interfacer une console virtio sur un tty ;
    • BHyVe, l'hyperviseur FreeBSD, sait désormais utiliser les extensions SVM et AMD-V associées aux processeurs AMD ;
    • BHyVe gére les commandes DSM TRIM pour les disques virtuels AHCI ;
    • le pilote Hyper-V hv_vmbus gère les multi-canaux ;
    • le pilote Hyper-V hv_storvsc gère la dispersion et le regroupement des informations. Il a également reçu quelques correctifs de performance ;
    • le pilote Hyper-V hv_kvp (stockage clef-valeur) a reçu plusieurs correctifs de bugs ;
    • le pilote hv_netvsc supporte le TSO et le déchargement des sommes de contrôle ;
    • la couche d'émulation Linux passe de la version 2.6.16 à 2.6.18.

    Il faut noter ici que les correctifs Hyper-V ont été effectués directement par le Microsoft Open Source Technology Center

    Matériel Pilotes
    • le code de drm a été mis à jour en se calquant sur Linux 3.8.13 : en plus des corrections de bugs, il est à nouveau possible de lancer plusieurs sessions X simultanément (grâce aux ioctls setmaster et dropmaster), ce qui était requis pour que plusieurs sessions utilisateur restent ouvertes en même temps ;
    • le pilote psm a été mis à jour afin d'améliorer le support des derniers touchpad Synaptics et souris ClickPad ;
    • le module pf (Packet Filter) a été modifié afin d'utiliser des hash Murmur3 plutôt que Jenkins, augmentant les performances de traîtement de paquets de 3% ;
    • le pilote ral sait désormais gérer les puces RT5390 et RT5392 ;
    • le pilote em dispose d'une nouvelle option EM_MULTIQUEUE permettant aux cartes réseau Intel utilisant ce pilote de pouvoir bénéficier de plusieurs queues et d'améliorer leurs performances ;
    • le pilote vxlan a été ajouté, permettant de créer un réseau virtuel de niveau 2 sur un réseau de niveau 3. Cette fonctionnalité très intéressante permet de s'abstraire de la configuration d'un réseau LAN physique. Elle est surtout utile en datacenter.
    ARM
    • il n'était pas possible d'éteindre électriquement le BeagleBone Black via shutdown -p ou poweroff. C'est désormais possible ;
    • le support de la puce Exynos 5420 Octa a été ajouté ;
    • l'option SMP (Multi Processeur) des puces Exynos 5 a été ajoutée ;
    • le nouveau pilote bcm2835_cpufreq a été ajouté permettant de gérer la fréquence du CPU et sa tension sur les puces Raspberry PI ;
    • le système Toradex Apalis i.MX6 peut désormais être utilisé sous FreeBSD ;
    • des pilotes de transmission audio ont été ajoutés au Multiplexeur Audio Digital (AUDMUXM), au SDMA et à l'Interface Série Synchrone SSI ;
    • plusieurs améliorations sur le Raspberry PI.
    Correctifs
    • corrections de deux kernel panic lors de la destruction de vnet dans des jails (conteneurs FreeBSD) associés à des tunnels gif ou gre ;
    • OpenSSL 1.0.1p ;
    • prévention du téléchargement de mises à jour binaires via freebsd-update si une précédente mise à jour n'a pas été complètement terminée.
    Comment mettre à jour ?

    Pour mettre à jour votre version de FreeBSD depuis les paquets binaires, effectuez la manipulation suivante:

    freebsd-update -r 10.2-RELEASE upgrade
    freebsd-update install
    reboot
    pkg upgrade
    freebsd-update install

    Note 1: si vous utilisez les ports, remplacez la commande pkg upgrade par la commande portmaster -Raf.
    Note 2: si vous utilisez poudriere, pensez à créer une nouvelle jail en FreeBSD 10.2, à reconstruire tous les ports et enfin à relier votre machine à ce nouveau dépôt.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Atom 1.0.x : l'autre éditeur de code

    17 août, 2015 - 09:05

    Profitons de la torpeur estivale pour présenter Atom, un éditeur de code source multi plates-formes développé par GitHub et que nous n'avons pas encore eu l'occasion de présenter ici même. Depuis plus d'un an en version bêta, il s'est vu gratifier il y a quelques semaines du numéro de version symbolique 1.0 par son éditeur (il est actuellement en 1.0.7).

    NdM : ce logiciel Atom ne doit pas être confondu avec le format ouvert de syndication Atom, utilisé par LinuxFr.org par exemple.


    Écrit en CoffeeScript sur la base de Chromium, il se repose sur un mécanisme d'extensions en Javascript sur la base de Node.js pour les fonctionnalités et de personnalisation par thèmes. Tout comme pour Vim ou Emacs, vous pouvez le transformer en un environnement de développement intégré (IDE) très puissant et unique taillé pour votre usage. Partagez-les en commentaires.

    Rapide description

    Comme précisé sur le site web, Atom :

    • est multi-plateforme (Linux, Mac OS X et Windows) ;
    • propose un gestionnaire de paquets et de thèmes ;
    • est un logiciel libre : le cœur Atom et les nombreux paquets de base fournis par GitHub sont sous licence MIT ;
    • propose une auto-complétion relativement bien faite ;
    • a une interface avec onglets et de multiples panneaux ;
    • sait gérer l'ensemble des fichiers d'un projet, avec une vue arborescente façon Eclipse par exemple ;
    • a une interface de base épurée et fonctionne principalement à base de commandes clavier. Si vous n'en avez qu'une à retenir, c'est [Ctrl]+[Shift]+[P] qui affiche le sélecteur de commandes ;
    • est écrit entièrement avec des technologies web récentes : HTML, Javascript/CoffeeScript, CSS, Node.js, etc.
    • s'interface naturellement et par défaut avec git, on peut s'en douter.

    L'écran de bienvenue vous permet de démarrer assez rapidement et vous informe aussi explicitement que l'outil collecte quelques statistiques anonymes (hum, hum…) que vous pouvez très vite désactiver en retirant le paquet metrics.

    Le nombre d'extensions disponibles pour Atom est déjà très important. Plus de 2 500 au moment de l'écriture de cette dépêche. Cela va de la mini-carte du code source à l'« embellisseur » de code en passant par des modes vim/emacs plus ou moins complets ou encore la désactivation de touches ou la gestion de la syntaxe Markdown. Pratique pour rédiger des dépêches sur LinuxFr.org !

    Petit historique

    L'histoire, racontée un peu partout veut que l'un des fondateurs de Github, Chris Wanstrath soit un grand fan d'Emacs, de son mécanisme d'extension et surtout de sa profonde « bidouillabilité ». Mais il était gêné par le fait qu'il faille utiliser Lisp (voire une version spéciale Emacs de Lisp) pour le hacker.

    Il s'est donc lancé en 2008 dans le codage d'un éditeur avec le même niveau de bidouillabilité mais avec des technologies plus modernes, basées sur celles du web. Comme c'était un projet en marge de Github qui lui demandait beaucoup d'attention, il y allait piano en espérant qu'un éditeur moderne et répondant à ses attentes s'impose. Mais voyant que rien ne sortait vraiment et que Github était sur les rails, il s'est remis à l'ouvrage pour sortir Atom 1.0 sous une licence libre. Désormais une personne est embauchée à temps plein pour travailler dessus.

    Désormais, l'outil commence à réellement montrer sa polyvalence, avec Facebook qui a créé Nuclide, un IDE spécial et adapté pour gérer et coder sur l'immense base de code interne. D'autres comme Nylas le transforment en un logiciel de traitement de courriels.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Appel à candidatures OIF « Production de ressources éducatives libres francophones »

    15 août, 2015 - 21:58

    L’Organisation internationale de la Francophonie organise deux sessions régionales de formation « Production de ressources éducatives libres francophones » à destination des professionnels de l’éducation d’Afrique de l’Ouest et de l’Océan indien (en particulier les formateurs de formateurs pour l’éducation de base).

    Les formations sur 5 jours comprendront « des cours académiques et des travaux pratiques autour de la richesse et des avantages des logiciels libres, et plus spécifiquement des logiciels libres pour l’éducation ».

    • Session Afrique de l’Ouest à Abidjan (Côte d’Ivoire) du 26 au 30 octobre 2015 : Outils libres de création de ressources éducatives libres

      • Logiciels libres et open source : philosophie, état de l’art, utilisation
      • Créer des supports pédagogiques : Scribus
      • Créer du contenu : OpenOffice.org / LibreOffice.org,
      • Les outils pédagogiques Frama* pour les élèves
      • Retours d’expérience, ateliers et travaux pratiques
    • Session Océan indien à Antananarivo (Madagascar) du 07 au 11 décembre 2015 : Outils d’infrastructure au service de l’éducation

      • Logiciels libres et Open Source : philosophie, état de l’art, utilisation
      • Installation des environnements LAMP / WAMP
      • Gérer un réseau d’établissement scolaire : AbulEdu
      • Gérer la classe : outils Frama* pour les enseignants
      • Retours d’expérience, ateliers et travaux pratiques

    Le formulaire de candidature est à remplir en ligne avant le 15 septembre 2015.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    CodevTT v1.0.3 - Suivi d'activité et gestion de projet avec MantisBT

    15 août, 2015 - 19:25

    CodevTT est un outil libre (GPLv3) de gestion de projet réactif en lien direct avec le développement, permettant un suivi détaillé de l'avancement des projets et des activités de l'équipe.

    Sa caractéristique principale est d'être en lien direct avec MantisBT — un système de suivi d'anomalies — dont on étendra le périmètre d'activité.

    NdM : la version 1.0.2 (qui date de janvier) était envisagée comme la dernière 1.0.x selon l'équipe projet, mais finalement la v1.0.3 est parue et apporte les modifications suivantes :

    • Compte-rendus d'activités (CRA ou timesheets) : relance périodique par courriel des utilisateurs qui les ont pas remplis
    • Planning : option pour afficher une référence externe (externalRef) plutôt que l'identifiant Mantis mantis_id
    • Correction sur l'import en CSV
    • Corrections mineures et améliorations diverses

    En puisant des informations dans la base de données de MantisBT et en proposant un système simple de saisie des comptes-rendus d'activité aux utilisateurs, CodevTT réduit considérablement le nombre d'opérations manuelles à effectuer pour générer rapports, statistiques, alertes, planning, diagramme de Gantt et autres indicateurs de production et de suivi.

    Les données de MantisBT étant tenues à jour en permanence par les développeurs, le chef de projet peut avoir une vue en temps réel de l'avancement du projet, sans créer de surcharge de travail pour l'équipe.
    Les informations et alertes remontées par CodevTT permettent au chef de projet d'identifier plus rapidement les points durs du projet. La réduction d'un grand nombre de tâches récurrentes lui permet de se concentrer davantage sur les parties nécessitant le plus d'attention et d'analyse.

    Les statistiques aident à identifier les actions à entreprendre pour améliorer la productivité de l'équipe et permettront d'en mesurer l’efficacité à court, moyen et long terme.
    La section Contrats et Commandes permet d'avoir une vue client de l'avancement, et propose des indicateurs qui pourront lui être remontés.

    CodevTT est donc un outil de gestion de projet réactif, en lien direct avec le développement, et se fixe comme objectif la maîtrise du suivi et la réduction des coûts de management par la simplification et l'automatisation des processus.

    CodevTT est un logiciel libre, soutenu par AtoS qui l'utilise en interne pour gérer ses projets (avec une base d'utilisateurs actuelle d'environ 250 personnes).

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Les Enlightenment Foundation Libraries 1.15 sont de sortie !

    14 août, 2015 - 07:21

    Les Enlightenment Foundation Libraries (EFL) sont un ensemble de bibliothèques logicielles issues du projet de gestionnaire de fenêtres et d'environnement de bureau Enlightenment.

    Après trois mois d’intense développement, nous (NdM: les auteurs du projet) sommes fiers de vous annoncer la sortie de la version 1.15 des EFL, de l'ensemble de widgets Elementary, des chargeurs génériques pour la bibliothèque de rendu graphique Evas et des lecteurs génériques pour la bibliothèque vidéo Emotion.

    Durant ces douze semaines, nous avons reçu plus d’un millier de commits de soixante-quatre auteurs pour les seules EFL, ce qui représente une petite baisse d’environ deux cents commits par rapport à la version précédente. Elementary a pour sa part eu droit à presque cinq cents commits par cinquante-six personnes. Un excellent boulot de tous !

    Sommaire Quoi de neuf ?

    Même si seulement trois mois se sont écoulés, il y a eu beaucoup de nouveautés pour cette nouvelle version.
    Seuls quelques points importants sont signalés ici. Si les détails vous intéressent, vous pouvez consulter les fichiers NEWS dans les sources.

    Eo

    Les constructeurs et destructeurs des objets ont été assainis et la gestion d’erreurs a été améliorée, ce qui inclut l’ajout d’une valeur de retour à eo_constructor() et la suppression d’eo_error_set(). La création d’objets et la gestion des erreurs devraient de ce fait être plus cohérentes.

    Ecore DRM

    Des nouvelles fonctions ont été ajoutées à l’API pour gérer les sorties, ainsi que des améliorations à la vitesse de rendu et l’ajout du rendu accéléré matériellement.

    Ecore Wayland

    La gestion de la version 5 du protocole xdg_shell a été ajoutée. Grâce à de nombreuses autres améliorations, nous dépendons désormais des versions ≥ 1.8.0 des bibliothèques Wayland. Les méthodes d’entrée Wayland gèrent désormais la capitalisation automatique, le choix de la langue ainsi qu’un mode mot de passe.

    Eolian

    De nouvelles fonctions pratiques ont été ajoutées, ainsi qu’un nouveau générateur et format de documentation, rendant de fait l’ancien obsolète ; une grosse partie de la documentation des EFL et d’Elementary a été migrée vers ce nouveau format. La grammaire des fichiers Eo a été rendue plus stricte et de nouveaux contrôles d’erreurs ajoutés. Des préparatifs pour l’activation du validateur de fichiers Eo ont été effectués, mais ne sont pas complets.

    Edje / EDC

    Un nouveau drapeau no_render a été ajouté. Quand activée, la partie ne devra jamais être visible sur le canevas, mais peut néanmoins toujours être utilisée en tant que masque ou source proxy.
    Il est désormais possible de changer le “clipper” d’une partie en définissant une valeur écrasante clip_to dans la description d’état.
    Les filtres de texte et d’image d’Evas sont désormais mieux intégrés, permettant aux thèmes d’utiliser des filtres avec des animations, et se referrant à des fichiers Lua externes.

    Portabilité

    De nombreux correctifs pour un meilleur fonctionnement sous Windows ont été ajoutés. Du côté de Mac OS X, la gestion de CoreAudio a été ajoutée à ecore_audio permettant de lire des sons.

    Statistiques EFL $ git log --pretty-oneline v1.14.0..v1.15.0 | wc -l Nombre de commits : 1065 $ git shortlog -ns v1.14.0..v1.15.0 | wc -l Nombre d’auteurs : 64 $ git diff --stat v1.14.0..v1.15.0 | tail -1 892 fichiers modifiés, 77708 insertions(+), 43249 suppressions(-) Elementary $ git log --pretty#oneline v1.14.0..v1.15.0 | wc -l Nombre de commits : 472 $ git shortlog -ns v1.14.0..v1.15.0 | wc -l Nombre d’auteurs : 56 $ git diff --stat v1.14.0..v1.15.0 | tail -1 388 fichiers modifiés, 19381 insertions(+), 14088 suppressions(-) Compilation et dépendances

    Si vous disposez d’une installation existante des EFL ou d’Elementary, vous devriez supprimer ses en-têtes et les bibliothèques au préalable de la compilation et de l’installation pour éviter d’éventuels conflits. L’ordre de compilation est le suivant :

    1. efl
    2. elementary
    3. emotion_generic_players
    4. evas_generic_loaders

    Vous pouvez vous réferrer aux fichiers README respectifs pour une liste complète des dépendances, une explication des drapeaux de compilation et d’autres informations.

    La liste des dépendances est :

    • bullet
    • libpng
    • libjpeg
    • gstreamer (1.x) (soyez certains que vous disposez de tous les codecs que vous désirez/dont vous avez besoin)
    • zlib
    • luajit (optionnellement lua 5.1 or 5.2)
    • libtiff
    • openssl
    • curl
    • dbus
    • libc
    • fontconfig
    • freetype2
    • fribidi
    • libpulse
    • libsndfile
    • libx11
    • libxau
    • libxcomposite
    • libxdamage
    • libxdmcp
    • libxext
    • libxfixes
    • libxinerama
    • libxrandr
    • libxrender
    • libxss
    • libxtst
    • libxcursor
    • libxp
    • libxi (2.2 ou plus récent)
    • libgl (opengl/glx ou opengl-es2/egl)
    • giflib
    • util-linux (limbount + libblkid)
    • systemd / libudev
    • harfbuzz
    • systemd
    • libwebp
    • vlc (libvlc)
    • poppler
    • libraw
    • libspectre
    • librsvg

    Il est suggéré d’ajouter les options suivantes lors de la compilation des EFL pour une meilleure expérience utilisateur :

    • --enable-xinput22
    • --enable-multisense
    • --enable-systemd
    • --enable-image-loader-webp
    • --enable-harfbuzz

    Pour utiliser le framebuffer sous Linux, vous pouvez ajouter :

    • --enable-fb
    • --disable-tslib

    Pour bénéficier de Wayland, vous pouvez ajouter :

    • --enable-wayland

    Si vous désirez disposer de miniatures lors de l’exécution pour les fichiers de bureautique, vous devrez disposer de LibreOffice.

    Téléchargement Télécharger ce contenu au format Epub

    Lire les commentaires

    FAIRESTIVAL le 19 août 2015 à Argenteuil

    13 août, 2015 - 11:32

    Le mercredi 19 août 2015 de 14h à 16h30, au sein de Silicon Banlieue (9 Rue de Calais, 95100 Argenteuil), Silicon Banlieue, les petits débrouillards, les voyageurs du code, DIsco Soupe organisent un FAIRESTIVAL.

    Le FAIRESTIVAL souhaite partager et transmettre des savoir-faire scientifiques et technologiques de manière accessible et créative, dans le but d'encourager l'appropriation et la réutilisation de connaissances utiles à toutes et à tous.

    Le Fairestival, par des ateliers autour de la réalisation de programmes informatiques, de fabrication d'objets 3D, ou d'initiation à la robotique, démontrera que chacun peut maîtriser ces technologies.

    Le Fairestival invite à apprendre en faisant. Il s'inscrit dans la mouvance actuelle du "do it yourself" "Faites-le par vous même" initié par le mouvement des FABLAB.

    Sur un mode festif (ateliers techniques et ludiques) le Faire Festival vous invite à découvrir :

    • Vécus de l'intérieur, les domaines scientifiques et technologiques peuvent être également excluants et fermés, le Fairefestival a pour vocation de favoriser par des animations leur appropriation et de susciter des réflexions sur les transformations sociales en cours.

    • Des expériences FABLAB des Petits débrouillards, MAkey Makey, imprimante 3D, véritable "Laboratoire de fabrication", vous initieront à de multiples formes d’activités (expériences, jeux, modélisations, investigations…) et sollicite une participation active.

    • Des ateliers de fabrication de robot vous permettront de développer des applications "modestes" mais concrètes.

    • Les Voyageurs du code, proposent un atelier d'initiation à la programmation, convaincus que la maîtrise du code est aujourd’hui essentielle pour faire émerger des générations de citoyens numériques éclairés et inventifs.

    • DISCO SOUPE, venez découvrir le "Co- Faire" autour d'une session collective et ouverte à tous de cuisine de fruits et légumes mis au rebut ou invendus dans une ambiance musicale et festive.

    Télécharger ce contenu au format Epub

    Lire les commentaires

    Sortie de Firefox 40

    12 août, 2015 - 23:17

    La 40e version du rugissant navigateur Firefox, édité par Mozilla, est sortie le 11 août 2015 (et une 40.0.2 le 13 août pour deux corrections et une fonctionnalité supplémentaire).

    Changements communs aux versions bureau et mobile

    Protection contre les téléchargements de logiciels potentiellement non-voulus (Safe Browsing, déjà présente dans Firefox 39, mais complétée par une proactivité dans le blocage des sites malveillants visités ; fonctionnalité désactivable dans les réglages Sécurité).

    Animations CSS plus fluides et fiables, via des animations asynchrones.

    Correction de failles de sécurité.

    Version bureau

    La composition en dehors du fil d’exécution principal (Off-Main-Thread Compositing ou OMTC), déjà activée sous Windows et Mac OS X, est activée par défaut pour GNU/Linux également.

    De manière générale, lorsqu’une page web est visitée par le navigateur, il récupère son contenu, sa feuille de style (CSS), les scripts (JavaScript), etc. Tout est organisé en couches. La composition consiste en « l’aplatissage » de ses couches en une seule, destinée à être rendue à l’écran pour l’utilisateur.

    Cette action était faite au sein du fil principal, ce qui veut dire que la composition était bloquée si le fil principal l’était (à cause d'un script trop long par exemple). Ceci devrait améliorer la réactivité de l’interface utilisateur, mais aussi en facilitant quelques projets futurs tels que le changement de serveur de rendu, la mise en place d’asynchronous panning and zooming (APZ) permettant de zoomer et de faire défiler la page à 60 ips, ou encore à s’assurer que les animations ont toujours lieu à 60 ips (animations CSS asynchrones), quelle que que soit la charge du fil d’exécution principal.

    Prise en charge de Windows 10 ainsi que les tablettes.

    Les dalles suggérées montrent des sites pouvant être intéressants, cela se base sur des catégories de l'historique récent.

    Pour définir une page web comme sujet de conversation, il est possible d'ajouter des URL à une conversation Hello, pour un enrichissement du contexte.

    Nouveau style pour gestionnaire d'extensions basé sur le style de l'onglet des préférences qui avait été lui-même mis à jour il y a peu.

    En outre, un avertissement accompagnera les extensions qui n'ont pas été signées par Mozilla.

    Version mobile

    Prise en charge de l'API de Presentation d'Android, pour afficher sur une sortie vidéo secondaire.

    Un appui long sur les boutons de navigation retour/avance dans le menu affiche l'historique.

    Version développeurs

    Les développeurs ne sont pas en reste, puisque trois nouvelles vues font leur arrivée : flamme, chute d'eau et l'arbre d'appels.

    Enfin, touchant un plus grand nombre : la possibilité d'afficher des règles graduées en pixels CSS au sein d'une page.

    Quelques autres fonctionnalités signalées par hacks.mozilla.org :

    Fonction « Faire défiler la vue jusqu’au nœud » ou "Scroll Into View" :

    Filtrer pour retrouver plus vite ses CSS :

    Basculer d'un nommage à un autre pour une couleur :

    Les extensions commencent à être signées :

    Les changements à venir

    Avec la prochaine version, la 41, le réglage permettant de désactiver la lecture automatique des vidéos HTML5 ne pourra plus être outrepassé par les webmestres !

    La version suivante (la 42, donc) serait compilée par défaut avec GTK+3 :-) (d'ailleurs on peut tester dès à présent la version GTK+3isée). Voilà qui nous rapproche d'une version pour Wayland.

    Télécharger ce contenu au format Epub

    Lire les commentaires