Linux France

S'abonner à flux Linux France
Mis à jour : il y a 2 heures 28 min

Dévoilement du calendrier de la Semaine québécoise de l'informatique libre (19 au 27 sept. 2015)

Jeudi 3 Septembre

FACIL, pour l'appropriation collective de l'informatique libre (FACIL), est fier de dévoiler aujourd'hui le calendrier des activités de la Semaine québécoise de l'informatique libre (SQIL). L'édition 2015 de la SQIL, qui se tiendra du 19 au 27 septembre, est riche d'une vingtaine d'activités organisées par les membres de la communauté libriste : des conférences, des ateliers, des rencontres, des projections de film, des tables ronde, etc.

«L'informatique libre au service d'une société libre», tel est le thème de l'édition 2015 de la SQIL, qui sera l'occasion pour les citoyen(ne)s d'explorer les rapports entre la technologie et la liberté, la vie privée, la transparence, la solidarité, les biens communs, la coopération et le partage du savoir.

FACIL invite toute la population à participer en grand nombre aux activités de la SQIL 2015 !

Télécharger ce contenu au format Epub

Lire les commentaires

L'appel aux conférenciers de ConFoo est ouvert

Jeudi 3 Septembre

ConFoo recherche une fois de plus des conférenciers passionnés pour la prochaine conférence.

L'évènement a lieu à Montréal, Canada, du 24 au 26 février 2016. C'est une conférence excitante pour développeurs web avec des conférenciers du monde entier. La conférence unit plusieurs langages de programmation sous le même toit, ainsi que d'autres sujets liés au développement web. L'appel aux conférenciers se termine le 20 septembre 2015.

Depuis quelques années, ConFoo renouvelle 50% de ses conférenciers. Si vous n'avez jamais parlé à cette conférence avant, vous devriez soumettre.

Si vous préférez seulement y assister, il y a un rabais jusqu'au 13 octobre.

Télécharger ce contenu au format Epub

Lire les commentaires

Kernel Recipes 2015 : les inscriptions sont ouvertes !

Mercredi 2 Septembre

Le programme de la conférence est maintenant bouclé et en ligne sur le site. Trois jours de présentations du 30/09 au 02/10/2015, à Paris : plus d'une quinzaine de conférences et quelques lightning talks. Vous pouvez encore nous proposer des sujets pour cette année.

Les trois jours de conférences sont accessibles librement mais l'inscription est obligatoire, le nombre de places étant limité.

L'événement a lieu dans les locaux de Mozilla, au 16 bis boulevard Montmartre
Paris 75009.

Cette édition s'enrichit d'un certain nombre d'événements sociaux :

  • le 30/09/2015 : après la journée de conférences, les participants pourront participer à un jeu de piste par équipes pour découvrir le quartier de Notre-Dame sous un angle différent
  • le 01/10/2015 : Adrienne Charmet interviendra pour La Quadrature du Net en réexpliquant son rôle, ses actions et les dossiers en cours. Cette intervention sera suivie d'une vente aux enchères de bouteilles de la bière brassée pour l'occasion, au profit de LQDN. La journée se terminera par le traditionnel Kernel Diner.

Attention, là encore les places sont limitées : pensez à vous inscrire !

Un grand merci à l'avance à tous les conférenciers qui ont accepté de se joindre au programme de cette année, ainsi qu'à nos sponsors qui nous permettent réaliser ces trois jours (Gandi notre partenaire et sponsor de la première heure, Mozilla qui nous accueille, SUSE, Parrot, BayLibre et HaproxyTech).

Télécharger ce contenu au format Epub

Lire les commentaires

Cartopartie sur le thème du vélo à Nantes le 19/09/2015

Mercredi 2 Septembre

Dans le cadre de la Digital Week nantaise, Nantes Métropole, OpenStreetMap France et Place au Vélo organisent le samedi 19 septembre 2015 une cartopartie sur le thème du vélo à Nantes et sur quelques communes limitrophes.

Notre objectif est de relever de manière exhaustive l'ensemble des points d'appui (les stationnements) vélo dans OpenStreetMap sur la métropole nantaise.

Cette journée est ouverte à tous, que vous soyez néophyte d'OpenStreetMap et des SIG ou contributeur invétéré. Elle se déroulera dans les locaux de l'association MediaGraph situés sur cette carte à l'adresse suivante:

Médiagraph, 1 rue d’Auvours.
44000 NANTES

N'hésitez pas à lire la suite de cette riche dépêche pour plus d'informations sur cet événement et sa préparation…

Sommaire OpenStreetMap, c'est quoi ?

Pour ceux qui ne sont pas (encore) familiers avec OpenStreetMap (OSM), OpenStreetMap est un projet collaboratif international fondé en 2004 dans le but de créer une carte libre du monde. Les données sont collectées dans le monde entier sur les routes, voies ferrées, les rivières, les forêts, les bâtiments et bien plus encore !

Chacun peut y contribuer en corrigeant une petite erreur près de chez lui, en ajoutant des informations manquantes comme un nom de rue, un nouveau sens unique, en traçant de nouveaux objets (rues, routes, chemins, bâtiments, points d'intérêt) à partir d'images aériennes ou d'enregistrements issus de GPS, de photos géolocalisées ou encore de relevés de terrain.

Organisation de la cartopartie

Deux rôles principaux sont distingués lors de l'évènement :

  • Les arpenteurs qui vont sur le terrain avec leur carte et qui font le relevé des stationnements vélo en prenant soin de noter la position ainsi qu'un certain nombre d'attributs (nombre de places, type d'accroche, stationnement couvert, matériau du point d'appui). Pas besoin d'être un contributeur OSM pour faire ce job: il suffit de savoir écrire, lire une carte et se déplacer.
  • Les contributeurs OpenStreetMap qui sont principalement au QG. Ils réalisent la saisie dans OSM via l'éditeur de leur choix (iD ou Josm) des cartes papier ramenées par les arpenteurs. Cette saisie est interactive avec l'arpenteur qui peut voir comment on fait pour manipuler des données dans OSM tout en bénéficiant d'explications et surtout, qui permet de lever tout frein technique pour l'arpenteur. Il n'est bien sûr pas interdit à un contributeur OSM de devenir arpenteur et vice-versa.

Avec un peu de persuation et de formation, on espère que les arpenteurs néophytes sur OSM deviendront des contributeurs réguliers d'OSM.

Pour plus d'informations sur le contenu et la préparation de cette journée, vous pouvez consulter la page du Wiki dédiée.

Date et lieu de rendez-vous

La cartopartie aura lieu le 19 septembre 2015. Les arpenteurs peuvent venir quand ils le souhaitent (si possible au début de chaque heure) à partir de 9h et jusqu'à 16h.

Le QG est situé dans les locaux de l'association MediaGraph situés sur cette carte à l'adresse suivante:

Médiagraph, 1 rue d’Auvours.
44000 NANTES

Les arpenteurs n'ont pas besoin d'être présents pendant toute la journée. Prévoyez au minimum 2h30 dans votre journée pour aller sur le terrain, revenir au QG et faire la saisie en compagnie d'un contributeur OSM.

Pour planifier un peu mieux l'événement, nous avons décidé de faire un petit relevé d'inscriptions (via ce framadate]. Vous pouvez bien sûr venir sur le pouce sans inscription (même si ça ne vous prendra que 30 secondes pour vous inscrire).

Ce qui sera relevé sur le terrain

Nous souhaitons avoir une vision la plus exhaustive possible sur le sujet du stationnement vélo. Nantes Métropole fourni déjà un grand nombre de données en OpenData sur son site dédié mais elle ne dispose que d'informations très partielles sur les points de stationnement vélo.

Vous pouvez vous familiariser avec ce qui sera saisi dans la base en consultant cette page.

Un peu de contenu exclusif pour linuxfr

Une cartopartie, c'est un évènement qui se prépare en amont. Dans notre cas, nous avons besoin que le relevé soit le plus exhaustif possible. Il faut donc que les arpenteurs passent dans toutes les rues.

Nous avons utilisé le logiciel QGIS (dont j'ai déjà parlé dans la dépêche suivante) pour définir les secteurs et réaliser l'intégralité des cartes qui seront distribuées aux arpenteurs.

La méthode de définition des secteurs est assez empirique: nous avons délimité un secteur d'environ 9 km de linéaire de rues et nous l'avons parcouru (sur le terrain) dans son intégralité pour voir le temps que ça prenait: à peu près 1h. Nous avons ensuite défini manuellement des secteurs englobant un ensemble de rues où le linéaire à parcourir était de l'ordre de 9 km. Au total, 78 secteurs ont été définis et vous pouvez les consulter sur cette carte. Nous avons utilisé le géo-algorithme "Sum Line Length" de QGIS pour faire les calculs.

Pour la réalisation des cartes, nous avons utilisé les merveilleuses capacités de QGIS pour la composition de cartes, notamment la fonctionnalité d'Atlas qui permet de définir un modèle global qui sera ensuite appliqué à chaque secteur (vous vous doutez bien qu'on n'allait pas faire les cartes des 78 secteurs à la main. Ce qui est bien avec QGIS, c'est qu'on peut également ajouter des éléments qui ne sont pas des cartes, notamment un modèle de tableau attributaire qui permet d'avoir sur un simple A4 (ou A3 pour les secteurs vélo) la carte et le tableau d'attributs à remplir.

Les données qui ont été mobilisées sont celles issues de la base d'OSM qui est exhaustive sur les routes et les rues, les bâtiments ainsi que les adresses (Licence ODBl).

Bref, cet événement a été préparé avec 100% de logiciels et de données libres…

Après la cartopartie

Un relevé des données saisies lors de la cartopartie sera réalisé et intégré dans le Système d'Informations Géographiques de Nantes Métropole. Selon le succès de l'évènement, d'autres cartoparties sur le même thème pourront avoir lieu ultérieurement. Car l'objectif principal reste de géolocaliser les 6500 places de stationnement vélo de la métropole nantaise !

Conclusion

Geeks de la métropole nantaise, on sait que ce week-end sera vraiment bien complet pour vous avec la Digital Week ! Mais si vous voulez essayer quelque chose de plus contributif et que vous avez 2 ou 3 heures à tuer, venez nous rejoindre (ou nous faire un petit coucou)…

Courrez tous vous inscrire ici, priez pour que la météo nous soit favorable, préparez votre vélo et venez nous aider à parcourir exhaustivement les 78 secteurs (y a du boulot).

Télécharger ce contenu au format Epub

Lire les commentaires

Les évolutions KDE avec KDE Frameworks 5.13, KDE Applications 15.08 et Plasma 5.4

Mardi 1 Septembre

Plasma, KDE Frameworks et KDE Applications suivent un cycle de développement indépendant les uns des autres depuis la fin de KDE 4. Cependant, le hasard fait que cette fois-ci on assiste à la sortie rapprochée de ces trois projets.

À la sortie de Plasma 4.11, la dernière version basée sur Qt4, les développeurs ont promis de maintenir cette dernière pendant deux ans, en corrigeant les bogues mais sans rajouter de fonctionnalités afin d'assurer une transition douce vers Plasma 5. Cette période étant écoulée, la sortie de Plasma 4.11.22 marque la fin de l’ère KDE 4. Mais la succession est maintenant vraiment mûre et devrait arriver massivement dans nos distributions favorites.

Sommaire

KDE Frameworks 5.13

La nouvelle version de la collection de frameworks KDE est sortie le 12 août.

Les KDE Frameworks fournissent une grande variété de fonctionnalités courantes sous la forme de 60 bibliothèques mûres, revues et bien testées utilisant Qt.

Nouveaux frameworks
  • KFileMetadata : extraction de métadonnées de fichiers
  • Baloo : recherche et indexation de fichiers
Changements affectant tous les frameworks
  • La version de Qt requise a été changée de 5.2 à 5.3 ;
  • La sortie de débogage a été catégorisée, permettant une sortie moins verbeuse par défaut ;
  • La documentation Docbook a été revue et mise à jour.
Plasma Framework

La navigation dans le calendrier a été significativement améliorée par l’ajout d’une vue par année et par décennie. De plus, le changement entre différents niveaux de zoom peut s’effectuer avec un pincement.

De plus, les notifications et le menu à l'écran (OSD) sont maintenant affichées sur tous les écrans.

Ouverture automatique de Kwallet

Le portefeuille KWallet (qui stocke et protège les mots de passe enregistrés par les applications KDE) peut être automatiquement déverrouillé au démarrage si le mot de passe est le même que celui de la session.

La fonctionnalité existait déjà chez la concurrence (GNOME-keyring), et on pouvait déjà bidouiller pour faire ça dans KDE 4, mais ça ne fonctionnait plus dans Plasma 5. C’est maintenant réglé.

KTextEditor

Les colorations syntaxiques pour les scripts Xonotic, Groovy, CartoCSS, meson et Varnish 4 ont été ajoutées, et celle pour le langage J et GLSL ont été mises à jour.

Les barres de recherche et de recherche/remplacement ont été améliorées afin de prendre moins de place et être agréables à utiliser.

Le code a été commenté plus extensivement et de vieux commentaires ont été supprimés.

Autres améliorations remarquables

Plusieurs corrections améliorent le rendu des applications sur écran HiDPI.

De plus, dans KWindowSystem (framework notamment utilisé par KWin), le code spécifique à chaque plateforme (X11, Wayland, Windows…) est désormais chargé depuis un module, ce qui rend la gestion de ces différentes plateformes plus simple.

KDE Applications 15.08

Le 19 août 2015 est sorti KDE Applications 15.08.

Avec cette mise à jour, un total de 107 applications ont été portées vers les KDE Frameworks 5. Parmi lesquelles on retrouve Dolphin (le gestionnaire de fichiers), la suite Kontact (mail, calendrier, carnet d'adresses, agrégateur RSS…) et son moteur Akonadi, Ark (gestionnaire d’archives), Picmi (puzzle), etc.

Les autres applications ont également reçu des mises à jour, notamment Marble et Kstars qui reçoivent plusieurs nouvelles fonctionnalités.

Kdenlive

Grosse étape pour le logiciel de montage vidéo : alors que la branche KDE4 était stabilisée depuis 3 ans, après le passage à KF5 (version 15.04) il est temps de réintégrer des travaux en attente depuis longtemps.

La réécriture de certaines parties était prévue de longue date ; le code obtenu plus simple et évolutif a tout de suite permis d'ajouter des fonctionnalités intéressantes comme les effets calculés par le processeur graphique (Movit), les effets sur les médias sources (indépendants du montage, utiles pour la correction de couleurs notamment), un moniteur partagé pour comparer avant / après un effet…

Par contre ces évolutions sont au prix de la perte temporaire de certaines fonctionnalités (secondaires pour la plupart des utilisateurs, qui devraient être corrigées pour la prochaine sortie), et attention le format de fichier a changé et ne peut plus être lu dans les anciennes versions, donc ne vous lancez pas tout de suite sur un projet compliqué, vous pourriez être coincé(e) !

Changelog

Retrouvez la liste complète des modifications ici : https://www.kde.org/announcements/fulllog_applications-15.08.0.php

En parallèle de cette sortie Plasma 4 LTS, est mis à jour pour la dernière fois la version 4.11.22.

Plasma 5.4

Plasma 5.4 est sorti le mardi 25 août 2015. Voici quelques-unes des principales nouveautés.

Nouvelle applet de volume

Kmix est une l’application qui permet de gérer le volume. Lorsqu’on clique sur son icône dans la zone de notification, on obtient une fenêtre flottante dans un style d’application plutôt que de plasmoïde et son icône n’était pas mise en valeur lorsque le menu de contrôle du volume était ouvert.

L’applet plasma-pa a été conçue pour tirer parti des fonctionnalités de PulseAudio simplement et s’intégrer parfaitement dans Plasma. L’applet dispose d’une fenêtre de configuration pratique et complète.

Nouveau lanceur plein-écran

Plasma 5.4 apporte un nouveau menu principal plein-écran qui fournit toutes les fonctions d'un lanceur d'applications avec un redimensionnement sophistiqué et une navigation complète par clavier. Il permet également d'accéder à la recherche, aux documents récents et favoris, ainsi qu'à vos contacts récents.

Nouvelles icônes

Le thème Breeze reçoit 1400 nouvelles icônes qui couvrent non seulement toutes les applications KDE, mais aussi des applications comme Inkscape, Firefox et LibreOffice, apportant une meilleure intégration visuelle à l’environnement.

Retour de l'historique dans KRunner

Krunner regagne une fonctionnalité qu’il avait perdu lors du passage à Plasma 5. L’historique est maintenant affiché et utilisé pour compléter ce que vous tapez.

Graphe de trafic rétabli dans le gestionnaire de réseau

Le gestionnaire de réseau a été amélioré visuellement une fois de plus avec notamment le retour du graphe du trafic réseau.
Il apporte également deux nouveaux greffons VPN pour les connexions par SSH ou SSTP.

Aperçu technique de Wayland

Plasma 5.4 est la première version de plasma capable de fonctionner comme session Wayland. Sur un système doté de pilotes graphiques libres, le Direct Rendering Manager du noyau Linux permet à KWin de fonctionner comme compositeur Wayland.
Le développement récent de Kwin a été principalement orienté par les besoins de Plasma Mobile, et n'est en l'état actuel pas estimé prêt à remplacer Xorg pour une session de bureau.
Des instructions de lancement ont été mises à disposition pour les aventureux souhaitant tester ou contribuer au développement.

Changelog

Retrouvez l'ensemble des modifications sur le changelog officiel.

Vous pouvez tester cette nouvelle version de Plasma avec les images amorçables proposées par différentes distributions.

Enjoy!

Télécharger ce contenu au format Epub

Lire les commentaires

2048 courriers de sensibilisation des acteurs locaux aux enjeux du logiciel libre (un par jour)

Mardi 1 Septembre

Initiée en janvier 2010, l'initiative Un courrier de sensibilisation des acteurs locaux par jour dans les Alpes du sud consiste à écrire chaque jour à un acteur du territoire pour lui exposer les enjeux du logiciel libre.

Le 10 août 2015, j'ai signé mon courrier numéro 2048.

Depuis le 1ᵉʳ janvier 2010, j’ai ainsi écrit à :

  • 218 agents administratifs ;
  • 196 responsables associatifs ;
  • 397 chefs d’entreprises ;
  • 179 autres acteurs économiques (chambres consulaires, syndicats professionnels, associations de commerçants, plateformes d’initiative économique…) ;
  • 194 acteurs impliqués dans le développement territorial (pays, parcs naturels régionaux…) ;
  • 21 candidats à des élections (dans le cadre des campagnes Candidats.fr de l’April) ;
  • 348 maires ;
  • 66 élus d’EPCI (communautés de communes) ;
  • 40 conseillers généraux ou départementaux ;
  • 3 conseillers régionaux ;
  • 73 autres élus ;
  • 179 enseignants, formateurs ou responsables d’organismes de formation ;
  • 22 journalistes ou responsables de presse ;
  • 55 acteurs du secteur santé, sanitaire et social ;
  • 57 acteurs du champ des technologies de l'information et de la communication.

J'espère qu'avant le courrier 4096, le libre s'imposera comme une évidence et que ce travail de sensibilisation sera devenu inutile.

Télécharger ce contenu au format Epub

Lire les commentaires

Tuppervim en septembre 2015, à Paris le 8 et à Lyon le 30

Mardi 1 Septembre

Les Tuppervim sont des événements où l’on partage des connaissances et des astuces à propos de Vim.

Vim étant un éditeur très riche et hautement paramétrable, ces sessions sont l’occasion de s’initier à son utilisation, d’approfondir ses connaissances, d’échanger ses vimrc ou encore de découvrir des greffons pour aller plus loin. Toute personne, quel que soit son niveau, est la bienvenue.

Pour profiter au mieux de l’atelier, il est vivement conseillé aux débutants complets de faire le tutoriel Vim avant de venir (vimtutor) ; on encourage les utilisateurs avancés qui le souhaitent à proposer une petite présentation rapide (~10 min) d’une fonctionnalité ou d’un plugin — un support n’est pas obligatoire, une présentation en direct depuis Vim est tout aussi efficace. Vous pouvez annoncer une présentation sur l'Étherpad.

Traditionnellement, ces ateliers sont aussi l’occasion de découvrir des outils qui ne sont pas directement liés à Vim mais qui s’inscrivent dans la même philosophie : ergonomie, minimalisme, efficacité.

Deux sessions sont actuellement prévues :

  • Paris le 8 septembre 2015
  • Lyon le 30 septembre 2015

Plus d'informations pour chaque événement sur le site officiel : tuppervim.org

Une session parisienne a lieu tous les mois, pour être prévenu à l'avance (ou pas) n'hésitez pas à vous inscrire à la liste de diffusion.

Venez nombreux !

(ce texte reprend des éléments des dépêches de Florent sur le même sujet)

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de doorGets 7.0, un CMS OpenSource en PHP/MySQL

Mardi 1 Septembre

doorGets est un système de gestion de contenu libre écrit en PHP utilisant une base de donnée MySQL, qui permet de créer rapidement et facilement son site Internet. L'objectif de ce CMS est d'être simple à utiliser, avec un maximum de fonctionnalités utiles, le back-office est simple et son utilisation fluide.

La création d'un thème personnalisé est simple, quelques notions de CSS et HTML sont un plus, le changement se fait ensuite en un clic. Pour installer, il suffit d'avoir acheté un nom de domaine et un hébergement, puis de transférer le contenu de l'archive doorGets dans l'espace de stockage de l'hébergement.

doorGets est un CMS facile à utiliser, il est conçu pour créer un site web à l'aide de l'éditeur de texte Wysiwig TinyMCE et CKEditor. La toute dernière version de Bootstrap est intégrée afin de mettre en place rapidement toutes les fonctionnalités d'un site moderne et dynamique.
Un SaaS est maintenant disponible sur doorgets.io afin de vous permettre de créer gratuitement votre site web en ligne.

Copie d'écran

Nouveautés de la version 7.0 de doorGets

Voici les nouveautés de la version 7.0 de doorGets :

  • Une nouvelle interface d’administration qui a été simplifiée
  • Gestion de multi-utilisateur
  • Gestion de groupe
  • Gestion des attributs
  • Gestion des médias (URI)
  • De nouvelles langues, en effet maintenant 20 langues sont disponibles. Et système de CRUD en plus du système de fichier
  • Une meilleur gestion des thèmes, pour avoir dès la première utilisation une vision globale du design du site mais toujours personnalisable
  • Gestion des notifications
  • Authentification OAuth2 Facebook et Google
  • Gestion Mandrill (Protocole SMTP pour la gestion des mails)
  • Générateur de système d’installation
  • Afficher son profil
  • Gestion de son profil
  • Boite de réception
  • Sécurité du profil
  • Gestion des Meta Facebook et Twitter
  • Gestion de version du contenu (permet de toujours revenir en arrière)
  • Système de modération de contenu
  • Module partage de liens

Le cœur de doorGets a été repensé et réécrit pour être plus léger et accueillir une charge importante de visiteurs et un meilleur référencement.

Configuration requise
  • PHP 5.4 et plus,
  • Base de données MySQL 5 et plus
Modules disponibles
  • Bloc statique (créer des blocs statiques)
  • Page statique (créer une page simple)
  • Multi-pages statiques (créer plusieurs pages simples de fil d'actualités (créer un fil d'actualités)
  • Partage de liens (crée une zone pour partager des liens de site internet)
  • Galerie vidéos (créer une galerie vidéos youtube)
  • Galerie d'images (créer votre galerie d'images)
  • FAQ (liste de questions fréquentes)
  • Partenaires (afficher la liste de vos partenaires)
  • Lien de redirection (URL externe à ajouter au menu)
  • Formulaire de contact (un formulaire pour prendre contact avec vous)
  • Générateur de formulaire (créer un formulaire personnalisé)
Les plus
  • Il est totalement libre et gratuit, sous licence GNU GPL v3.
  • L'installation se fait en deux minutes, le back-office est simple et facile à prendre en main
  • Les traductions sont simples à éditer
  • Les thèmes sont simples à créer ou modifier
  • Le mode SAAS qui permet d’avoir un LABS (une démonstration) pour son site web en quelques cliques
Les moins

Ce gestionnaire de contenu n'est pas fait pour le e-commerce, il vous permet de créer un site vitrine, un blog, ou même une simple page de présentation de votre entreprise, de votre association ou simplement de vous-même.

Télécharger ce contenu au format Epub

Lire les commentaires

Espace logiciels libres/hackers/fablabs à la Fête de l'Humanité du 11 au 13 septembre 2015

Lundi 31 Août

Les 11, 12 et 13 septembre 2015, la Fête de l’Humanité, accueillera un espace interactif dédié aux logiciels libres, aux hackers et aux fab-labs. Les imprimantes 3D voisineront avec des Robots open source et des drones libres, des ateliers de soudure, d’Arduino, de codage ou encore d’installation de distributions GNU/Linux.

Cet espace doit son existence à l’investissement commun d’un collectif de militants, bénévoles et au fait que la Fête de l’Humanité mette gracieusement à disposition 300 m2, mais à condition que cela soit à coût zéro pour la Fête, d’où la nécessité de trouver un financement participatif pour assurer toutes les dépenses nécessaires au bon fonctionnement de l’espace : électricité, télécommunication, location de mobiliers et de matériels, de réalisation d’une exposition pédagogique de présentation des enjeux de la révolution numérique, et surtout les vignettes d’entrée à la fête pour les exposants …

Au plaisir de vous croiser sur l’Espace du logiciel Libre, des Hackers et des Fablabs pour échanger fraternellement sur un monde du partage et de la coopération.

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

Cet espace co-produit avec les acteurs du mouvement des logiciels libres et des fablabs, est un lieu d’appropriation sociale et politique par le « faire », le ludique, la rencontre et le débat sur les enjeux cruciaux du numérique. Il s’agit, dans une démarche d’éducation populaire de faire toucher du doigt au public de la Fête de l’Huma les enjeux cruciaux de la « Révolution numérique » pour l’avenir de notre société. Ce sera aussi un endroit où on mènera le débat politique au sens noble du terme sur tous les enjeux de la révolution numérique : le big-data, la neutralité du net, les droits d’auteurs, les brevets, les tiers-lieux, la surveillance généralisée, l’obsolescence programmée, le développement durable, l’économie du partage et de la coopération…

Les nouveautés de l’édition de cette année sont :


L’Espace du Libre, des Hackers et des Fablabs à la Fête de l’Humanité 2014.

L’espace sera animé par les associations : April, Association La Mouette (libre office), Bionico Hand, Camille Bosqué, Carrefour numérique au carré, Ecodesign Fablab, Electrolab, Collectif Emmabuntüs, FDN/Franciliens.net, Framasoft, Licence Creative/Creative Commons France, Marker Girls, Mozilla, Open-Edge, Les Ordis libres, Parinux, Les Petits Débrouillards Idf, La Quadrature du Net, Ubuntu.

Ainsi que trois grands moments de débats structureront la vie de cet espace :

  • Le vendredi 11 septembre à 17h30 « Défendre les libertés et les droits sur Internet » avec Cécile Cukierman sénatrice rapporteuse pour le groupe communiste sur la loi renseignement, Yann Le Pollotec, responsable « révolution numérique » du PCF, Véronique Bonnet de l’April, la Quadrature du Net et la CNI ;

  • Le samedi 12 septembre à 10h30 « La lutte des classes à l’heure du big data » avec Yann Moulier Boutan économiste, chercheur à l’université de Shangaï, et Alain Obadia responsable industrie du PCF et président de la Fondation Gabriel Péri ;

  • Le samedi 12 septembre à 18h « Quelles contributions des fab-city, pour lutter contre l’obsolescence programmée et le réchauffement climatique, et répondre aux besoins humains » avec Patrice Bessac maire de Montreuil, ville membre du réseau Fab-City, Philippe Schiesser, président du Fablab écodesign à Montreuil, Nicolas Huchet du projet Bionico Hand (bras artificiel intelligent et open source).

Télécharger ce contenu au format Epub

Lire les commentaires

Nouvelles de ProtonMail : version 2.0, ouverture (partielle) du code et mobilité

Lundi 31 Août

ProtonMail, service de messagerie web initié en 2013 qui s'annonce sécurisé et respectueux de la vie privée, a refait parler de lui cet été avec pas moins de trois annonces coup sur coup :

  • La mise à disposition de la version 2.0 ;
  • L'arrivée des applications mobiles dédiées ;
  • L'ouverture du code source de la partie cliente uniquement.

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

Version 2.0

Suite à la forte demande de comptes pour ProtonMail qui a dépassé leurs attentes (ils annoncent plus d'un demi-million), l'équipe du projet s'est lancée dans une réécriture complète de la version 1.x qui n'était pas taillée pour supporter une telle charge. Si le rendu visuel reste proche, la base de code a été refaite pour améliorer la performance (ils annoncent des temps de réponse dix fois inférieurs), la sécurité et la flexibilité.

Parmi les nouvelles fonctionnalités pour l'utilisateur, notons :

  • Une nouvelle fenêtre de rédaction de message en mode « popup » ou « maximisé », très proche de ce que fait GMail ;
  • La possibilité d'enregistrer les tentatives d'authentification pour détecter toute utilisation frauduleuse. Cette faculté est désactivée par défaut et c'est à l'utilisateur de l'activer en connaissance de cause ;
  • Le glisser/déposer dans les répertoires/labels ;
  • Un éditeur de signature HTML ;
  • Les contacts peuvent être cherchés et exportés ;
  • Les courriels chiffrés envoyés à des contacts n'utilisant pas ProtonMail chiffrent désormais les pièces jointes. Ces utilisateurs hors ProtonMail peuvent aussi répondre avec des pièces jointes chiffrées ;
  • L'export de votre clef PGP publique pour l'utiliser dans d'autres services compatibles.
Ouverture (partielle) du code source

Note : ce paragraphe a été repris du journal de pamputt et a été retravaillé.

La campagne de financement participatif a permis de récolter plus de 500 000 dollars américains pour ce projet. Depuis, plusieurs annonces avaient été faites concernant leur volonté de publier le code source du front-end sous licence libre. C'est maintenant effectif avec la sortie de la version 2.0 annoncée le 13 août 2015. Le code est disponible sur GitHub sous licence MIT. Son étude permettra sûrement de répondre aux commentaires de certains.

L'étude du code client devrait donc permettre d'être fixé sur la confiance que l'on peut avoir dans ProtonMail étant donné que les développeurs considèrent toujours qu'il est trop risqué d'ouvrir le code source de la partie back-end.

The security risks of open sourcing the back-end code is too high. It would let an attacker know how our infrastructure is set up or let spammers get insight into how to circumvent our anti-spam measures.

Ce qui peut être traduit par :

Ouvrir le code source du code back-end fait courir un trop grand risque au niveau de la sécurité. Cela permettrait à un attaquant de connaître comment notre infrastructure est paramétrée et aux spammeurs d'avoir quelques indices sur comment contourner les mesures anti-spam.

Cela n'assurera toutefois pas que c'est bien le code publié qui tourne sur les serveurs. Et ne vous attendez pas à pouvoir installer votre propre ProtonMail chez vous. Par ailleurs, ProtonMail a ouvert un programme de chasse aux bogues avec récompense à la clé.

Applications pour smartphones

ProtonMail a aussi annoncé les versions bêta de sa messagerie sécurisée pour Android et iOS (pas les tablettes). L'accès au programme de bêta est limité à 1 000 utilisateurs et est attribué en priorité à ceux qui ont participé au financement participatif. Si vous ne l'avez pas fait, il est encore possible de faire un don pour vous retrouver en tête de liste.

Parmi les fonctionnalités annoncées disponibles :

  • Toutes les fonctionnalités de la version web ;
  • L'import de contacts sur Android ;
  • La sélection multiple ;
  • Les mouvements de "swipe" dont certains sont personnalisables.
Ailleurs

Et pour ceux qui n'aiment pas ProtonMail, il existe des alternatives (proposées par Scoubidou). Celles-ci ne sont pas forcément équivalentes fonctionnellement, mais ont la sécurité et/ou la vie privée dans leur ADN. Citons :

Lavaboom aurait pu faire parti de cette liste, mais il a fermé ses portes le 27 août 2015. D'après un ancien développeur, pzduniak, ce serait pour des problèmes de dilapidation d'argent. Ce dernier travaille cependant sur une alternative qui se veut Open Source.

Côté CaliOpen, on peut citer « l’éclairage du projet Caliopen sur le milieu du logiciel libre », « un constat de la très faible coopération », publié sous le titre Trop tard. sur Reflets.info le 18 août 2015 (après l'entrée de blog du 5 août Si tu écoutes tout, je m’en vais. suite à la loi française sur le renseignement).

Télécharger ce contenu au format Epub

Lire les commentaires

Je crée mon jeu vidéo E15 : J'arrête...

Dimanche 30 Août

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

Dans l'épisode 14 (il y a trop longtemps), on a discuté des formats de données et de compilation croisée. Pour cet épisode, je vais expliquer pourquoi j'arrête. Il y a tout un tas de raison que je vais tâcher d'expliquer.

Bon, allez, j'avoue : je n'arrête pas Akagoria ni cette série d'épisodes. Faut pas déconner non plus. C'était juste pour l'aguiche. Mais j'arrête une expérience qui était à l'origine d'Akagoria : les systèmes à entités. Souvenez-vous, c'était le premier épisode de la série.

Les systèmes à entités Les limites

Conceptuellement, les systèmes à entités, c'est vraiment satisfaisant. Dans la pratique, c'est très compliqué. Parce que dès qu'on sort des exemples tarte à la crème, c'est très difficile de bien délimiter les composants et les systèmes. Et c'est encore plus compliqué quand on interagit avec des bibliothèques externes qui ne sont souvent pas prévues pour ça. Par conséquent, on passe beaucoup de temps à tâtonner à faire des gros composants, puis des petits composants, puis des gros systèmes, puis des petits systèmes. Et au final, on n'a rien fait à part des réusinages qui n'ont pas fait avancer le jeu.

Je pense qu'on n'a pas assez de recul sur ce paradigme pour pouvoir l'utiliser sur de gros projets. Quand je dis «pas assez de recul», je veux dire qu'il manque beaucoup de choses, notamment une méthodologie globale pour bien choisir ses composants, mais également des exemples un peu plus complexes qui permettent de voir qu'un système à entités seul, ça ne sert pas à grand chose. Certes, ça peut constituer une ossature pour un projet, mais il est nécessaire d'avoir d'autres paradigmes qui interviennent. Et l'articulation entre les systèmes à entités et ces autres paradigmes n'est expliquée nulle part et peut se révéler très compliquée.

Quoi d'autre ?

Si j'abandonne les systèmes à entités, par quoi les remplacer ? He bien, par une approche plus traditionnelle, une approche à objets. Parce qu'au final, c'est une approche suffisamment simple pour être flexible. Bien sûr, ça ne veut pas dire faire de grosses hiérarchie de classes. L'expérience m'a montré que trois étages de hiérarchie permettent de gérer toutes les situations, et souvent deux suffisent. Sans oublier que ce qui compte aussi, c'est un bon agencement des données. C'est peut-être une des leçons que j'ai retenues avec les systèmes à entités.

Depuis le début d'Akagoria, j'ai produit plusieurs jeux (souvent pour des gamejams), et chaque fois, utiliser une approche objet a permis de faire tout ce qu'on voulait. Dans le cadre du club de développement de jeux vidéo que j'anime, j'encourage les étudiants à partir dans cette voie. Pas uniquement parce que c'est ce qu'ils connaissent, mais aussi parce que c'est ce qui me semble le plus naturel à expliquer et à utiliser. Les systèmes à entités ne me semblent pas aussi naturels, ils forcent à avoir une vision globale et complète avant de commencer un jeu, là où il est plus facile de procéder de manière incrémentale dans un paradigme objet.

Talk is cheap, show me the code

Je ne vais pas vous montrer le code tout de suite. Je n'ai pas encore pushé la nouvelle version d'Akagoria. Elle mijote tranquillement sur mon ordinateur.

Votre branche est en avance sur 'origin/master' de 97 commits

Cependant, elle va arriver. J'aimerais profiter du push qui vient pour parler de tout ce que j'ai pu développer depuis ces derniers mois (ou qui est en cours de développement) dans les prochains épisodes : dialogues, quêtes, interfaces, sauvegardes, etc. Et il y a des challenges qui arrivent. Donc il faudra patienter un peu.

Autres nouvelles

Il s'est passé beaucoup de temps depuis le dernier épisode. Mais voici quelques nouvelles en marge d'Akagoria.

Migration sur GitLab

Suite à la fermeture programmée de Gitorious, j'ai migré les deux dépôts qui s'y trouvaient sur GitLab : celui du jeu et celui du site web. J'hésite à tout migrer sur GitHub puisque c'est là que sont tous mes autres dépôts. Au départ, j'avais envie d'utiliser Gitorious parce que c'était libre, et même copyleft. Mais il faut bien avouer que Gitorious n'était pas aussi simple à utiliser que GitHub, sans compter les lenteurs trop fréquentes. Je connais un peu GitLab (il y a une instance qui tourne dans mon labo) mais pas assez pour juger de son efficacité.

Au final, je pense que c'est plus simple de tout centraliser (oui c'est mal) sur GitHub parce que ça me simplifiera les choses plutôt que de devoir gérer deux forges. Je laisserai l'ancienne implémentation d'Akagoria (avec les systèmes à entités) sur GitLab.

Une interface graphique pour MapMaker

Vous vous souvenez sans doute de MapMaker, l'outil qui avait permis d'illustrer l'article sur la génération procédurale de carte. Et bien je suis très content de vous apprendre qu'un début d'interface graphique a été développé : mmgui. Je le dis d'autant plus facilement que ce n'est pas moi qui l'ai fait ! C'est en Qt5, ça marche plutôt pas mal pour l'instant. Mon rêve, c'est que ça puisse ressembler un jour à World Machine.

Télécharger ce contenu au format Epub

Lire les commentaires

La rentrée de Gard-Linux - 8 septembre 2015 - Vergèze 19h

Dimanche 30 Août

L'association Gard-Linux fait sa rentrée :

  • mardi 8 septembre 2015 de 19h à 22h
  • salle Topaze, centre socioculturel Marcel Pagnol, 99 rue Marcel Pagnol, 30310 Vergèze
  • repas tiré du sac.

À l'ordre du jour, assemblée générale ordinaire avec bilans moral et financier, élection du conseil d'administration, discussion du programme 2015-2016. L'assemblée générale est ouverte aux adhérents à jour de leur cotisation.

Les nouveaux adhérents sont les bienvenus !

Parmi les thèmes envisagés pour 2015-2016:

  • au sein de l'association: atelier LibreOffice Writer et Base, sauvegarde sur le net, Clé USB amorçable (les choix)
  • demandes externes les plus fréquentes: comment installer Linux et son utilisation au quotidien.

La fréquence et le lieu de nos rencontres seront débattus ce mardi: mensuel ou autre, sur Vergèze ou en alternance Vergèze - Nîmes.

Alors au mardi 8 !

Télécharger ce contenu au format Epub

Lire les commentaires

ToOpPy Linux 2.0

Dimanche 30 Août


ToOpPy Linux 2.0 (noyau 3.9.11) est une distribution GNU-Linux multilingue, publiée en avril 2015, et faisant suite à la version 1.0, publiée en 2013.

  • Fonctionne en Live-CD (système entièrement chargé en mémoire vive - 512 Mo requis)
  • Installable sur tout support (disque dur interne/externe, clé USB, carte flash…)
  • Adaptée aux ordinateurs peu puissants aussi bien qu'aux machines (relativement) récentes.

Elle s'adresse aux amateurs de systèmes légers (250 Mo), nomades, réactifs, fiables et conviviaux.

Basée sur Puppy "Precise" de Barry Kauler, elle embarque toutes les applications indispensables pour un usage quotidien. Les incontournables applications "phares" (telles que GIMP, LibreOffice, etc…) peuvent être installées via une interface d'installation rapide d'applications ou à partir des dépôts Ubuntu via le gestionnaire de paquets "PPM".

De nombreuses améliorations ont été apportées au Gestionnaire de Bureau 2PDE (2P Desktop Environment), fonctionnant avec le Gestionnaire de Fichiers ROX et le Gestionnaire de Fenêtre JWM, propose une suite complète d'applications permettant de personnaliser/optimiser au maximum l'espace de travail (thèmes complets, effets d'ombre et de transparence, gestion/création des entrées de MENU, etc.)

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de Flarum 0.1.0-beta

Samedi 29 Août

Un équivalent en PHP/MySQL à Discourse vient d'être publié : Flarum. C'est un logiciel de forums, comprenant de nombreuses fonctionnalités et présentant un design sobre, élégant et moderne.

Il est compatible avec les smartphones, intègre un moteur de recherche, combine les fonctionnalités d'une liste de diffusion (on choisit ce qu'on veut recevoir comme message par mél) et les fonctionnalités d'un forum de discussion.

C'est un excellent outil pour remplacer les listes de discussion et les forums traditionnels. Le développement est très dynamique et des fonctionnalités futures très intéressantes : authentification unique SSO, intégration dans WordPress, mises à jour simplifiées, importation des données d'autres forums…

C'est libre (licence MIT) alors n'hésitez pas tester, signaler les bogues, aider à traduire.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version française du Synfig Training Course

Vendredi 28 Août

Synfig (aussi connu sous le nom de Synfig Studio) est un logiciel d'animation vectorielle 2D libre distribué sous licence GPLv2+ depuis 2005. Il est écrit en C++, dispose d'une interface graphique GTK+ et bénéficie actuellement d'un développement très actif. La sortie de la version 1.0 du logiciel en avril 2015 avait fait l'objet d'une dépêche sur LinuxFr.org.

Le « Synfig Training Course » est un ensemble de ressources d'apprentissage à destination des nouveaux utilisateurs de Synfig. Cette dépêche couvre la sortie de la version française de cette collection.

L'objectif du Synfig Training Course est de permettre à un débutant d'apprendre à créer une animation 2D avec Synfig rapidement. Réalisé dans le cadre du Morevna Project (projet de film d'animation de la communauté Synfig, déjà évoqué sur LinuxFr.org), il a été publié dans une première version en 2013, en anglais et en russe. Rapidement, la collection a été traduite dans d'autres langues comme le chinois et le portugais. En juillet 2015, peu après la sortie de Synfig 1.0, une nouvelle version du cours est publiée, là aussi en anglais et en russe, sous licence CC by-sa 4.0. Notons que le narrateur de la version anglaise n'est autre que le célèbre Terry Hancock, dont le projet d'animation Lunatics a été lui aussi évoqué sur LinuxFr.org. Le 22 août, les sources du Synfig Training Course sont officiellement publiées sous licence CC by-sa 4.0 sur le blog du Morevna Project.

La communauté Synfig prévoit de sortir d'autres traductions de cette nouvelle version du Synfig Training Course, la version française ayant quant à elle été publiée ce mois-ci.

Comme les autres versions, celle-ci est disponible gratuitement pendant les 48 heures suivant la sortie, et à prix libre (1$ minimum) ensuite.

La collection se présente sous la forme d'une archive d'environ 450 Mio contenant 60 minutes de cours en screencast avec commentaire audio dans la langue choisie, et d'une archive "workshop" contenant toutes les images, frames et fichiers d'animation nécessaires à la mise en pratique de ces cours. Ces cours sont découpés en neuf vidéos de 4 à 12 minutes et organisés de la façon suivante :

  1. Pour commencer
  2. Votre première animation
  3. Rendu de l'animation
  4. Personnage simple
  5. Les trames-clés ou keyframes
  6. Animation faciale
  7. Armatures (Bones)
  8. Animation squelettale
  9. Cycle de marche

L'argent récolté grâce à la vente des copies du Synfig Training Course permettra de financer le développement de Synfig, en s'additionnant aux sommes issues des campagnes de financement participatif régulières. Les développeurs de Synfig travaillent en effet déjà sur la version 2.0 du logiciel, dont ils comptent améliorer en priorité les performances.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de la version 1.7 de Rolisteam

Jeudi 27 Août

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éré 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

Mercredi 26 Août

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

Mardi 25 Août

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

Mardi 25 Août

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 et é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

Mardi 25 Août

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

Pages