Syndiquer le contenu
Mis à jour : il y a 21 heures 6 min

Une nouvelle version de Cloonix est disponible, la v-37-00.

24 juillet, 2017 - 20:15

Cloonix est un projet sans prétention ni financement, pur produit de l’artisanat, c’est un ovni dans un monde où la communication a été transformée en harcèlement publicitaire et où la réduction des coûts et délais prime sur la conscience professionnelle. Le projet Cloonix a déjà 10 ans, il reste discret bien que techniquement mature et efficace.

C’est un outil d’aide à la gestion de la virtualisation de réseaux sous licence AGPL v3, le projet a commencé alors que KVM n’existait pas encore, il est le fruit d’un travail continu motivé par le plaisir de l’artisan.

Son but ultime est de regrouper tous les logiciels libres ayant une composante réseau en un ensemble de démonstrations jouables sans effort de configuration.

Cette nouvelle version est capable de gérer un routeur propriétaire Cisco CSR 1000v. Il a fallu de l’astuce pour parvenir au résultat, c’est ce que la seconde partie expose.

Le Libre est un monde trop jeune et chaotique pour qu’il y ait un guide de l’existant fiable, il faut tester les logiciels pour s’en faire une idée. À chaque essai d’un logiciel, il faut commencer par un contexte de distribution, de bibliothèques, d’autres logiciels préexistants, puis il faut configurer le logiciel lui‐même dans son contexte. Ce sont des manipulations laborieuses répétées sans mutualisation. Le succès des solutions à base de conteneur (container) provient de la stabilisation du contexte pour présenter un logiciel avec son environnement intégré.
La valeur ajouté de Cloonix sera dans les démonstrations très vivantes, qui tournent sans intervention, à part le lancement du script de démo. Il en existe déjà une dizaine, j’espère augmenter la cadence de production avec la stabilisation du travail sur l’outil lui‐même.

Reprenons le pourquoi de cet article

Cloonix est un logiciel discret la plupart du temps mais, pour cette version, je voudrais essayer de transmettre un peu du plaisir de l’artisan. Ce plaisir est moins perceptible par nos sens et plus difficile à partager que ce qui est audible, visible ou palpable. Malgré cela, la nouvelle fonctionnalité astucieuse implémentée dans cette version est source de satisfaction.

Le but de ladite fonctionnalité

Pour les besoins d’un collègue de travail, il fallait qu’un réseau de routeurs Cisco virtuels de la famille CSR 1000v puisse être démarré à partir d’un qcow2 unique, puis configuré dynamiquement par fichier, sans jamais avoir les droits administrateur sur la machine hôte accueillant le réseau Cloonix. Ces Ciscos devaient aussi être accessibles le plus simplement possible, comme le sont déjà les machines classiques GNU/Linux gérées par Cloonix.

Oui, mais comment ?

Tout de suite les classiques ssh et scp viennent à l’esprit, car il n’est pas question de faire tourner un agent Cloonix dans le binaire hyper‐fermé de Cisco, afin d’avoir le pseudo‐ssh existant pour les machines virtuelles GNU/Linux dans Cloonix.

Le problème devient évident : on a du TCP/IP côté Cisco et un fichier sans pile IP du côté de l’hôte.

La solution consiste donc à transférer le fichier en flux d’octets respectant SSH à travers un socket UNIX côté hôte, puis sur le chemin vers l’interface Cisco, passer le flux d’octets de données en TCP/IP pour être accueilli par le serveur SSH de Cisco, comme s’il venait d’un SSH passé par une pile IP classique.

En prérequis, on fabrique un fichier qcow2 pour émuler un Cisco. Dans cette machine virtuelle, la première interface est configurée en DHCP, on autorise le SCP et on place une clef publique de Cloonix pour avoir une connexion SSH/SCP sans mot de passe vers l’utilisateur cisco.

Pour l’autre extrémité, on télécharge le dernier OpenSSH (openssh-7.5p1), puis on le modifie avec un correctif afin qu’il ouvre un socket UNIX et non plus TCP.

Entre ces deux extrémités, il y a encore deux intervenants : cloonix_doorways, qui sert à séparer le client du serveur dans Cloonix, puis un nat, qui est une entité du réseau de Cloonix capable de générer du TCP à partir d’un flux d’octets. Le nat est déjà utilisé pour surfer sur le Web, il fournit du TCP réel avec SYN/ACK en partant du flux de données d’un socket TCP utilisateur.

Le chemin du flux d’octets est donc :
openssh modifié ⇄ client Cloonix ⇄ serveur Cloonix ⇄ nat ⇄ sshd/Cisco.

La commande est sous la forme : cloonix_osh nemo nat cisco@nom_vm.

  • nemo permet d’atteindre le serveur Cloonix (le fichier de configuration de Cloonix donne l’adresse IP et le port par nom) ;
  • nat permet, sur le serveur, de trouver le socket UNIX du nat qui est connecté à la machine virtuelle, le nat connaît la bijection (adresse IP ⇄ nom de la MV), il initie la communication TCP.

Si vous avez un PC avec 12 Gio de mémoire vive (Cisco ne marche pas bien à moins de 3 Gio), alors vous pouvez essayer la démo Cloonix qui fait de l’OSPF entre trois routeurs Ciscos. Dans la démo, il y a le howto pour la création de la machine virtuelle Cisco csr1000v.qcow2 adaptée à Cloonix, j’ai vu sur le Web que le CSR 1000v était supposé être gratuit car bridé, mais il n’est pas simple à obtenir à travers la voie officielle Cisco.

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 30 de l’année 2017

23 juillet, 2017 - 09:41

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 17 événements (0 en Belgique, 16 en France, 0 au Luxembourg, 1 au Québec, 0 en Suisse et 0 en Tunisie) est en seconde partie de dépêche.

Sommaire [FR Marseille] Réunion OpenStreetMap PACA - Le lundi 24 juillet 2017 de 19h30 à 23h00.

Les contributeur.ice.s d'OpenStreetMap de la région PACA se réunissent le lundi 24 juillet 2017, à partir de 19h30

Activités habituelles

  • Initiation à la contribution à OpenStreetMap.
  • Actualité dans l'écosystème OSM.
  • Préparation des prochaines cartoparties et participations à divers événements en lien avec la cartographie libre.
  • Et divers choses comme QGIS, Mapillary, Umap, applications mobiles OSM, etc.

 Thèmes particuliers possibles pour cette réunion

  • Programme pour l'année 2017.
  • Communication (réseaux sociaux, pages wiki).
  • Cartopartie au Jardin Puget ?
  • Font-Vert Cartopartie + utilisation uMap
  • Voir les changements des derniers mois sur la manière de faire des multipolygones

Page du Wiki d'OpenStreetMap sur les réunions de Marseille

Pour celles et ceux qui compteraient participer à la réunion et qui viennent pour la première fois, nous avons pour habitude que chacun.e amène quelque chose à boire et/ou à grignoter.

La réunion est ouverte à tou.te.s.

Entrée Libre.

[FR Lyon] ChamiloCamp 2ème édition - Le mardi 25 juillet 2017 de 14h00 à 19h00.

La solution e-learning Chamilo est à présent l'une des 3 plateformes les plus populaires au monde dans le milieu de l'éducation accompagnée par les technologies, et sa vision multi-culturelle en fait une plateforme particulièrement adaptée au contexte francophone.

Elle est actuellement utilisée à différents niveaux d'intégration par les universités de Grenoble, Reims, Caen, Genève, Pau, Montpellier, l'Académie d'Aix-Marseille, les Instituts Régionaux d'Administration de Metz, Lyon, Nantes, Lilles, Bastia et bien d'autres.

Cet événement dénommé "ChamiloCamp" a pour but de faire connaître le projet Chamilo aux enseignants de la région, au travers de présentations des fonctionnalités de la solution et de la présentation d'expériences d'autres enseignants, ainsi que de fomenter la formation de réseaux de personnes intéressées par Chamilo ou simplement par la technologie de l'information appliquée à l'éducation de façon non intrusive.

L'événement est gratuit et organisé par l'association avec la présence de son président Monsieur Yannick Warnier, et n'a donc pas de vocation commerciale. Il s'agit principalement pour nous de fomenter l'utilisation de Chamilo et d'animer la communauté francophone à auto-organiser des événements d'échange.

Programme provisoire de l'après-midi (sujet à modifications en fonction des nouveaux participants)

14h00 - 14h45 par Yannick Warnier (Fondateur de l'association Chamilo)

14h45 - 15h30 : Utilisation de Chamilo LMS pour la formation dans tous types d'organisations et cas spécifiques, par Nicolas Ducoulombier (Chef de projet chez BeezNest, fournisseur officiel de Chamilo LMS)

15h30 - 16h15 : Ludiscape : Comment développer et intégrer les jeux sérieux dans Chamilo, par Damien Renou (Ludiscape)

16h15 - 17h00 : Intervenant en attente de confirmation

17h00 - 17h45par Yannick Warnier (Fondateur de l'association Chamilo)

17h45 - 19h00 : Rencontres et échanges autour d'une dégustation surprise

Nous vous attendons nombreux, préparez vos questions et profitez de l'occasion pour en connaître plus sur le projet Chamilo.

à bientôt

Vous pouvez obtenir plus de détails en envoyant un e-mail à rudy.willems@beeznest.com

[FR Rennes] Atelier Wikidata SPARQL - Le mardi 25 juillet 2017 de 19h00 à 21h00.

Le mardi 25 juillet de 19 h à 21 h dans l'espace Magenta des Champs Libres aura lieu le deuxième atelier Wikidata de l'été à Rennes.

Cet atelier sera centré sur l'utilisation du Query Service et de SPARQL, permettant d'interroger et de récupérer le contenu de Wikidata.

Plusieurs Wikidatiens, dont Envel Le Hir et Nicolas Vigneron, seront présents pour animer cet atelier.

Pensez à amener votre ordinateur pour tester par vous-même.

[FR Grenoble] Atelier de la Guilde - Le mardi 25 juillet 2017 de 19h00 à 23h00.

GUILDE (Guilde des Utilisateurs Linux du Dauphiné) est une association loi 1901 qui s'est fixée pour objectifs de promouvoir le système Linux auprès des particuliers et des professionnels, de rassembler les utilisateurs de Linux de la région du Dauphiné.

Nous souhaitons faire naître des projets, des initiatives et créer des groupes de travail qui bénéficieront aussi bien à Linux qu'à ses utilisateurs.

Notre région est riche en entreprises de haute technologie, centres de recherches, universités et sociétés de services qui utilisent déjà Linux.

Par leur biais nous avons l'opportunité de faire connaître l'une des innovations logicielles les plus marquantes de ces dix dernières années.

[FR Peymeinade] Install-Party GNU/Linux - Le mercredi 26 juillet 2017 de 19h00 à 21h00.

Désormais tous les 4èmes Mercredi du mois, Clic Ordi et Linux Azur vous proposent une install-party ouverte à tous et gratuite.

  • Découvrez un monde rempli de Papillons, licornes, mais surtout de manchots !
  • Plus besoin de se soucier des virus et autres logiciels malveillants.
  • Le support de Windows Vista s'arrête dans un an, et les principaux logiciels ont déjà arrêté leurs mise à jour, réagissez !
  • Ramenez vos ordinateurs obsolètes et donnez leur une seconde vie.

Nous aimerions développer autour de Handy-Linux (et de sa future mouture avec Debian-Facile) afin de répondre à des besoins simples pour des personnes difficiles à former et pouvant se retrouver en fracture numérique).

Nous sommes ouvert à tout, y compris à la bidouille sur l'atelier avec le fer à souder.

Organisé conjointement par http://clic-ordi.com/fr et https://www.linux-azur.org

[FR Ploemeur] Diaspero - Le mercredi 26 juillet 2017 de 19h00 à 22h00.

Bonjour,

Nous profitons de l'été pour organiser un premier "diaspero" sur le Pays de Lorient.

Que vous soyez utilisateur/trice de diaspora*, mastodon ou d'autres outils sociaux basés sur des logiciels libres, n'hésitez à venir en discuter avec nous. C'est l'occasion de se rencontrer dans la "vraie" vie.

Rendez-vous sur le port de Lomener à 19H.
Nous attendrons quelques minutes que tout le monde arrive puis nous nous dirigerons vers un des bistrots…

[FR Chartres] OpenAtelier - Le mercredi 26 juillet 2017 de 20h00 à 23h59.

L'OpenAtelier est un moment de rencontre et de partage ou les membres et curieux sont invités à échanger sur leurs idées et leurs projets.

Les espaces techniques sont également ouverts aux réalisations (électronique, informatique, menuiserie, impression 3D, découpe vinyle…).

Pour les curieux, c'est le bon moment pour venir découvrir l'association et ses membres.

[FR Toulouse] Rencontre Tetalab - Le mercredi 26 juillet 2017 de 21h00 à 23h00.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

Ouvert au public tous les mercredi soir.

Venez nombreux.

[FR Nice] Contribunuit - Le jeudi 27 juillet 2017 de 18h00 à 23h59.

Venez au Nicelab participer à la prochaine édition des Contribunuits

Il s'agit d'une soirée conviviale où vous êtes invités à venir participer et/ou à découvrir des projets ouverts.

Le projet mis en avant cette fois-ci est Wikipedia!

Vous pourrez venir faire vos premières modifications, ou bien rencontrer d'autres contributeurs de Wikipedia au Nicelab sur différents thèmes (santé, écologie, etc.). 

N'hésitez pas à ramener à boire et à manger

Des précisions seront éventuellement apportées sur le wiki de l'événement

A bientôt au Nicelab =)

[FR Challans] Permanence - Le jeudi 27 juillet 2017 de 18h00 à 20h00.

Chaque dernier jeudi du mois, Linux Challans vous donne rendez-vous à l'Albanera Café, 17 rue du Général Leclerc 85300 Challans.

Nous vous proposons lors de ces rendez-vous mensuels d'échanger autour du Libre, des conseils ou une assistance technique.

Vous pouvez venir pour vous faire aider, ou aider, à installer et paramétrer une distribution GNU/Linux de votre choix ou des logiciels libres sur votre ordinateur.

Recommandations

  • Sauvegardez vos données avant de venir.
  • Libérez de la place sur le disque dur (20 Go minimum) et défragmentez Windows si vous voulez le conserver.
  • Nous prévenir de votre passage via la messagerie.

Vous pouvez aussi venir pour une première prise d'informations et de contacts.

Nous vous attendons toujours plus nombreux !

[FR Paris] Soirée de Contribution au Libre - Le jeudi 27 juillet 2017 de 19h30 à 22h30.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

Nous nous réunissons donc tous les dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

Regazouillez sur Twitter - Wiki des soirées

Programme non exhaustif

  • Fedora (sa traduction)
  • Parinux, ses bugs et son infrastructure
  • April, … y a toujours quelque chose à faire
  • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
  • Schema racktables, son code
  • Agenda du Libre, mise à jour et amélioration du code
  • Ubuntu-Fr, son orga, ses événements
  • En vente libre, maintenance et commandes
  • Open street map, une fois par mois
  • Linux-Fr sait faire

tout nouveau projet est le bienvenu.

[QC Coteau du Lac] Émission #136 de bloguelinux - Le jeudi 27 juillet 2017 de 20h00 à 22h00.

bloguelinux.ca est un blogue québécois offrant la diffusion d'un podcast qui traite des logiciels libres, du système d'exploitation Linux et de la technologie en général ; il y a un processeur, il y a un système d'exploitation, c'est certain que ça nous intéresse!
bloguelinux.ca est enregistré le jeudi à 20 heures toutes les deux semaines.
Vous pouvez nous écouter en direct lors des enregistrements à l'adresse http://live.bloguelinux.ca ou directement sur notre site à http://www.bloguelinux.ca en cliquant sur la radio dans le panneau de gauche du site.

[FR Montpellier] Les logiciels libres, parlons-en ! - Le vendredi 28 juillet 2017 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?

Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00, au 19, rue du Faubourg de Nîmes, 34000 Montpellier.

L’idée est de s’informer et d’informer les adhérents des diverses associations sur le fonctionnement du lieu et des associations, et notamment sur les 5 partenaires qui l’animent et lui permettent ainsi d’exister (autour.com, L’Accorderie, enercoop, modulauto, La Nef). Lors de cette permanence partagée vous pourrez rencontrer les associations La Graine (monnaie locale de Montpellier), éCOhabitons, Montpellier à pied, et bien sûr Montpel’libre.

Alors, si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante.
Montpel’libre est une association et un groupe d’utilisateurs (GULL), qui propose une multitude d’activités dans le cadre de la promotion des logiciels libres, et des Communs.
Depuis longtemps déjà, Montpel’libre participe à l’économie sociale et solidaire en organisant tout un éventail d’ateliers et de manifestations, au développement durable et à l’innovation sociale au travers de permanences et ateliers de présentations des logiciels libres et évidement les cartoparties, véritable actions citoyennes, sur le thème de l’accessibilité des personnes en situation de handicap.
L’activité économique, l’intérêt collectif, le fonctionnement démocratique, autant d’éléments que porte Montpel’libre, en proposant un accès entièrement libre et gratuit à une éducation populaire, au travers de ses ateliers à destination de tous les publics.

Les logiciels libres parlons-en ! Ouvrons le dialogue sur l’ouverture des données ! Partageons nos expériences pour une meilleure répartition des connaissances.

Ces permanences sont suivies d’un Apéro « refaire le monde » convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00 :

  • vendredi 7 juillet 2017 de 17h00 à 19h00
  • vendredi 21 juillet 2017 de 17h00 à 19h00
  • vendredi 28 juillet 2017 de 17h00 à 19h00

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement est proposé dans le cadre du partenariat qui lie le Faubourg Marché et Montpel’libre.

Vendredis 7, 21 et 28 juillet 2017 de 17h00 à 19h00
Le Faubourg - 15, rue du Faubourg de Nîmes, 34000 Montpellier

Tramway lignes 1, 2 et 4 arrêt Corum
GPS Latitude : 43.614186 | Longitude : 3.881404
Carte OpenStreetMap

[FR Villeneuve d'Ascq] Libre à Vous - Le samedi 29 juillet 2017 de 09h00 à 12h00.

Vous souhaitez tester GNU/Linux sur votre ordinateur, vous recherchez un logiciel pour une fonction précise, des conseils ou de l'aide sur les logiciels libres?

Libre à Vous est une permanence destinée à vous faciliter l'utilisation de l'informatique. Vous repartirez avec « le plein » de logiciels libres, fiables, évolutifs, performants et gratuits.

C'est chaque samedi matin au Centre d'Infos Jeunes à la ferme Dupire, 80 rue Yves Decugis à Villeneuve d'Ascq (métro Triolo) de 9h00 à 12h00.

Entrée Libre. Tout Public.

[FR Valenciennes] Permanence ValLibre - Le samedi 29 juillet 2017 de 09h30 à 12h00.

Permanence assistance informatique.

Dépannage petits bobos informatiques.

Initiation à l'informatique libre.

Tous les samedis ouvrables sauf les derniers samedis du mois et les samedis en période de vacances scolaires.

Si besoin particulier, la prise de rendez-vous est fortement conseillée.

Téléphone accueil MQCV : 03 27 22 43 90

[FR La Couronne] Permanence - accueil public - Le samedi 29 juillet 2017 de 10h00 à 13h00.

Notre permanence d'accueil avec le sourire, le café et les gâteaux !

Lieu de rencontre et d'échange convivial pour discuter informatique et outils numériques.

Cette association permet à chacun de découvrir également l'univers de Linux et par extension de tous les **logiciels* et matériels libres*.

Entrée Libre. Tout Public.

[FR Limanton] Cartographiez sans internet (ou presque)! - Le samedi 29 juillet 2017 de 14h00 à 18h00.

Panneçot, charmant petit hameau de la commune de Limanton (58) a besoin de vous pour enrichir sa carte.

Apportez vos appareils photo, smartphones si vous en avez.

Vous pouvez télécharger

  • Osm tracker,
  • OsmAnd,
  • Osm contributor.

Nous verrons comment s'en passer, mais avec c'est bien ;)

Débutants bienvenus

Programme :

  • 14h rendez-vous à l'entrée du camping et nous nous dirigerons vers l'ancienne école (accueil café, jus d'orange);
  • 14h30 briefing, explications
  • 15h-16h30 relevé de points sur le terrain
  • 17h restitution et envoie des données au restaurant "la rustine";
  • 18h remerciements.

PS : le soir, à « La Rustine », retrouvez « Mix Up Family »un groupe de Reggae Neversois de très bon niveau

Télécharger ce contenu au format Epub

Lire les commentaires

EuroBSDcon 2017 en septembre à Paris

23 juillet, 2017 - 00:08

L’EuroBSDcon est une conférence technique internationale annuelle en langue anglaise rassemblant des utilisateurs et développeurs travaillant sur les systèmes d’exploitation de la famille BSD ou des projets liés. Il s’agit de la version européenne d’une famille de conférences mondiales dérivées de USENIX.

Cette conférence change de pays chaque année, l’édition 2017 se déroulera pour la première fois à Paris du 21 au 24 septembre prochain. Cet événement d’envergure internationale sera l’occasion de réunir des publics de divers horizons rassemblés autour d’un intérêt commun et de croiser des personnalités toujours actives ayant fait l’histoire de l’informatique, ainsi que les membres actifs de la nouvelle génération. Tous les projets majeurs y seront représentés : Dragonfly BSD, FreeBSD, NetBSD et OpenBSD.

Suite et programme en seconde partie.

Pour rappel, BSD est l’acronyme de Berkeley Software Distribution. Il s’agit d’une communauté développant des systèmes d’exploitation libres de type UNIX issus de celui développé à Berkeley à la fin des années 1970. À ne pas confondre avec le non moins célèbre LSD, lui aussi développé dans la même université.

Des technologies majeures sont issues de ces systèmes d’exploitation et ont largement participé à l’informatique moderne : la pile TCP/IP, IPsec, IPv6, les systèmes de fichiers modernes, les conteneurs pour cloisonner des programmes, plusieurs techniques de sécurisation des systèmes d’exploitation, etc.

Ces technologies sont utilisées par de nombreux acteurs du marché comme NetApp, Juniper, Netflix, Sony PlayStation, WhatsApp, Gandi, la NASA, la DGSE, etc. Elles sont aussi embarquées dans de nombreux produits, comme par exemple macOS qui est fortement basé sur des technologies issues du monde BSD, ou Google Android qui utilise du code issu de BSD.

Déroulement de la conférence Tutoriels (jeudi et vendredi)

Les deux premiers jours (21 et 22 septembre) sont consacrés à des tutoriels :

  • An Introduction to the FreeBSD Open‐Source Operating System ;
  • Dtrace for developers: no more printfs ;
  • BGP for developers and sysadmins ;
  • Core concept of ZFS ;
  • Managing BSD systems with Ansible ;
  • How to untangle your threads from a giant lock in a multiprocessor system.

Plus d’informations sont disponibles ici.

Conférence (samedi et dimanche)

Les deux derniers jours (23 et 24 septembre) sont consacrés à la conférence à proprement parler. Une trentaine de présentations sont planifiées, dont trois keynotes données par :

  • Thomas Pornin, qui viendra nous parler de cryptographie ;
  • Éric Freyssinet, qui nous racontera une petite histoire de la cybercriminalité en France ;
  • Brendan Gregg, qui nous parlera de la méthodologie et des outils de résolution des problèmes de performance chez Netflix.

Plus d’informations sont disponibles ici.

Afin d’assurer la convivialité, un « social event » ouvert à tous les participants sera organisé le samedi 29 septembre sur une péniche navigante. Cela sera l’occasion d’un échange décontracté avec les membres de la communauté autour d’un repas et d’un verre.

L’application Android officielle est disponible sur Google Play.

Les inscriptions sont ouvertes. Dépêchez‐vous : les places sont limitées !

Télécharger ce contenu au format Epub

Lire les commentaires

Reportage sur LaTeleLibre.fr : « La Guerre des Civic Tech »

22 juillet, 2017 - 13:06

Le 27 juin 2017, LaTeleLibre.fr mettait en ligne un court reportage intitulé La Guerre des Civic Tech.

Reportage pour lequel j’avais eu le plaisir d’être interviewé en tant chargé de mission affaires publiques pour l’April. Nouvelle occasion de rappeler que seul le logiciel libre apporte des garanties intrinsèques suffisantes pour que l’utilisation d’outils informatiques puisse réellement renforcer la participation citoyenne dans l’élaboration des lois.

Par leur licence les logiciels libres permettent à quiconque d’auditer le code source et, s’il ou elle le souhaite, de participer à l’élaboration des règles algorithmiques qui conditionneront l’usage de l’outil. Il s’agit en ce sens de considérer l’outil comme faisant partie intégrante du processus de décision, et donc d’ouvrir à la participation citoyenne les débats sur son fonctionnement.

Par extension, si l’on considère comme condition d’existence de la démocratie la possibilité d’accéder, de comprendre et d’agir sur les règles qui s’imposent aux citoyen⋅ne⋅s membres de la société, le logiciel libre apparaît comme l’incarnation informatique de ces valeurs. À l’inverse, un logiciel privateur pensé de façon verticale et opaque, imposant ses usages aux utilisateurs et utilisatrices, s’approche davantage d’un processus de décision autocratique.

L’April a déjà eu l’occasion de mettre en évidence l’incohérence entre technologie dite civique et logiciel non libre lors de sa participation à une consultation sur la généralisation des consultations en ligne. Sa proposition d’inscrire le logiciel libre comme critère essentiel avait rencontré un franc soutien des contributeurs et contributrices.

Le reportage de 13 minutes présente ainsi le débat autour des « Civic Tech » et de la nécessité de l’utilisation du logiciel libre comme garantie de transparence et d’horizontalité. Outre mon intervention pour l’April (8 min et 55 s), le journaliste interroge Cyril Lage de Parlement & Citoyens (plate‐forme de consultation non libre), Caroline Corbal pour DemocracyOS (une « Civic Tech » libre), et Clément Mabi, maître de conférence à l’UTC Compiègne.

Sur le sujet des « Civic Tech », je vous recommande la lecture de l’excellent billet de Regards Citoyens : Civic Tech ou Civic Business ? Le numérique ne pourra pas aider la démocratie sans en adopter les fondements.

Télécharger ce contenu au format Epub

Lire les commentaires

Mageia 6 est sortie

20 juillet, 2017 - 21:35

La très attendue Mageia 6 est enfin disponible. Des problèmes de compatibilité avec des périphériques pas très libres — mais très utilisés — sont la cause principale de ce retard.

En attendant cette sortie, la communauté des développeurs avait publié la robuste version 5.1 qui sera maintenue pendant encore trois mois. L’enjeu était de faire mieux et d’éviter les régressions.

De nombreux testeurs utilisent au quotidien cette version depuis la parution de la version candidate. Elle semble tenir toutes ses promesses :

  • passage à Wayland par défaut pour GNOME (X.org reste disponible) et vous pouvez l’essayer avec KDE Plasma ;
  • ajout du média autonome (live) avec l’environnement Xfce, aux côtés des classiques KDE Plasma et GNOME, le tout sous GRUB 2 remplaçant de GRUB 1 ;
  • ajout de dnf2 en tant que gestionnaire de paquetages alternatif au classique urpmi et de l’interface graphique dnfdragora en plus du classique rpmdrake ;
  • prise en charge d’AppStream pour ajouter des méta‐données aux outils comme GNOME Logiciels (GNOME Software) et Plasma Discover pour découvrir des logiciels à installer ;
  • retour de la portabilité sur processeur ARM (pour les plus aventureux).
Sommaire Les nouveautés principales de Mageia 6

Bien qu’il ne s’agisse pas d’une nouvelle fonctionnalité, Mageia 6 prend en charge plus de 25 environnements de bureau et gestionnaires de fenêtres (les détails seront disponibles lors d’une prochaine publication sur le blog) ! Que ce soit KDE Plasma 5.8.7 (LTS), GNOME 3.24.2, MATE 1.18, Cinnamon 3.2.8, Xfce 4.12.1, LXQt 0.11…

KDE Plasma

Le passage de Qt 4 à Qt 5 permet d’alléger notablement KDE Plasma, que l’on ne peut plus qualifier de lourd.
Presque toutes les applications KDE 4 ont été migrées vers Plasma, de sorte que vous bénéficierez d’une belle expérience unifiée.

GNOME

Le serveur d’affichage Wayland est activé par défaut, l’utilisation de X.Org reste possible au besoin, si votre matériel est défaillant. Sur les processeurs graphiques Intel (voire AMD et sans doute NVIDIA), l’interface HDMI est gérée de base pour envoyer la vidéo vers un écran LCD ; le Bluetooth aussi, pour envoyer l’audio sur votre chaîne Hi‐Fi.

Les extensions GNOME Shell les plus classiques sont disponibles en paquets de base : hibernate-status, alternate-tab, apps-menu, auto-move-windows, common, drive-menu, launch-new-instance, native-window-placement, onboard, overrides, places-menu, screenshot-window-sizer, user-theme, window-list, windowsNavigator et workspace-indicator, permettant d’utiliser GNOME au clavier efficacement tout en conservant quelques fonctionnalités utiles.

Xfce et les autres…

Une version autonome (live) est distribuée en ISO aux côtés de KDE Plasma et GNOME pour permettre de tester un environnement plus léger. Vous pouvez tester sur clef USB ou DVD. Voici la gamme complète des images ISO de Mageia :

  • installation classique DVD pour 32 bits ;
  • installation classique DVD pour 64 bits ;
  • DVD autonome GNOME 64 bits ;
  • DVD autonome Plasma 64 bits ;
  • DVD autonome Xfce 32 bits ;
  • DVD autonome Xfce 64 bits.
En synthèse des mises à jour

Tous les logiciels dans les dépôts ont été reconstruits et mis à jour pour inclure les derniers et les plus importants logiciels de l’écosystème libre, vous trouverez ci‐dessous quelques‐uns des principaux composants inclus dans cette version :

  • système de base : noyau Linux 4.9.35 (LTS), systemd 230, X.org 1.19.3, Wayland 1.11.0, Mesa 17.1.4 ;
  • bibliothèques graphiques : Qt 5.6.2 (LTS), GTK+ 3.22.16 ;
  • environnements de bureau : Plasma 5.8.7 (LTS), GNOME 3.24.2, MATE 1.18, Cinnamon 3.2.8, Xfce 4.12.1, LXQt 0.11 ;
  • applications : LibreOffice 5.3.4.2, Firefox 52.2.0 ESR, Thunderbird 52.2.1, Chromium 57.
Dans le détail des nouveautés de Mageia 6 Prise en charge de Wayland

Wayland est un protocole de serveur d’affichage plus simple et plus efficace que l’architecture de X.Org qui utilise un gestionnaire de fenêtres composite fonctionnant de concert avec le système X Window.

Avec l’introduction des compositeurs (permettant des effets de transparence, d’ombre portée, etc.), X.Org ne peut plus être performant, car il constitue une étape supplémentaire entre l’application et le compositeur, ainsi qu’entre le compositeur et le matériel.

Wayland a été proposé pour succéder à X11 : un serveur Wayland joue à la fois le rôle de compositeur (gestionnaire de fenêtres) et de serveur d’affichage.

Wayland est donc une évolution majeure dans l’architecture GNU/Linux, même si elle n’est que peu visible pour la majorité des utilisateurs. Une couche logicielle est fournie pour faire fonctionner les anciennes applications, via une version spéciale du serveur X.Org fonctionnant au‐dessus de Wayland : XWayland.
Une conséquence possible de la disponibilité de Wayland devrait être la disponibilité de jeux nécessitant un affichage performant.

MCC : le Centre de contrôle Mageia

Cet utilitaire qui permet de configurer le système contribue fortement à la réputation de Mageia. Il est hérité de Mandrake, puis de Mandriva Linux, et s’est perfectionné au fil des années et des versions. Il a bénéficié d’une heureuse cure de jouvence. De nouvelles icônes ont joliment amélioré la convivialité de MCC.


Cette illustration vient de la version anglaise mais, rassurez‐vous, Mageia vous propose une version française lors de l’installation. Mageia est certainement la plus française des grandes distributions.

Ajout de DNF2

Proposé par Fedora, dnf a été logiquement intégré à Mageia. Il est disponible en plus de l’outil classique d’installation urpmi.

Les apports d’AppStream

Les utilisateurs bénéficient de l’outil dnfagora dans la continuité de rpmdrake, pour une interface graphique améliorée et cohérente. Cela permet à l’utilisateur de rechercher un logiciel correspondant à son besoin, en se basant sur des méta‐données consolidées entre distributions.
C’est un apport en complément du travail de Debian pour http://madb.mageia.org, avec les copies d’écran des applications graphiques. Il y a aussi la possibilité de participer à l’assurance qualité de Mageia

Mageia 6 pour l’architecture ARM

Le portage ARM (re‐)prend vie : démarré avec Mageia 1, il est désormais disponible sur les miroirs pour architecture armv5tl et armv7hl (respectivement ARMv5 et ARMv7, ce qui inclut le Raspberry Pi). Attention, cela reste réservé aux aventureux, des images d’installation pourront être disponibles par la suite, si suffisamment de personnes se montrent intéressées.

Par exemple, les serveurs de base de données PostgreSQL 9.4 et 9.6 sont disponibles : http://madb.mageia.org/package/list/t_group/68/application/0/arch/armv7hl/page/2.
Pour ceux intéressés, vous pouvez aussi suivre le statut des paquets inclus selon l’architecture : https://pkgsubmit.mageia.org/arm-status.html.

Participer à l’activité de Mageia et de sa communauté

Nos amis francophones de MLO sont très actifs dans le soutien en français aux utilisateurs de la distribution avec tutoriels et forums officiels pour Mageia.

Pour autant, la difficulté à sortir une distribution dans les temps a pesé pour certains :

  • Mageia 5 est sortie en juin 2015 ;
  • Mageia 5.1 est sortie en décembre 2016 ;
  • Mageia 6 arrive enfin en juillet 2017, pour une date initiale (re‐)planifiée en mars ou mai 2017, mais initialement prévue en août 2016, reportée à décembre 2016 pour diverses raisons ;
  • entretemps Cauldron (la version de dév’) a continué d’évoluer, pris en compte Wayland notamment, des mises à jour de beaucoup de logiciels (et de jeux) sur le mode de la publication continue — rolling release — (« jouez aux dés », si vous en avez envie, c’est votre choix, cela a été le nôtre pendant toute cette période).

C’est un vrai travail de motivation et de recrutement, d’accueil de nouveaux contributeurs qui a permis la sortie de cette version Mageia 6. En bref, vous êtes les bienvenus à rejoindre le projet et à le faire perdurer (ce qui nous tient à cœur et nous motive, pouvant permettre à chacun d’apprendre beaucoup plus qu’il n’en aurait espéré de son passage sous GNU/Linux). Les contributeurs à Mageia sont présents sur la plupart des événements du Libre : FOSDEM, RMLL, JDLL, POSS, premiers samedis, Kernel Recipes, etc. N’hésitez pas à venir à notre rencontre !

Comme Mageia 5 est bien maîtrisée, vous avez au moins jusqu’au 31 octobre 2017 pour passer à Mageia 6 qui, elle, vous permettra d’être tranquille jusqu’au 16 janvier 2019. :-)

Bon passage à Mageia 6 ! _o/*

Télécharger ce contenu au format Epub

Lire les commentaires

Matrix pour décentraliser Skype, Whatsapp, Signal, Slack et Discord

20 juillet, 2017 - 20:15

Matrix est un projet libre (licence Apache v2) définissant une nouvelle base (un ensemble d’API HTTP) pour une communication décentralisée, fédérée et temps réel.

TL;DR Pour se faire une idée rapidement, le plus simple est de cliquer ici et de voir immédiatement à quoi cela ressemble en pratique : accès au salon LinuxFr via le client Riot.

Sommaire Présentation

Matrix propose de la communication décentralisée, mais ce n’est pas de la communication distribuée (contrairement à Tox, par exemple), donc pour fonctionner cela nécessite quand même au moins un serveur (plusieurs serveurs pouvant être fédérés) que l’on appelle communément « homeserver ».

La question que l’on peut se poser directement, c’est la différence avec XMPP : j’en parle un peu plus loin dans la dépêche.

Identité et serveurs

Un utilisateur se connecte sur son homeserver via un client au moyen d’un identifiant unique appelé matrix user ID (MXID) qui est de la forme @username:homeserver.tld et d’un mot de passe.

Les MXID sont cependant prévus d’être mis un peu en retrait par rapport aux 3rd party ID (3PID) qui correspondent aux adresses de courriel ou aux numéros de téléphone.

Les serveurs d’identité (qui sont optionnels) permettent de faire le lien entre MXID et 3PID.

Enfin, il y a les Application Services qui permettent de faire la passerelle avec d’autres protocoles (IRC, Slack, Skype, Lync, etc.).

Salons de discussions et serveurs

Les discussions entre utilisateurs se passent dans des salons, par exemple le salon #matrix:matrix.org où se trouvent les développeurs de Matrix (qui est très fréquenté et très actif).
Cependant :

  • #matrix:matrix.org n’est qu’un alias spécifique au homeserver matrix.org, et n’importe qui peut lui donner un autre alias correspondant à son propre homeserver (par exemple #newmatrix:example.com). Le vrai identifiant du salon est en effet un nombre aléatoire ;
  • les messages échangés dans un salon sont stockés sur chacun des homeservers des utilisateurs participant au salon.

La conséquence, c’est que si le homeserver matrix.org disparaît demain, les utilisateurs inscrits sur matrix.org (donc avec une adresse type @user:matrix.org) ne pourront plus se connecter, mais les participants de #matrix:matrix.org continueront comme si de rien n’était (sauf qu’ils remarqueront que les utilisateurs de matrix.org ne sont pas là). De nouveaux participants pourront même rejoindre le salon via un autre alias (#newmatrix:example.com).

Le principe de la fédération

Une analogie possible serait de comparer au fonctionnement des courriels :

  • chaque fournisseur de messagerie électronique est indépendant, avec ses utilisateurs et son serveur conservant les courriels ;
  • si le fournisseur de messagerie électronique n’est pas ouvert vers l’extérieur, les utilisateurs peuvent communiquer entre eux et les courriels restent sur le serveur ;
  • si le fournisseur de messagerie électronique est ouvert vers l’extérieur, les utilisateurs peuvent communiquer avec des utilisateurs d’autres fournisseurs, et les courriels échangés se retrouvent alors sur les serveurs respectifs.

Matrix fonctionne de la même manière :

  • chaque homeserver est indépendant, avec ses utilisateurs et son serveur conservant les salons de discussions (avec leurs messages échangés) ;
  • si le homeserver n’est pas fédéré, les utilisateurs ne peuvent communiquer qu’entre eux et les salons de discussions restent sur le serveur ;
  • si le homeserver est fédéré, les utilisateurs peuvent communiquer avec des utilisateurs d’autres homeservers, et les salons de discussions impliquant des utilisateurs de différents homeservers se retrouvent répliqués sur les homeservers respectifs.

Tout comme pour les courriels, il n’y a donc pas de dépendance particulière à un homeserver en particulier, en tout cas en ce qui concerne les salons.

Note : en ce qui concerne les serveurs d’identité (c’est optionnel), pour  l’instant, il vaut mieux rester sur ceux de matrix.org.

Héberger un utilisateur n’est pas anodin, tout comme quelqu’un peut abuser de sa messagerie, un utilisateur de votre homeserver peut rejoindre un salon très fréquenté et surcharger ainsi votre homeserver (qui devra répliquer le salon).
Cependant, si votre homeserver est rapide (processeur puissant et beaucoup de mémoire vive, ou pas beaucoup de charge), les utilisateurs de votre homeserver auront de meilleures performances pour se connecter et échanger des messages (même si les messages envoyés mettront du temps à être répliqués sur les autres homeservers surchargés).

Différence avec XMPP

La FAQ de Matrix présente elle‐même les différences avec XMPP : What is the difference between Matrix and XMPP?.

Mais, essentiellement, on peut dire que :

  • XMPP est une spécification pour qu’un système puisse échanger des messages. Elle peut être étendue par un ensemble « d’extensions » élémentaires, dont la plupart sont optionnelles ;
  • Matrix est une spécification pour qu’un système puisse stocker des données arbitraires (« events ») et définit un moyen de synchroniser et résoudre les conflits entre les serveurs fédérés. Il n’y a pas de spécifications d’extensions comme XMPP, mais Matrix inclut nativement beaucoup plus de fonctionnalités (ils parlent eux‐mêmes de « kitchen sink ») afin de garantir que les différents clients disposent de fonctionnalités compatibles.

La relation entre XMPP et Matrix est abordée un peu plus loin dans Concurrence avec les autres protocoles décentralisés.

Implémentations

Matrix n’est qu’une spécification, et il y a pleins d’implémentations différentes de serveurs et de clients disponibles. Mais, notons en particulier :

  • Synapse est l’implémentation de référence actuelle du serveur (appelée usuellement homeserver) et son futur remplaçant est Dendrite (qui semble être environ 300 fois plus rapide !). Il est aussi sous licence Apache v2 ;
  • Riot est un client multi‐plate‐forme qui semble être de loin le plus populaire (fonctionne sous un navigateur, sous iOS, sous Android et sous forme d’application indépendante sur votre bureau). Il est aussi sous licence Apache v2.
Fonctionnalités

À terme, les solutions autour de Matrix permettraient de remplacer Skype, Whatsapp, Signal, Slack et Discord car voici les fonctionnalités incluses :

  • appels audio‐vidéo entre deux personnes ou bien audio et visio conférences entre plusieurs personnes ;
  • messagerie instantanée entre deux personnes ou pour un groupe, incluant la possibilité d’échanger photos, vidéos ou n’importe quel type de fichiers ;
  • chiffrement des communications de bout en bout ;
  • plusieurs clients peuvent être utilisés simultanément avec la même identité ;
  • en installant son propre homeserver, on peut fonctionner complètement en autonome ou bien en rejoignant la fédération.

Note : Cela pourra efficacement concurrencer Slack et Discord quand les fonctionnalités autour des groupes d’utilisateurs seront implémentées.
Note 2 : Des fonctionnalités autour de l’IoT et de la VR sont aussi prévues, mais je n’ai pas vraiment eu le temps de voir où cela en était.

Remarquons tout de même que le fait de rassembler tous les usages dans un seul logiciel ou protocole a un effet de bord gênant : on est poussé à utiliser la même identité pour tout. Avec plusieurs logiciels il est plus naturel de jongler avec plusieurs identités pour éviter de mélanger (par exemple identité professionnelle sous Slack, identité gamer sous Discord, identité personnelle sous Whatsapp et identité publique sous IRC).
Pour l’instant le multi‐utilisateur est encore à l’étude.

Tutoriel d’installation

Vous pouvez suivre cet excellent tutoriel : Run your end‐to‐end encrypted chat server using Matrix and Riot.

Par défaut, Matrix et Synapse utilise le serveur STUN de Google (issue 501) car c’est utile pour faire fonctionner l’audio‐vidéo si vous êtes derrière une box de FAI, par exemple.

Pour l’instant, pour être vraiment indépendant de Google ou si vous voulez traverser un pare‐feu difficile (typiquement dans une entreprise), vous pouvez installer un serveur TURN. Voici comment faire avec Synapse et coturn.

Riot, un client populaire

Afin de vous faire une idée de Matrix et Riot, rien de plus facile que d’aller sur l’application Web Riot pour, par exemple, accéder au salon #riot:matrix.org regroupant les développeurs et la communauté Riot (pas de création de compte requise) ou se créer un compte et ensuite discuter avec l’agent conversationnel (chat bot) @riot-bot:matrix.org. Cela permet de se faire une idée des possibilités avant d’installer l’application sur votre bureau ou sur votre téléphone mobile.

Je vous invite d’ailleurs à venir faire un tour ici pour discuter de la dépêche : accès au salon LinuxFr via le client Riot.

À noter que Riot n’est pas encore complètement finalisé, mais qu’il y a une certaine attention aux détails. Par exemple, l’implémentation des notifications poussées est intéressante : Riot’s magical push notifications in iOS.

En revanche, l’application Riot sous Android peut être très gourmande en énergie lorsque Google Cloud Messaging n’est pas disponible (par exemple, en utilisant F-Droid sans installer les GApps), car dans ce cas‐là les notifications poussées ne fonctionnent pas.

Le projet peut‐il réussir ?

La notion de réussite est bien entendu toute relative. Mais, dans le cas d’un outil de communication, la réussite peut se mesurer à la taille du réseau (loi de Metcalfe), car l’outil n’a que peu d’utilité s’il n’y a pas grand monde avec qui communiquer (et il sera alors inévitable que son développement stagne ou périclite).

D’un point de vue grand public, il semblerait que la plupart des protocoles, services et outils de communication ayant réussi dernièrement sont ceux ayant apportés une « killer feature » : ils ont apporté une réelle nouveauté, ou bien tellement amélioré quelque chose par rapport à l’existant que l’on peut parler de « rupture technologique ». Citons par exemple : Facebook, Skype, Instagram, Whatsapp, Snapchat

Note : Il y aussi le succès chinois impressionnant de WeChat, mais son succès est plus difficile à analyser du fait de la politique d’intervention chinoise.

Des messageries instantanées tentent actuellement de percer en se lançant sur le créneau du chiffrement (ou de la vie privée) : Signal ou Telegram.

Note : Chiffrement n’entraîne pas forcément l’impossibilité de censure, comme on vient de le voir avec Telegram qui accepte de supprimer des contenus terroristes.

Si l’on regarde les caractéristiques qui définissent Matrix, on peut se demander si ce sera suffisant pour réussir :

  • logiciel libre : à fonctionnalité équivalente, je ne suis même pas sûr que cela pèse significativement dans la balance par rapport à d’autres facteurs (marketing, par exemple) ;
  • décentralisé : je ne connais aucun logiciel ayant vraiment réussi grâce à sa fonctionnalité de décentralisation ;
  • intégration des fonctions de plusieurs logiciels : le risque est certainement d’être moyen ou bon partout mais pas exceptionnel sur un point en particulier (« Jack of all trades, master of none ») ;
  • interopérable : on pourrait presque penser que c’est un handicap car cela ne pousse pas les utilisateurs à changer.

On peut citer les succès et échecs relatifs du protocole XMPP, de logiciels interopérables comme Trillian ou Pidgin, de Google+ ou Google Hangouts. Cependant, il y a d’autres contre‐exemples comme Facebook Messenger, Apple Facetime, Slack ou Discord, dont les succès ont peut‐être plus à voir avec une expérience utilisateur excellente (en particulier au niveau intégration) qu’avec une technique excellente.

Une des leçons à retenir avec XMPP, est le cas Google Talk. L’un des dangers avec un protocole ouvert c’est qu’un des acteurs utilise la technologie pour attirer les utilisateurs pour ensuite en profiter pour pousser leur propre technologie en parallèle (qui sera, bien entendu, bien mieux compatible avec ses propres services). Et c’est peut‐être exactement ce qu’a fait sciemment ou inconsciemment Google Talk.

Au niveau de la concurrence, outre les protocoles XMPP, IRC et SIP, voici donc quelques logiciels dont les fonctions sont actuellement plus ou moins couvertes par Matrix :
Skype, Whatsapp, Signal, Slack, Discord, Tox, Ring, Wire, SecuShare (Psyc), Zyptonite, Wickr, Telegram, Ricochet, ChatSecure, MatterMost, Mumble, Jitsi, Threema, Briar, Viber, Facetime, Google Hangouts, Google Duo, Mastodon, Facebook Messenger, Semaphor, Trello, Ricochet, OnionShare, Kik, SnapChat, Asana, HipChat, TeamSpeak, Delta Chat, BlueJeans, Jabber

Enfin, même Amazon vient de se lancer sur le créneau avec son Anytime (sans doute pour imiter le succès de WeChat).

Certains ont tenté de comparer les différentes solutions entre elles :

On voit donc que le chemin semble relativement ardu pour Matrix, ils n’ont clairement pas choisi la voie la plus facile (et c’est tout à leur honneur).

Mais il semblerait que l’engouement soit là ; si l’on regarde ces deux graphiques :


Encore un autre standard ?

Je mets le lien vers le fameux comics XKCD, car de toutes façons il y aura toujours quelqu’un pour le faire :

Les développeurs de Matrix (et à ce stade presque tous les développeurs) sont conscients de ce comics et des écueils associés. Ils ont quand même le mérite de tenter de résoudre le problème plutôt que de juste se satisfaire de l’état existant.

Concurrence avec les autres protocoles décentralisés et passerelles

Les protocoles décentralisés ne sont pas vraiment en « concurrence » les uns avec les autres au sens traditionnel du terme.
La plupart des développeurs travaillant sur le thème de la décentralisation partagent souvent la même idéologie et les mêmes objectifs, souvent en opposition avec toute une industrie essayant de garder leurs utilisateurs en otages dans leurs silos respectifs (cf. discussion sur le sujet).

Du coup, la valeur d’un réseau décentralisé est à évaluer (loi de Metcalfe) en fonction de l’ensemble des utilisateurs des réseaux décentralisés (pour peu qu’il existe des passerelles entre les réseaux).

Ainsi, Matrix peut fonctionner avec des passerelles (bridges) permettant de communiquer avec d’autres réseaux et protocoles (comme IRC ou XMPP) : Matrix Application Services.

Pourriel

On peut affirmer sans trop se tromper que le courriel indésirable, autrement appelé pourriel ou spam en anglais, est un des fléaux qui empoisonnent l’utilisation du courrier électronique.
Cela atteint un tel point qu’il devient difficile d’héberger son propre serveur de messagerie, car on peut être rapidement placé sur liste noire (« blacklisté ») par les principaux fournisseurs de messagerie électronique (Gmail par exemple). La conséquence indirecte est que cela a tendance à concentrer les pouvoirs dans un nombre plus restreint de fournisseurs (et donc à dé‐fédérer).

Actuellement, il n’y a pas grand‐chose de disponible pour lutter contre les abus (pourriels, propagande, messages injurieux, alternative factsfake news et autres). Il n’y a même rien en développement si ce n’est une grosse réflexion sur ce qu’il faudrait faire. Si vous avez des idées sur le sujet, c’est le moment idéal pour participer.

Mais cela pourrait être un axe très intéressant de développement car c’est un problème contre lequel butte tous les grands acteurs comme Google, Facebook ou Twitter (à l’aide de milliers de modérateurs).

Conclusion

Pour mon cas d’utilisation (discussions informelles entre amis et avec la famille), l’état actuel est complètement utilisable. Un soin particulier a en effet été apporté pour que l’interface utilisateur soit accessible et pas trop confuse. Du coup, je n’ai pas eu de difficulté particulière à convaincre des utilisateurs à me rejoindre (ils ont juste eu à aller sur leur magasin d’application favori et de télécharger l’application).

Limitations

Pour vous donner une idée un peu concrète des limitations actuelles, voici quelques exemples de soucis que j’ai rencontrés pour mon cas d’utilisation (cependant, d’autres personnes auraient sans doute choisi de souligner d’autres choses plus importantes à leurs yeux).

Pour celui qui administre un homeserver, la gestion est encore très manuelle :

Le chiffrement de bout en bout (e2e encryption) fonctionne sur le principe, mais il reste du travail pour que ce soit vraiment utilisable :

  • l’identité des participants d’un salon est (pour l’instant) toujours en clair ;
  • les métadonnées associées aux messages sont aussi (pour l’instant) toujours en clair ;
  • l’interface utilisateur pour échanger les clefs entre clients est encore très manuelle et assez pénible (issue #2996) ;
  • quelqu’un rejoignant en cours de route un salon chiffré n’a pas accès aux messages précédant son arrivée (issue #2286).

La visioconférence à plusieurs (trois personnes et plus) ne fonctionne pas très bien et nécessite que votre homeserver soit fédéré (mais la migration vers une solution autour de Jitsi est en cours) (issue #1869).

La gestion de groupes d’utilisateurs (afin de pouvoir concurrencer Slack et Discord) est prévue très prochainement, mais n’est pas encore disponible (issue #3842).

Le partage d’écran dans une discussion vidéo fonctionne mais n’est pas encore vraiment public (il faut cliquer sur le bouton vidéo en maintenant appuyée la touche majuscule) et il n’est pas encore possible de partager juste une fenêtre (issue #3025)

Il n’y a pour le moment rien pour lutter contre le pourriel, cela tombe bien, car il n’y en a pas encore. Ce serait presque une marque de reconnaissance, « un problème que l’on aimerait avoir », car cela signifierait que le succès est suffisamment indéniable pour que les spammeurs s’intéressent à Matrix.
En particulier, votre identité d’utilisateur (par exemple @nom:example.com) n’est pas très privée et se retrouve sur l’annuaire public des utilisateurs (user directory) dès que vous participez à un salon public (un peu comme si votre adresse de courriel se retrouvait dans un annuaire global public si vous êtes présent dans une liste de diffusion publique).

Enfin, il faut avouer que le nom « Matrix » n’est pas très « SEO‐Friendly » et évolue peut‐être en terrain miné. Si, par exemple, on cherche « Matrix IoT », on tombe sur un autre Matrix qui se présente comme « The World’s First IoT App Ecosystem ». De même, si l’on cherche « Matrix VR », on tombe sur plein de résultats qui n’ont rien à voir avec Matrix.org.

Aider le projet Matrix

Matrix est développé depuis 2014 sous l’impulsion initiale de deux employés de Amdocs : Matthew Hodgson et Amandine Le Pape (qui est inscrite sur LinuxFr !). Aujourd’hui, Matrix.org n’a pour l’instant pas de statut particulier (association à but non lucratif ou fondation, par exemple).

Matrix s’est développé très rapidement ces derniers temps, grâce au fait que onze personnes étaient payées ou sponsorisés par Amdocs (et aussi OpenMarket) pour travailler spécifiquement dessus. Cependant, la société a décidé dernièrement de réduire les fonds alloués de 60 %, ce qui met le projet soudainement dans une situation difficile.

Les développeurs font donc appel à la communauté pour pouvoir en partie financer le développement : A Call to Arms: Supporting Matrix!

Télécharger ce contenu au format Epub

Lire les commentaires

Revue de presse — juillet 2017

19 juillet, 2017 - 18:20

L’été est là et son lot de numéros doubles de vos magazines préférés que vous retrouverez en kiosque aussi. Voici notre revue de la presse papier, celle que vous pouvez encore trouver, en 2017, chez votre marchand de journaux.

Au sommaire de ce mois‐ci, il y a du Raspberry Pi, forcément, mais pas que. Il y a aussi :

  • GNU/Linux Magazine France no 206, pour lequel nous ne ferons que paraphraser ici le Pr Hammond : « Je déteste valgrinder Duke Nukem 3D, bordel ! Mélanger comme ça la détection d’erreur avec le jeu vidéo… C’est mieux de faire les choses dans l’ordre ». Sur quoi, Georges aurait répondu « Va te faire branler, trotskard. » ;
  • Linux Pratique no 102, qui vous remet d’office à la programmation par l’exemple avec la réalisation d’un jeu type Pong avec le langage Processing. Mais aussi l’installation de Mastodon, de la diffusion avec VLC, le chiffrement complet de l’ordinateur ou encore l’immanquable cahier dédié au Raspberry Pi ;
  • MISC magazine no 92 revient sur les techniques de « reverse engineering » et les outils actuels pour parvenir à ses fins en fonction de la plateforme. Les smarts cities (suite et fin ?) et aussi du cul ! Enfin, plus sérieusement (MISC oblige), l’analyse d’un sex toy connecté (ils l’avaient oublié dans le hors‐série toujours en vente d’ailleurs) ;
  • Hackable Magazine no 19 toujours à fond sur la bidouille, l’Arduino (émetteur 443 MHz), le Raspberry Pi (supervision) et des liaisons radio pour sextobjets connectés sur le réseau LoRa ;
  • Linux Pratique hors‐série no 39 refait le tour du shell et de la ligne de commande ;
  • GNU/Linux Magazine hors‐série no 91, point de RaspPi, mais de l’Android et la création d’une application de Geocaching afin de découvrir les aspects avancés de la programmation pour ce système d’exploitation pour mobiles (structuration projet, manipulation des capteurs, communication Bluetooth, SMS et la partie publication au monde incluant toute l’interaction avec le Play Store et les possibilités de monétisation ;
  • Linux Inside nos 35 et 36, après l’ultime, voici le guide pratique et le spécial projets Raspberry Pi ;
  • et Linux Identity offre cette fois du Tails avec son petit guide, en plus de la cohorte habituelle des kits, packs et starters pour récupérer des distributions en masse sur d’innombrables CDDVD‐ROM contenant de l’Ubuntu en pagaille, Xubuntu, Ubuntu GNOME, Ubuntu Mentholée, Ubuntu Origins (aka Debian) et Tails. On le répète, mais on attend toujours la clef USB !

Et toujours :

  • Planète Linux no 96, avec Linux Mint 18.1, Korora 25 et AntiX 16 ;
  • MISC hors‐série no 15 : la sécurité des objets connectés.
GNU/Linux Magazine no 206

Linux Pratique no 102

MISC no 92

Hackable Magazine no 19

Linux Pratique hors‐série no 39

GNU/Linux Magazine hors‐série no 91

Linux Inside nos 35 et 36

Télécharger ce contenu au format Epub

Lire les commentaires

Version 2.11 de la billetterie e‐venement

19 juillet, 2017 - 18:12

e‐venement est un logiciel libre de billetterie informatisée sous licence GPL. La version 2.11, XI.I Samhain, est sortie fin juin 2017.

Moins technique sur les usages que les précédentes, elle augmente l’expérience de l’utilisateur au travers d’ajouts ergonomiques, de personnalisation des données affichées, d’aides à la saisie et de stockage d’informations pertinentes à son métier.

Cette nouvelle version d’e‐venement apporte comme toutes les précédentes son lot de nouveautés et de corrections de bogues. Mais elle amorce à elle seule le virage vers le futur d’e‐venement. On notera en particulier l’apparition d'une API de vente en ligne.

De nouvelles orientations

Des choix importants se sont profilés au cours de son développement et ont amené à repenser les actuels et futurs développements.

De nouvelles fonctionnalités, mises en place au travers de services internes et en particulier utilisées par de nouvelles API (dont une API de vente en ligne), offrent de nouvelles perspectives en termes d’innovation et de continuité avec les futures versions d’e‐venement. Nous nous rapprochons doucement mais sûrement de la version 3 d‘e‐venement.

Le tournant est pris, la volonté suit. Que cette nouvelle mouture d’e‐venement apporte à tous, utilisateurs, intégrateurs et développeurs, l’envie d’aller toujours plus loin dans ce métier passionnant qu’est la billetterie.

Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 29 de l’année 2017

17 juillet, 2017 - 12:10

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 17 événements (0 en Belgique, 15 en France, 0 au Luxembourg, 2 au Québec, en Suisse et 0 en Tunisie) est en seconde partie de dépêche.

Sommaire [QC Montréal] (3L)-Logiciels Libres en liberté - Le lundi 17 juillet 2017 de 18h00 à 21h00.

Accueil rencontre:
(3L)-Logiciels Libres en liberté groupe d’utilisateurs de Logiciels Libres, de niveau débutant qui tiendra sa rencontre régulière mensuelle tout les 3ième lundi de chaque mois.Amener vos portables et votre bonne humeur. Venez  jaser sur les logiciels libres, Nous montrer vos découvertes, poser vos questions?

[FR Lyon] Debian et Cie - Le lundi 17 juillet 2017 de 19h30 à 21h30.

Atelier Debian - ALDIL

En moyenne, tous les 3èmes lundi de chaque mois, l'ALDIL, Association Lyonnaise pour le Développement de l'Informatique Libre organise des ateliers autour du système d'exploitation GNU/Linux Debian.

L'occasion de découvrir et d'échanger avec les membres de la communauté ses trucs et astuces.

Chaque atelier s'articule autour d'un thème pour découvrir de nouvelles fonctionnalités ou approfondir ses connaissances.

Ces ateliers ont lieu à la MJC Montchat de 19h à 21h30 au : 53, rue Charles Richard, 69003 Lyon.

Ces ateliers sont ouverts à tous… libres et gratuits

[FR Reims] G.L.O.U. - Le mardi 18 juillet 2017 de 18h00 à 20h30.

Le G.L.O.U. est l'occasion de boire un coup entre amis des libertés, et de discuter de tout et de rien.

Les vacances d'été ont commencé, mais l'association est toujours là.

Nous vous proposons de se retrouver autour d'un verre, condition primordiale, avec ou sans alcool, mardi 18 juillet 2017 à 18h00.

Lieu

Grand comptoir de Reims
à l'intérieur de la Gare de Reims centre.

[FR Paris] Atelier Emacs - Le mardi 18 juillet 2017 de 19h00 à 22h00.

Nous sommes quelques emacsiens à nous réunir à Paris pour apprendre les uns des autres : c’est ouvert aux non-emacsiens, aux débutants, aux utilisateurs avancés et aux vimistes !

Le prochain atelier aura lieu le mardi 18 juillet de 19h à 22h chez inno3.fr, au 137 Boulevard de Magenta 75010 Paris.

Nous commencerons avec un petit tour de table, puis Bastien fera une brève introduction au langage Emacs Lisp.

Le nombre de participants est limité à 12.

Pour vous inscrire, il vous suffit d'envoyer un mail à Bastien : bzg@bzg.fr

[FR Grenoble] TupperVim - Le mardi 18 juillet 2017 de 19h00 à 23h00.

La Guilde des Utilisateurs d'Informatique Libre du Dauphiné organise un atelier TupperVim.

Le format est à mi chemin entre un atelier pratique et un apéro informel, pour échanger des trucs et astuces sur le célèbre éditeur de texte.

N'hésitez pas à venir, débutants ou confirmés, pour apprendre des choses, discuter avec d'autres vimistes, et prendre l'apéro.

[FR Callian] Linux et les Logiciels Libres - Le mercredi 19 juillet 2017 de 18h00 à 21h00.

Venez découvrir Linux et les logiciels libres, mais aussi vous faire aider avec votre matériel informatique quel qu'il soit, imprimante, box, tablette, smartphone y compris.

Cette année, nos objectifs évoluent, c'est à dire les logiciels libres restent comme l'objectif principal, mais aussi d'aider les gens avec leur matériel informatique quel qu'il soit, imprimante, box, tablette smartphone y compris.

Venez avec vos machines même sous Windows ou Mac/os, nous ne vous laisserons pas tomber, nous considérons, que vous n'êtes pas responsable de l'hégémonie commerciale des produits non libres.

Mais pourquoi venir aux réunions ?
1°) Découvrir, Essayer, Installer Linux
2°) Régler vos problèmes Windows ou Mac

Venez nombreux, même par curiosité ! Les animateurs seront heureux de vous accueillir et nous insistons.

L'accès est totalement libre et gratuit !

Merci de vous inscrire par mail et d'indiquer le soucis à régler si besoin.

[FR Perpignan] Initiation Programmation - Apéro Coding - Le mercredi 19 juillet 2017 de 18h00 à 21h00.

Atelier Initiation Programmation suivi d'un apéro à partir de 19H au hackerspace de Perpignan le Alicelab.

Venez avec votre portable, places limitées, contacter Stephane (téléphone sur le site du alicelab.fr) pour plus de renseignements.

[QC Montréal] Meetup Technologies Web et Logiciels Libres - Le mercredi 19 juillet 2017 de 18h00 à 20h00.

Le 19 juillet rejoignez-nous pour une séance autour de 2 thématiques :
1/ Présentation de Angular
2/ Docker : comment mettre en place son environnement de développement personnel ?

[FR Champs-sur-Marne] Mapathon Missing Maps - Le mercredi 19 juillet 2017 de 18h30 à 21h30.

Venez nous aider à cartographier sur OpenStreetMap, la carte du monde collaborative et libre !

CartONG, et le FOSS4G Europe vous invitent à un mapathon Missing Maps pour découvrir la cartographie participative et humanitaire dans OpenStreetMap : pas besoin d'être un expert, c'est accessible à tout le monde !

Pourquoi ?

L’objectif du projet Missing Maps est de créer des cartes pour les zones de crise des pays en voie de développement qui en ont le plus besoin. En effet, on peut penser qu'aujourd'hui toutes les parties du monde sont cartographiées, mais en réalité nombreuses régions ne possèdent encore aucunes cartes. L'objectif de Missing Maps est donc de cartographier toutes ces zones encore invisibles sur les cartes, pour permettre par la suite aux collectivités locales et acteurs de l'humanitaire de pouvoir agir plus efficacement en cas de crise. 

Comment ? 

Avec la plateforme de cartographie libre et contributive OpenStreetMap (OSM, le « Wikipédia des cartes ») un outil formidable pour « remplir les blancs », n'importe qui peut participer à la cartographie de n'importe quelle zone de la planète : il suffit d'un ordinateur, d'une souris et d'une connexion internet ! Grâce à la couverture globale d'image satellites disponible aujourd'hui, il est possible de tracer facilement routes, bâtiments ou cours d'eau, autant d'informations très utiles pour les organisations humanitaires et de développement sur le terrain.
 

Le programme de la soirée

Nous vous proposons de découvrir comment contribuer à OpenStreetMap durant un « mapathon ». Cet événement s'inscrit dans le cadre de l'initiative globale Missing Maps, projet humanitaire qui vise à cartographier en amont les parties du mondes vulnérables aux catastrophes naturelles, crises sanitaires, environnementale, aux conflits et à la pauvreté. 

Au programme :

  • 18h30 : accueil des participants
  • 18h40 : Mot de bienvenue, présentation du projet Missing Maps et du déroulement de la soirée
  • 18h50 : Présentation de la contribution dans OSM
  • 19h00 : Cartographions !

Lightning Talks 

  • 21:30 Fin du mapathon

Où?

A l'ENSG, salle L005, 6 et 8 Avenue Blaise Pascal Cité Descartes - Champs-sur-Marne 77455 Marne la Vallée Cedex 2

Un grand merci à l'ENSG et le FOSS4G Europe pour l'accueil et le soutient

Venez nombreux, et n'oubliez pas votre ordinateur portable, et souri(re)s !

[FR Chartres] OpenAtelier - Le mercredi 19 juillet 2017 de 20h00 à 23h59.

L'OpenAtelier est un moment de rencontre et de partage ou les membres et curieux sont invités à échanger sur leurs idées et leurs projets.

Les espaces techniques sont également ouverts aux réalisations (électronique, informatique, menuiserie, impression 3D, découpe vinyle…).

Pour les curieux, c'est le bon moment pour venir découvrir l'association et ses membres.

[FR Toulouse] Rencontre Tetalab - Le mercredi 19 juillet 2017 de 21h00 à 23h00.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

[FR Paris] Soirée de Contribution au Libre - Le jeudi 20 juillet 2017 de 19h30 à 22h30.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

Nous nous réunissons donc tous les dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

Regazouillez sur Twitter - Wiki des soirées

Programme non exhaustif

  • Fedora (sa traduction)
  • Parinux, ses bugs et son infrastructure
  • April, … y a toujours quelque chose à faire
  • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
  • Schema racktables, son code
  • Agenda du Libre, mise à jour et amélioration du code
  • Ubuntu-Fr, son orga, ses événements
  • En vente libre, maintenance et commandes
  • Open street map, une fois par mois
  • Linux-Fr sait faire

tout nouveau projet est le bienvenu.

[FR Montpellier] Les logiciels libres, parlons-en ! - Le vendredi 21 juillet 2017 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?

Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00, au 19, rue du Faubourg de Nîmes, 34000 Montpellier.

L’idée est de s’informer et d’informer les adhérents des diverses associations sur le fonctionnement du lieu et des associations, et notamment sur les 5 partenaires qui l’animent et lui permettent ainsi d’exister (autour.com, L’Accorderie, enercoop, modulauto, La Nef). Lors de cette permanence partagée vous pourrez rencontrer les associations La Graine (monnaie locale de Montpellier), éCOhabitons, Montpellier à pied, et bien sûr Montpel’libre.

Alors, si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante.
Montpel’libre est une association et un groupe d’utilisateurs (GULL), qui propose une multitude d’activités dans le cadre de la promotion des logiciels libres, et des Communs.
Depuis longtemps déjà, Montpel’libre participe à l’économie sociale et solidaire en organisant tout un éventail d’ateliers et de manifestations, au développement durable et à l’innovation sociale au travers de permanences et ateliers de présentations des logiciels libres et évidement les cartoparties, véritable actions citoyennes, sur le thème de l’accessibilité des personnes en situation de handicap.
L’activité économique, l’intérêt collectif, le fonctionnement démocratique, autant d’éléments que porte Montpel’libre, en proposant un accès entièrement libre et gratuit à une éducation populaire, au travers de ses ateliers à destination de tous les publics.

Les logiciels libres parlons-en ! Ouvrons le dialogue sur l’ouverture des données ! Partageons nos expériences pour une meilleure répartition des connaissances.

Ces permanences sont suivies d’un Apéro « refaire le monde » convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00 :

  • vendredi 7 juillet 2017 de 17h00 à 19h00
  • vendredi 21 juillet 2017 de 17h00 à 19h00
  • vendredi 28 juillet 2017 de 17h00 à 19h00

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement est proposé dans le cadre du partenariat qui lie le Faubourg Marché et Montpel’libre.

Vendredis 7, 21 et 28 juillet 2017 de 17h00 à 19h00
Le Faubourg - 15, rue du Faubourg de Nîmes, 34000 Montpellier

Tramway lignes 1, 2 et 4 arrêt Corum
GPS Latitude : 43.614186 | Longitude : 3.881404
Carte OpenStreetMap

[FR Villeneuve d'Ascq] Libre à Vous - Le samedi 22 juillet 2017 de 09h00 à 12h00.

Vous souhaitez tester GNU/Linux sur votre ordinateur, vous recherchez un logiciel pour une fonction précise, des conseils ou de l'aide sur les logiciels libres?

Libre à Vous est une permanence destinée à vous faciliter l'utilisation de l'informatique. Vous repartirez avec « le plein » de logiciels libres, fiables, évolutifs, performants et gratuits.

C'est chaque samedi matin au Centre d'Infos Jeunes à la ferme Dupire, 80 rue Yves Decugis à Villeneuve d'Ascq (métro Triolo) de 9h00 à 12h00.

Entrée Libre. Tout Public.

[FR Valenciennes] Permanence ValLibre - Le samedi 22 juillet 2017 de 09h30 à 12h00.

Permanence assistance informatique.

Dépannage petits bobos informatiques.

Initiation à l'informatique libre.

Tous les samedis ouvrables sauf les derniers samedis du mois et les samedis en période de vacances scolaires.

Si besoin particulier, la prise de rendez-vous est fortement conseillée.

Téléphone accueil MQCV : 03 27 22 43 90

[FR La Couronne] Permanence - accueil public - Le samedi 22 juillet 2017 de 10h00 à 13h00.

Notre permanence d'accueil avec le sourire, le café et les gâteaux !

Lieu de rencontre et d'échange convivial pour discuter informatique et outils numériques.

Cette association permet à chacun de découvrir également l'univers de Linux et par extension de tous les **logiciels* et matériels libres*.

Entrée Libre. Tout Public. 

[FR Valenciennes] Atelier (wiki) HainautPédi@ - Le samedi 22 juillet 2017 de 10h00 à 12h00.

Atelier pour les contributions au wiki territorial HainautPédi@

http://hainautpedia.vallibre.fr

Les ateliers HainautPédi@ sont organisés pour que les contributeurs se rencontrent et fassent évoluer ensemble le contenu du wiki.

Ces séance sont à accès libre, elles permettent également aux personnes intéressées de prendre contact avec la communauté afin d'apprendre concrètement le fonctionnement du projet.

Lors d'un atelier, des machines sont accessibles pour compléter le wiki ou simplement expérimenter.

Rendez-vous à l'espace numérique de la bibliothèque municipale de Valenciennes. Dernier samedi du mois.

Télécharger ce contenu au format Epub

Lire les commentaires

Paris Open Source Summit 2017 — Rappel — Appel à communications

17 juillet, 2017 - 00:07

Organisé par le pôle Systematic, avec le soutien de la région Île‐de‐France et de la ville de Paris et opéré par Weyou Group, la troisième édition du Paris Open Source Summit se tiendra les 6 et 7 décembre prochains, avec plus de 150 exposants et partenaires, 100 conférences et 5 000 visiteurs attendus.

L’appel à communications est ouvert jusqu’au mardi 25 juillet 2017 à minuit, sur les thématiques Tech, Solutions et Ecosystem.

Il convient de rappeler que Paris Open Source Summit est le fruit de la fusion de Solutions Linux et de l’Open World Forum, ce qui en fait un évènement particulièrement important.

Voyez la seconde partie de l’article pour plus d’informations.

Le Paris Open Source Summit est à la fois une vitrine de l’écosystème francophone, une chambre d’écho internationale et un lieu de rencontres professionnelles et de collaboration. Il se veut être le premier événement européen de la filière du Libre et de l’open source.

« Enabling Digital Everywhere »

L’édition 2017 s’articulera autour de la révolution du numérique, qui atteint tous les territoires et impacte tous les domaines.
Le numérique est devenu nécessaire pour l’ensemble des activités et des métiers, même parmi les plus traditionnels. Aujourd’hui les aspects collaboratifs, nomadisme et ouverture, ainsi que l’émergence de nouveaux horizons comme la blockchain, l’Internet des objets, le cloud, l’intelligence artificielle, l’e‐commerce ou le Big data sont l’avenir et déjà le quotidien de l’industrie.

Le numérique est générateur d’énormes opportunités d’innovations qui nécessitent un contexte de confiance pour être pleinement concrétisées. Il doit donc être associé à une logique d’ouverture, de mutualisation, de pérennité et de souveraineté.

L’Open Source et les modèles ouverts, sur lesquels reposent aujourd’hui massivement le numérique, est une réponse à ces nécessités.

Cette édition 2017 de l’OSS de Paris aura ainsi à cœur de mettre en lumière la place du Libre et de l’Open Source, dans la révolution numérique de nos sociétés.

Comité de programme

Élu en mars dernier à la tête du comité de programme du Paris Open Source Summit 2017, Pierre Baudracco, fondateur de la société BlueMind, s’est entouré de personnalités reconnues du monde de l’Open Source pour élaborer ce programme 2017 :

  • VP Tech et DevOps : Jonathan Clarke, cofondateur de Normation, organisateur de DevOps-Rex ;
  • VP Solutions : Laurent Séguin, directeur commercial et marketing de l’éditeur Maarch, président de l’AFUL ;
  • VP Ecosystem : Bastien Guerry, entrepreneur d’intérêt général pour le ministère de la Culture, ancien salarié de Wikimedia, cofondateur d’OLPC France, contributeur d’Emacs ;
  • VP international : Éric Adja, directeur adjoint de la francophonie économique et numérique à l’OIF (Organisation internationale de la francophonie) ;
  • VP grand utilisateur : Alain Voiment, directeur technique adjoint de la Société Générale.
Appel à communications

Partagez vos expériences sur les trois thématiques à l’honneur cette année :

Tech

Destinée aux technophiles, à ceux qui font tourner nos infrastructures, celles‐la même où l’adoption généralisée du logiciel libre a commencé, et à ceux qui innovent encore et toujours avec les technologies de demain. Elle ouvrira le capot des applications qui nous entourent pour explorer toutes les couches qui les font tourner : de l’infrastructure du data‐center au cloud et aux conteneurs, la gestion en production par déploiement automatique ou configuration continue et les innovations technologiques autour des données et de l’utilisateur final.

Solutions

Destinée principalement aux utilisateurs finals, entreprises, administrations, collectivités ou toute organisation. L’objectif est de présenter des réponses opérationnelles de solutions Open Source pour les nouveaux usages du numérique, ainsi que pour les besoins métier nouveaux ou en mutation.

Ecosystem

Il accueillera les analyses et réflexions sur les enjeux de société liés au mouvement du logiciel libre, sur le « Libre » au‐delà du logiciel, sur les modèles économiques des biens communs informationnels, sur la place du logiciel libre en France et dans la francophonie et au‐delà, en Europe et dans le monde. Le thème « L’Open Source et le droit » sera organisé en collaboration avec EOLE (European Free and Open Source Law Event).

Sponsors
  • Diamond : Inria ;
  • Platinium : Alterway, Smile ;
  • Gold : BlueMind, Henix, Red Hat, SensioLabs ;
  • Silver : Axelor, Centreon, Cozy.io, XiVo.
Télécharger ce contenu au format Epub

Lire les commentaires

Les journaux LinuxFr.org les mieux notés du mois de juin 2017

16 juillet, 2017 - 08:26

LinuxFr.org propose des dépêches et articles, soumis par tout un chacun, puis revus et corrigés par l’équipe de modération avant publication. C’est la partie la plus visible de LinuxFr.org, ce sont les dépêches qui sont le plus lues et suivies, sur le site, via Atom/RSS, ou bien via partage par messagerie instantanée, par courriel, ou encore via médias sociaux.

Ce que l’on sait moins, c’est que LinuxFr.org vous propose également à tous de tenir vos propres articles directement publiables, sans validation a priori des modérateurs. Ceux‐ci s’appellent des journaux. Voici un florilège d’une dizaine de ces journaux parmi les mieux notés par les utilisateurs… qui notent. Lumière sur ceux du mois de juin passé.

Télécharger ce contenu au format Epub

Lire les commentaires

OCaml 4.04 et 4.05

16 juillet, 2017 - 08:26

La version 4.05.0 du langage OCaml vient d’être publiée, le 13 juillet 2017 ; quelque mois après la sortie de la version 4.04.0, annoncée le 4 novembre 2016. OCaml est un langage fonctionnel de la famille des langages ML (dont font partie SML et F#). Il s’agit d’un langage fonctionnel multi‐paradigme fortement typé qui permet de mélanger librement les paradigmes fonctionnel, impératif et objet.

Il s’agit des deux premières versions après le passage à un cycle court de développement (6 mois). Elles contiennent assez peu de changements majeurs et peuvent être considérées comme des versions de maturation, en particulier pour la nouvelle phase d’optimisation Flambda introduite dans la version 4.03.

On note cependant l’intégration de deux nouveaux outils dans le compilateur : un profileur de mémoire et un fuzzer ; mais aussi quelques améliorations du langage et de la bibliothèque standard. Pas mal de changements ont aussi eu lieu dans les entrailles du compilateur et n’ont pas encore débouché sur des changements visibles à la surface du langage.

Une des nouveautés les plus surprenantes de ces cycles de développement est probablement l’apparition d’une nouvelle syntaxe alternative à OCaml, nommé Reason(ml), sous l’impulsion d’une équipe de Facebook.

Sommaire Outils de développement

Du côté des outils de développement, deux nouveaux outils ont été intégrés à la distribution OCaml: un profileur de mémoire, Spacetime, et un fuzzer, afl-fuzzer.

Spacetime: profileur de mémoire

Le nouveau profileur de mémoire baptisé spacetime n’est pas activé par défaut à cause de son impact sur la performance et la mémoire des processus profilés. Il est cependant aisément disponible à travers un switch opam, le gestionnaire de paquets d’OCaml qui gère aussi les versions installées du compilateur Ocaml. Installer un compilateur OCaml avec le prise en charge de spacetime activée se fait avec une simple ligne :

$ opam switch 4.05.0+spacetime

Une fois spacetime activé, n’importe quel programme peut être profilé en définissant la variable d’environnement OCAML_SPACETIME_INTERVAL. On peut, par exemple, s’intéresser à la consommation mémoire lors de l’analyse des dépendances du compilateur :

$ OCAML_SPACETIME_INTERVAL=50 codept ocaml-compiler

Les traces sont ensuite sauvegardées sous la forme spacetime-$process-id et peuvent être analysées grâce à l’outil perf_spacetime qui dispose d’un mode terminal et d’un mode service Web permettant d’explorer en détails la consommation mémoire.

Dans le cas illustré, on peut voir que la consommation de la mémoire se structure en cycles composés d’une phase d’exploration durant laquelle la consommation de la mémoire croît, suivie d’une phase de résolution qui permet au ramasse‐miettes de collecter la majorité de la mémoire utilisée dans la phase précédente.

Intégration de afl-fuzzer

American fuzzy lop (aussi connu sous le nom de afl-fuzzer) est un fuzzer, c’est‐à‐dire un outil pour tester des logiciels en leur injectant des données aléatoires en entrée.

Contrairement à la plupart des fuzzers, afl-fuzzers va plus loin que la simple injection de données aléatoires non corrélées : il observe le comportement interne du programme testé pour essayer de forger des données d’entrée qui vont explorer de nouvelles branches du code à éprouver. Cela permet d’améliorer le taux de couverture du test, au prix d’une nécessaire instrumentation du code. La mouture 4.05 d’OCaml permet désormais d’ajouter cette instrumentation au code compilé grâce à une simple option de compilation.

Comme exemple basique d’utilisation, on peut considérer ce code qui échoue sur un cas très particulier :

let () = let s = read_line () in if String.length s > 5 then match s.[0], s.[1], s.[2], s.[3], s.[4] with | 'e', 'c' , 'h', 'e', 'c' -> failwith "Échec improbable" | _ -> ()

Pour analyser ce code avec afl fuzzer, il suffit d’utiliser la nouvelle option -afl-instrument d’ocamlopt, fournir quelques cas de base, puis de lancer afl-fuzz lui‐même, qui va utiliser un algorithme générique sur ces cas de base pour générer de nouveaux cas à tester :

ocamlopt -afl-instrument test.ml afl-fuzz -i input -o output ./test.ml

Ce dernier trouve rapidement que, par exemple, echec#Ε$5<ȹpu|Ϧģ fait planter le programme. Cependant, il n’est pas assuré de trouver une entrée minimale (ici « echec ») faisant échouer le programme.

Évolution du langage OCaml Exceptions locales

Parmi les particularités d’OCaml, il y a ces exceptions qui sont suffisamment rapides pour être utilisées en tant que structures de contrôle. OCaml 4.04 introduit une notation simplifiée pour les exceptions locales :

let recherche_premier (type a) predicat table= let exception Trouve of a in try Array.iter (fun x -> if predicat x then raise (Trouve x) ) table; None with Trouve x -> Some x

Avant l’introduction de cette nouvelle notation, il fallait passer par un module local pour définir l’exception :

let recherche_premier (type a) predicat table= let module M = struct exception Trouve of a end in try Array.iter (fun x -> if predicat x then raise (M.Trouve x) ) table; None with M.Trouve x -> Some x

De plus, dans le futur, ces exceptions locales pourraient faire l’objet d’optimisations spécifiques.

Ouverture locale de module dans les motifs

Une des nouveautés d’OCaml 4.04 est la possibilité d’ouvrir localement un module à l’intérieur d’un motif :

module M = struct type t = A | B | C type u = List of t list | Array of t array end let est_ce_la_liste_ABC x = match x with | M.( List [A;B;C] ) -> true | _ -> false

Comme dans le cas des expressions, ouvrir localement un module permet d’importer les types et valeurs dans la portée (scope) courante sans polluer la portée en dehors du motif. Cette construction permet également de rétablir une certaine symétrie entre motifs et expressions, comme dans l’exemple suivant uniquement valide depuis OCaml 4.04 :

module N = struct type r = { x : int } end let N.{ x } (* { x } est un motif ici *) = N.{ x = 1 } (* { x = 1} est une expression de ce côté-ci *) Représentation en mémoire optimisée

Il est désormais possible d’optimiser la représentation en mémoire des variants avec un seul constructeur et un seul argument ou des enregistrements avec un seul champ en les annotant avec [@@unboxed] :

type 'a s = A of 'a [@@unboxed] type 'a r = { f: 'a } [@@unboxed]

Sans l’annotation [@@unboxed], ces deux types seraient représentés en mémoire sous la forme d’un bloc OCaml composé d’un en‐tête et d’un champ :

┌────────┬───────────┐ │ entête │ champs[0] │ └────────┴───────────┘

Pour des types plus complexes, l’en‐tête contient des informations sur le nombre de champs dans le bloc et sur l’étiquette du constructeur. Cependant, pour ces cas particuliers, l’en‐tête n’apporte aucune information et il est possible de l’élider.

Cette optimisation est particulièrement utile dans le cadre des types algébriques généralisés, puisqu’elle permet d’introduire des types existentiels sans payer de coût en mémoire. Par exemple, si l’on souhaite oublier le type des éléments d’une liste, on peut introduire le type algébrique généralisé suivant :

type liste = Any: 'a list -> liste [@@unboxed]

Grâce à l’annotation [@@unboxed], le type liste aura exactement la même représentation en mémoire qu’une liste classique, et représente une version du type 'a list qui interdit toute manipulation dépendante du type 'a des éléments de la liste.

Dans la plupart des cas, cette optimisation est transparente à l’usage. Cependant, les bibliothèques de liaison (bindings) C‐OCaml doivent faire attention à ce changement de représentation en mémoire. Afin d’éviter de briser les bibliothèques de liaison existantes, cette optimisation n’est pas activée par défault, mais doit l’être au cas par cas avec l’annotation[@@unboxed] ou via l’option de compilation -unboxed-types.

Vers des chaînes de caractères immuables

La migration vers des chaînes de caractères immuables, initiée dans OCaml 4.02, se poursuit avec l’apparition d’une option de configuration du compilateur permettant d’en faire le comportement par défaut. Cette option n’est pas encore activée par défaut dans 4.05, mais des discussions sont en cours pour l’activer dans la prochaine version (4.06).

Évolution de la bibliothèque standard

La bibliothèque standard continue d’évoluer doucement, soit pour pallier des incohérences, avec par exemple l’introduction d’une fonction map pour les ensembles Set, soit pour s’adapter à l’évolution du code idiomatique OCaml, avec par exemple l’ajout de variantes de fonctions utilisant des options plutôt que des exceptions pour gérer les éléments manquants dans des Set ou des Map.

Amélioration du compilateur

Ces deux cycles de développements auront vu aussi un grand nombre d’améliorations internes du compilateur et de son écosystème : le système de construction du compilateur est en train de subir un sévère ménage de printemps, tandis que les tests d’intégration continue ont été améliorés, notamment pour mieux supporter les anciennes versions de Windows. Parallèlement, un travail de fond est en cours pour améliorer le déverminage de programme OCaml et préparer le changement de modèle de mémoire nécessaire pour une future version multicœur d’OCaml.

Ces évolutions n’apportent pas encore de changements visibles pour la plupart des utilisateurs, mais devraient porter leurs fruits dans les versions à venir.

Un changement plus visible, même s’il ne concerne essentiellement que des utilisateurs experts, est l’intégration progressive d’une architecture de greffons (plugins) dans le compilateur. Pour l’instant, ces greffons peuvent, par exemple, transformer l’arbre de syntaxe abstrait comme le ferait un préprocesseur basé sur les points d’extensions, effectuer une passe de vérification supplémentaire sur les types inférés par le vérificateur de type du compilateur, ou encore modifier la représentation interne Lambda.

Reason

En dehors de l’évolution du langage lui‐même, un projet inhabituel est né récemment dans les locaux de Facebook1. Ce projet se nomme Reason et a pour but de rénover la syntaxe d’OCaml. Il a été initié par un petit groupe mené par Jordan Walke (le créateur initial de la bibliothèque React).

L’objectif

La raison de Reason (huhu !) est que la syntaxe d’OCaml rebute certaines personnes. Cependant, OCaml s’inscrit de plus en plus dans le milieu industriel (comme le montrent les exemples de Facebook, mais aussi Jane Street, dans une tout autre mesure). Dans un désir de démocratisation, l’équipe ReasonML décida de créer une nouvelle syntaxe pour OCaml du nom de Reason. Comparé à la syntaxe originale d’OCaml, Reason se rapproche de la syntaxe de JavaScript. Par exemple, les accolades et les points‐virgules font un retour en force :

let hello name_opt = let name = match name_opt with | None -> "world" | Some x -> x in Format.printf "Hello %s!" name

devient :

let hello name_opt => { let name = switch name_opt { | None => "world"; | Some n => n; }; Format.printf "Hello %s!" name }

D’une certaine manière Rust a eu la même idée en proposant une syntaxe très proche du C++. Elixir rejoint le même objectif dans une autre mesure.

La syntaxe de Reason essaye également d’augmenter la cohérence interne de la syntaxe et de corriger des erreurs historiques. Par exemple, les constructeurs de types se lisent de droite à gauche comme les fonctions dans Reason :

type constructeur_de_type 'argument = { id:int, x:'argument }

L’objectif est, bien entendu, plus large et a amorcé notamment un élan autour des outils qui peuvent aider le développeur à utiliser OCaml. Le top‐level interactif amélioré utop, qui semble unanimement reconnu comme étant l’outil pour tester du code OCaml, fut réutilisé pour Reason et l’accueil auprès des nouveaux développeurs (extérieurs à la communauté OCaml) fut couronné de succès.

Le service d’aide à l’édition merlin, qui permet d’intégrer la coloration syntaxique, mais aussi l’inférence de type dans les éditeurs, eut aussi son intégration avec Reason et tout ceci apporta une légitimité à la continuation de ces projets pour Reason mais aussi pour OCaml.

Enfin, le gestionnaire de paquets opam reste toujours la pierre angulaire de l’écosystème d’OCaml et donc l’est aussi par définition pour Reason. Ce dernier se voit donc désormais utilisé par des gens n’ayant pas forcément en tête les subtilités de l’écosystème d’OCaml (comme ocamlfind).

Au‐delà de cette nouvelle syntaxe, l’équipe de Reason attache donc une attention particulière à l’environnement de développement d’OCaml. Cela permet notamment d’apporter une réelle critique extérieure aux outils de développement OCaml et en particulier une critique justifiée sur la difficulté de prise en main de ces outils pour un débutant.

Ce qu’est Reason

Reason n’est ni plus ni moins qu’une option dans le compilateur. Nous parlons ici de l’option -pp qui permet de remplacer la partie frontale du compilateur par un préprocesseur ad hoc. Le préprocesseur Reason prend donc du code Reason en entrée, le transforme en arbre de syntaxe abstrait OCaml et passe cet arbre au compilateur OCaml classique.

Ceci permet entre autres de garder la compatibilité avec l’existant et de profiter à la fois des logiciels et bibliothèques déjà développés en OCaml et de la nouvelle syntaxe Reason, et réciproquement. Il existe d’ailleurs un outil permettant de convertir du code OCaml vers du code Reason !

Partager la partie centrale du compilateur permet également d’utiliser les différents back‐ends disponibles pour OCaml. En particulier, OCaml dispose de deux back‐ends JavaScript : js_of_ocaml et bucklescript. Le premier, js_of_ocaml, est plus ancré dans l’écosystème OCaml, tandis que le second, bucklescript, est plus tourné vers l’écosystème JavaScript et dispose d’une intégration avec npm, un gestionnaire de paquets JavaScript.

Grâce à ces back‐ends, l’équipe ReasonML a pu convertir environ 25 % du code de FaceBook Messenger en code Reason.

Un avenir imprévisible

On peut cependant s’interroger sur l’interaction de la communauté OCaml existante et de cette nouvelle communauté Reason, bien plus centrée sur le Web, l’écosphère JavaScript et npm. Les atomes crochus n’abondent pas forcément entre ces deux communautés.

Le bon point reste tout de même l’ouverture de l’écosystème d’OCaml à des développeurs qui ne faisaient pas de l’OCaml. Cela permet notamment d’apporter des perspectives neuves et de revitaliser des problématiques de développement parfois oubliées dans l’écosystème OCaml.

Le succès n’est peut‐être pas au rendez‐vous et le projet a encore besoin de faire ses preuves auprès d’un large public (problématique qu’on peut corréler avec Hack auprès de ceux qui font du PHP d’ailleurs). Mais le retour ne semble être que bénéfique au final pour l’ensemble des communautés !

  1. elle a été extérieure puisqu’elle a été initiée par Facebook alors que ce dernier ne faisait pas encore partie du consortium OCaml. 

Télécharger ce contenu au format Epub

Lire les commentaires

Fedora 26 est sortie !

11 juillet, 2017 - 16:57

En ce mardi 11 juillet 2017, le projet Fedora est fier d’annoncer la sortie de la distribution GNU/Linux Fedora 26.

Fedora est une distribution communautaire développée par le projet éponyme et sponsorisée par Red Hat, qui lui fournit des développeurs ainsi que des moyens financiers et logistiques. Fedora peut se voir comme une sorte de vitrine technologique pour le monde du logiciel libre, c’est pourquoi elle est prompte à inclure des nouveautés.

Sommaire Environnement bureautique

L’environnement bureautique par défaut, GNOME, évolue à la version 3.24. Cette version propose entre autres :

  • les icônes du projet GNOME ont été redessinées, pour être plus grandes et modernes ;
  • la mise à disposition du mode nuit, pour que les couleurs de l’interface passent progressivement au rouge durant la nuit pour prévenir la fatigue oculaire ;
  • un rafraîchissement de l’interface du centre de configuration, pour la simplifier et la rendre plus cohérente avec le reste : par exemple, vous pourrez voir le niveau d’encre de vos imprimantes sans avoir à les sélectionner ;
  • la nouvelle application Recettes, pour lire, rédiger ou évaluer des recettes de cuisine ;
  • les tablettes Wacom sont prises en charge sous Wayland et leur configuration a été raffinée ;
  • la zone de notification a été améliorée et propose en plus les informations météorologiques ;
  • des corrections et des nouvelles fonctionnalités dans les applications Photos, Web, Polari, Builder, etc.

Utilisation de l’interface graphique de blivet pour le partitionnement dans l’installateur Anaconda, en plus de l’interface traditionnelle. L’objectif est de fournir une autre approche pour cette étape cruciale afin de satisfaire les besoins du plus grand nombre, c’est pourquoi l’interface traditionnelle reste disponible. L’approche d’Anaconda était top‐down, à savoir que l’utilisateur définissait ses points de montage et ses propriétés afin qu’Anaconda définisse les partitions correspondantes et leur agencement. Avec blivet, c’est plutôt l’inverse car les disques et leurs états sont affichés pour que l’utilisateur puisse concevoir les partitions et volumes logiques avant de définir à la fin les points de montage. Cette interface est donc plus proche de ce que propose GParted.

Le pilote Synaptics pour les pavés tactiles, dans les sessions Xorg, est remplacé par libinput. Le paquet xorg-x11-drv-synaptics est donc supprimé par défaut, mais reste disponible dans les dépôts pour ceux qui le souhaitent. L’objectif est de mutualiser cette partie avec Wayland (qui repose sur libinput également) et de bénéficier de ses options de configuration et autres fonctionnalités comme la gestion des gestes (comme zoomer en pinçant) et du multi‐point.

Création d’une image dédiée (dite spin) avec l’environnement LXQt par défaut. Cet environnement de bureau repose sur la bibliothèque Qt, tout comme KDE par exemple, et était disponible depuis Fedora 22 dans les dépôts. Cet environnement se veut cependant plus léger que KDE en restant plus simple. Il est donc possible pour ses utilisateurs d’installer Fedora avec uniquement cet environnement, sans recourir à un environnement intermédiaire ou à une installation textuelle.

Fedora Media Writer prend en charge les images ARM. L’installateur officiel et recommandé pour générer et écrire vos images de Fedora sur vos médias d’installation gère donc plus d’architectures. Pour rendre cela possible, FMW gère mieux les cartes SD, qui sont préférées aux clés USB sur cette architecture généralement. Les cartes à base de processeurs ARM officiellement supportées pour le moment sont les Raspberry 2 et 3.

Passage des adresses virtuelles de 42 à 48 bits pour l’architecture AARCH64, ce qui devrait améliorer les performances pour ces processeurs. L’objectif est que les processus puissent bénéficier de plus de mémoire virtuelle. Cela permet dans la foulée de pouvoir mieux exploiter les machines ayant une grande portion de la mémoire vive dans les adresses hautes. Il a fallu corriger entre autres les paquets mozjs et luajit pour activer ce changement.

Mise à jour de libpinyin vers la version 2.0 pour les entrées de saisies en chinois Pinyin. Le Pinyin est la méthode officielle de translittération du chinois en alphabet latin qui repose sur la prononciation des mots. Par exemple, Pékin, en français, s’écrit 北京 en chinois traditionnel et Běijīng en Pinyin. Cette nouvelle version propose plusieurs phrases de suggestions à la volée plutôt qu’une seule, pour améliorer l’efficacité de la saisie.

Administration système

Les utilisateurs locaux identifiés avec le démon sssd bénéficient d’un cache de fichiers locaux plus rapide. En effet, le cache mémoire de sssd entrait en conflit avec nscd qui était donc désactivé, ce qui ruinait les performances pour les accès aux fichiers. Dorénavant, le cache de fichiers provient de sss du projet NSS améliorant à nouveau les performances du système dans ce cas.

La machine virtuelle Java OpenJDK et le projet OpenSSH rejoignent les politiques de sécurité de GnuTLS, NSS et OpenSSL en utilisant la même politique de sécurité de mots de passe qu’eux. En effet, depuis quelques versions de Fedora, les utilitaires pouvant avoir une politique de mots de passe, par exemple de huit caractères avec au moins un chiffre et deux majuscules, bénéficient peu à peu de l’unification de cette politique. En définissant la politique une fois via l’utilitaire update-crypto-policies, elle sera disponible pour l’ensemble des applications compatibles.

systemd-coredump est activé par défaut. coredumpctl était en effet en conflit avec ABRT pour la gestion des fichiers core (vidage mémoire) des applications non officiellement empaquetées dans Fedora, chacun changeant /proc/sys/kernel/core_pattern, et ABRT avait le dernier mot. Maintenant, abrt-ccpp.service est désactivé par défaut pour laisser systemd prendre la main, ce comportement étant réversible. ABRT étant plus utilisée pour l’assurance qualité et systemd par les développeurs, la politique par défaut actuelle convient donc mieux, car ABRT est moins utile pour des crashes d’applications non empaquetées que systemd et vice versa pour les applications empaquetées par Fedora. Cela n’a un impact que pour les applications compilées, les exceptions en Python ou Java sont toujours du ressort d’ABRT.

Mise à disposition d’une image Docker minimale pour réduire au maximum la taille des conteneurs. Il est possible de l’étendre via dnf ensuite, et prochainement de la personnaliser et de la générer via kickstart. L’objectif est de les rendre plus légères en cas d’utilisation intensive tout en laissant le choix à son utilisateur de la personnaliser pour que l’image Docker n’ait que le strict nécessaire.

L’image Docker utilise maintenant OverlayFS 2 par défaut afin d’améliorer les performances. Cela permet à l’image Docker de partager en partie les ressources présentes dans votre installation principale ; en mutualisant les fichiers et les accès nous disposons donc mécaniquement de plus d’espace disque et de meilleures performances. Attention cependant, ce système de fichiers n’est pas totalement conforme au standard POSIX, ce qui peut causer des bogues dans certains programmes exécutés dans les conteneurs. Il est toujours possible de retourner au mode DeviceMapper utilisé jusqu’à présent.

Toujours à propos de Docker et de Python, son SDK exploitable par Python est disponible en version 2, conformément aux décisions du projet officiel qui est mis à disposition dans le paquet python3-docker. L’ancienne version reste disponible grâce au paquet python-docker-py, mais il devrait être supprimé dès Fedora 27.

Le répertoire de cache de Fontconfig passe de /var/cache/fontconfig à /usr/lib/fontconfig/cache pour mieux fonctionner sur le système à base d’OSTree, à savoir Fedora Atomic.

Authconfig a été nettoyé, supprimant la gestion de Hesiod, mais aussi l’interface utilisateur, que ce soit l’interface graphique ou l’interface en mode texte (TUI). En effet, cet outil d’aide à la configuration des utilisateurs PAM, Kerberos ou LDAP avait de nombreuses portions de code non maintenu, notamment les interfaces utilisateur, car plus nécessaires, remplacées entre autres par des outils d’auto‐configuration tels que SSSD ou Realmd qui font ce travail convenablement. Authconfig est donc conservé pour des opérations plus manuelles, nécessaires dans certains cas (comme PAM ou NSSWITCH), et ne conserve de fait que le strict minimum pour remplir son rôle avec une certaine valeur ajoutée. Le code sera également plus simple à maintenir à l’avenir.

La bibliothèque de gestion des cartes cryptographiques PKCS#11 Coolkey est remplacée par OpenSC par défaut, pour une suppression prévue lors de la sortie de Fedora 27. Les deux étaient jusque‐là utilisées conjointement à cause notamment de la bibliothèque NSS qui employait encore Coolkey. Cependant, ce dernier n’est plus vraiment maintenu, alors qu’OpenSC bénéfice, entre autres, de nouveaux pilotes pour les cartes les plus récentes. La présence des deux, en plus d’être redondante, créait de la confusion lors de la configuration des systèmes.

L’interpréteur de Python 3 passe la gestion de la locale par défaut C à C.UTF-8, sauf si la variable d’environnement PYTHONCOERCECLOCALE vaut 0. Cela est particulièrement important pour les environnements cloisonnés tels que Docker, Flatpak, OpenShift ou lors de la création des paquets dans rpmbuild et mock, car les erreurs d’encodage du texte y sont fréquentes faute de paramétrage correcte de la locale du système qui se rabattait dès lors sur la locale C qui utilise le codage ASCII. Le passage à l’UTF-8 permettra donc la gestion correcte des chaînes de caractères dans la majorité des cas dans ce contexte, la variable d’environnement proposée permettant de régler les éventuels problèmes générés par ce changement.

Le serveur DNS BIND a une mise à jour vers la version 9.11. Cette version comporte de nombreuses nouvelles fonctionnalités et des comportements ont changé, n’hésitez donc pas à lire les notes de versions complètes pour éviter les surprises. Nous pouvons noter entre autres : l’ajout d’un module Python pour effectuer des commandes rndc, un nouveau gestionnaire de clés DNSSEC dnssec-keymgr, l’interrogation des serveurs par nslookup par défaut, aussi bien en IPv4 qu’en IPv6, le nombre d’écouteurs de requêtes UDP est maintenant lié au nombre de processeurs de la machine, et bien plus encore.

Mise à jour d’OpenSSL à la version 1.1.0. Cette version est la nouvelle branche bénéficiant de nouvelles fonctionnalités tout en ayant un grand nettoyage de ses API et ABI. Les algorithmes SSL v2 et 3DES ne sont plus activés par défaut, pour des raisons de sécurité, de nombreuses structures deviennent opaques pour faciliter l’évolution de l’API, de nombreuses options et portions de codes mortes ont été supprimées. La compatibilité avec la version précédente est maintenu via le paquet compat-openssl10

Le gestionnaire de paquets par défaut, DNF, passe à la version 2.0. Une rupture d’API a eu lieu, supprimant la compatibilité avec quelques extensions. Elle ajoute l’option --with-optional pour l’installation des groupes, afin d’installer aussi les paquets recommandés par le groupe. Des options de YUM (son prédécesseur) font leur retour : includepkgs et excludepkgs, pour établir des règles de sélections des paquets pour cette commande.

Développement

Fedora 26 dispose de la suite de compilateurs GCC dans sa version 7. Cette version propose des suggestions de noms en cas d’erreurs pour des macros, fonctions ou types dans les langages C et C++. Pour ces mêmes langages, les opérations arithmétiques peuvent être contrôlées pour détecter des dépassements. Le C++17 est géré à titre expérimental. Le Go est pris en charge dans sa version 1.8, alors que Java n’est plus proposé via GCJ. Enfin, Fortran dispose de la gestion d’OpenMP 4.5.

La bibliothèque standard Glibc progresse à la version 2.25. Au menu, principalement une implémentation de la norme ISO TS 18661-1:2014 concernant la partie mathématique. Cette norme ajoutant, par exemple, des macros pour identifier les valeurs NaN, de nouvelles fonctions d’arrondis, la transformation des flottants en chaînes de caractères ou des fonctions de classification, comme dire si un nombre est bien un zéro.

La bibliothèque majeure du C++ Boost donne un coup de boost à la version 1.63. Depuis la dernière version embarquée, la 1.60, Boost bénéficie du module QVM pour manipuler les quaternions, les vecteurs et matrices à tailles fixes. Un module Compute apparaît aussi pour la prise en charge du calcul parallèle, notamment sur processeur graphique à travers OpenCL. Un dernier module, Fiber, apporte un complément à la gestion des fils d’exécution.

Le langage Python rampe à la version 3.6. Parmi les nouveautés, les arguments donnés à une fonction sont ordonnés, tout comme l’ordre des attributs dans une classe, et la possibilité d’utiliser directement le nom des variables dans une chaîne de caractères pour gagner en lisibilité. Les classes disposant d’une implémentation de la fonction ''fspath'' peuvent bénéficier du protocole de manipulation des chemins de fichiers. Une classe mère peut forcer l’exécution de fonctions particulières à ses classes filles. Et, tout comme désormais le C++, Python propose d’améliorer la lisibilité des grands nombres en autorisant des séparations de blocs de chiffres par '''' comme _100000 devient 100_000.

Mise à disposition d’une nouvelle variante Fedora Lab centrée sur le développement autour de Python, disponible également par Docker et Vagrant. Cette initiative vise à aider les professeurs ou animateurs d’ateliers en leur mettant à disposition une image de Fedora prête à l’emploi pour ce genre d’activité.

Le compilateur de Haskell GHC passe à la version 8.0. Cette version s’est concentrée sur la possibilité de personnaliser les messages d’erreurs de type, l’interpréteur peut être exécuté dans un processus externe, offrant la possibilité d’étudier les performances du programme, la gestion de plus d’architectures matérielles dont une amélioration à propos d’ARM. Le format de données de débogage DWARF est plus fiable. Et une nouvelle documentation !

Le compilateur Go officiel fonce à la version 1.8. Cette nouvelle amélioration dans la chaîne de compilation propose des performances améliorées du binaire de 15 à 30 %, le ramasse‐miettes est lui aussi plus rapide et des changements assez mineurs sont apportés aux bibliothèques.

Le compilateur du langage D, LDC, donne la réponse 1.1.0 concernant sa version. Les amateurs du langage pourront bénéficier de l’ajout de l’optimiseur, lors de l’édition de liens provenant de LLVM, de fonctions mathématiques plus optimisées. L’ajout également des optimisations par profil, ce qui permet de gagner en performances. Ce dernier point analyse en fait le flux du programme (le nombre de fois qu’une fonction est appelée, le lien entre les classes, etc.) pour optimiser les chemins les plus souvent exécutés au détriment des autres. Cela aboutit à environ 5 à 10 % de gain. Là encore, au détriment du temps de compilation.

Le langage Ruby brille dans sa version 2.4. Comme pour beaucoup de langages cités précédemment, les performances sont la source de toutes les attentions. Tout d’abord, les tables de hachage via un changement de structure interne. Mais aussi les minimums et maximums des tableaux, les accès à des variables d’instance ou les correspondances des expressions rationnelles sont aussi plus rapides. Conformément à la norme ISO/IEC 30170:2012 sur les nombres entiers, Ruby s’est autorisé à fusionner les classes BigNum et Fixnum en Integer pour la gestion des entiers. Enfin, les fonctions de gestion des caractères, comme définir la minuscule d’un caractère, prennent en charge l’Unicode et non uniquement l’ASCII.

Le langage PHP s’impose avec la version 7.1. Les arguments ou retours de fonctions peuvent prendre pour valeur NULL pour signifier une erreur, de même que les fonctions qui ne retournent rien. Les membres constants d’une classe peuvent bénéficier d’une définition de leur visibilité (privé, protégé ou public). L’ajout des itérateurs pour parcourir un objet implémentant l’interface traversable. Les blocs try {} catch() {}_ peuvent gérer plusieurs exceptions parcatch()`. Et comme d’autres langages tel que Python, l’index des chaînes de caractères peut être négatif. Enfin, ajout des gestionnaires de signaux asynchrones.

Mais la patrouille des éléphants bénéficie aussi d’une mise à jour du cadriciel Zend à la version 3. Au menu, de meilleures performances, de l’ordre d’un facteur 4. La compatibilité avec PHP 7. Un meilleur découpage des modules et une documentation plus complète sont aussi disponibles. Cela permet, entre autres, de développer les modules séparément et donc de proposer des améliorations plus souvent. Pour finir, il propose la possibilité d’utiliser Zend comme un micro-cadriciel et non plus uniquement l’architecture complète en MVC, si besoin.

pkgconf est maintenant l’implémentation de référence pour le système pkgconfig, qui était géré par pkg-config jusqu’ici. Ce programme qui interprète les fichiers .pc pour retrouver les bibliothèques installées sur le système de manière standard et multi‐plate‐forme. Cette nouvelle implémentation possède un meilleur gestionnaire de performances, n’a pas de dépendance avec la glib2, qui entraînait une dépendance circulaire, et gère plus de fonctionnalités offertes par ces fichiers, comme les provides et CFLAGS.private. Vous pouvez consulter ce tableau comparatif entre les deux solutions pour en savoir plus.

Autour de Fedora

Les CFLAGS par défaut des paquets ont changé pour les programmes C et C++ pour supprimer l’optimisation concernant les processeurs Atom, afin d’accélérer le fonctionnement des programmes pour les autres processeurs i686. D’autant plus que non seulement l’Atom n’est plus commercialisé, mais aussi que Fedora ne prend pas en charge leur UEFI 32 bits.

Les paquets reposant sur le langage Go bénéficieront par défaut de l’option Position Independent Executables, pour plus de sécurité. Cette option, déjà activée pour les programmes C et C++ depuis un moment, permet de complexifier la tâche des attaquants qui essayeraient d’exploiter des failles de sécurité à des adresses précises du programme, les adresses variant à chaque fois pour chaque machine.

Mise à disposition comme expérimentale de la modularité dans une déclinaison de Fedora Server nommée Boltron. L’objectif de la modularité est d’implémenter les résolutions prises du projet Fedora.NEXT, dont le but est de pouvoir utiliser des logiciels, ou plus exactement des piles applicatives, en dehors des cycles de développement de Fedora.

Par exemple, Fedora 26 propose par défaut Node.js en version 6.10. Sauf que la version 8 est disponible et que faute d’applications compatibles et de support assez long de Node.js, Fedora ne l’utilise pas encore. Vous pouvez donc installer la version 8 en utilisant la commande :

dnf install nodejs-8

Pour revenir à la version par défaut de Node.js pour Fedora 26, il suffit de faire :

dnf install nodejs-f26

Pour l’instant, ce sont surtout des piles applicatives qui sont prises en charge : PHP, Apache, MariaDB, PostgreSQL, DHCP, Perl, etc. Notons que c’est encore en expérimental et que les possibilités offertes restent pour l’instant limitées. Vous pouvez suivre sur YouTube leurs progrès hebdomadaires.

La communauté francophone Rencontres Fedora 26

L’association Borsalinux-fr, qui gère la promotion de Fedora dans l’espace francophone, a organisé les Rencontres de Fedora 26 le 1er juillet à Paris pour présenter Fedora et la (future) Fedora 26 qui est sortie plus tard que prévu.

Outre l’aide apportée à quelques visiteurs, cela a été l’occasion de dispenser trois présentations dont les supports sont disponibles ci‐dessous :

Pour assurer la continuité de ce genre d’initiatives et poursuivre notre présence à des évènements tels que les RMLL, nous sommes toujours à la recherche de nouveaux membres.

La traduction

D’après le dernier état des lieux de début juillet 2017, la traduction française est dans l’état suivant :

  • sites Web : 100 % ;
  • documentation : 38 % ;
  • logiciels liés à Fedora : 100 % ;
  • paquets prioritaires : 99,3 % ;
  • autres paquets : 47,7 %.

La langue française est donc parmi les meilleures traductions de Fedora en termes de couverture, la documentation est en retrait car l’équipe de la documentation entreprend depuis un an un véritable changement de son infrastructure, complexifiant sa production dans les temps pour une traduction pertinente.

Si vous souhaitez donner un coup de main, n’hésitez pas à rejoindre l’équipe, il y a toujours du travail pour avoir une distribution bien traduite !

La documentation francophone

Fedora-fr dispose de son propre wiki, pour écrire sa documentation indépendante, pour guider les nouveaux venus, résoudre des problèmes courants ou autres.

Cependant, depuis 2011-2012, la documentation n’était plus vraiment maintenue et cela commençait à se ressentir sur la qualité des documents qui devenaient obsolètes.
C’est pourquoi, depuis début juin 2017, des ateliers hebdomadaires ont lieu chaque lundi soir à partir de 21 h sur IRC pour remédier au problème.

Depuis de nombreuses pages ont été corrigées et le travail continue. N’hésitez pas aussi à contribuer également !

De manière générale, vous pouvez également participer au projet Fedora.

Fedora 27

La prochaine version de Fedora est prévue pour fin octobre 2017.

À ce stade, outre les mises à jour habituelles, nous aurons normalement le droit à :

  • la disparition des versions alpha, au profit d’une meilleure stabilité de la branche en développement Rawhide ;
  • une intégration par défaut des pilotes invités de VirtualBox ;
  • une clarification de ce qui est configuré lors de l’installation via Anaconda et en post‐installation sur chaque environnement de bureau (en particulier GNOME) ;
  • un recours plus important et mieux intégré aux applications disponibles par Flatpak.

Bien sûr, nous vous donnons rendez‐vous à sa date de sortie pour faire un point plus complet.

Télécharger ce contenu au format Epub

Lire les commentaires

Meilleures contributions LinuxFr.org : les primées de juin 2017

10 juillet, 2017 - 18:30

Nous continuons sur notre lancée de récompenser ceux qui chaque mois contribuent au site LinuxFr.org (dépêches, commentaires, logos, journaux, correctifs, etc.). Vous n’êtes pas sans risquer de gagner un abonnement à GNU/Linux Magazine France ou encore un livre des éditions Eyrolles ou ENI. Voici les gagnants du mois de juin 2017 :

Abonnement d’un an à GNU/Linux Magazine France (éditions Diamond)

Livres des éditions Eyrolles et ENI

Les livres qu’ils ont sélectionnés sont en seconde partie de la dépêche. N’oubliez pas de contribuer, LinuxFr.org vit pour vous et par vous !

Certains gagnants n’ont pas pu être joints ou n’ont pas répondu. Les lots ont été réattribués automatiquement. N’oubliez pas de mettre une adresse de courriel valable dans votre compte ou lors de la proposition d’une dépêche. En effet, c’est notre seul moyen de vous contacter, que ce soit pour les lots ou des questions sur votre dépêche lors de sa modération. Tous nos remerciements aux contributeurs du site ainsi qu’à GNU/Linux Magazine France, aux éditions Eyrolles et ENI.

Les livres sélectionnés par les gagnants :

                        Télécharger ce contenu au format Epub

Lire les commentaires

Agenda du Libre pour la semaine 28 de l’année 2017

8 juillet, 2017 - 19:55

Calendrier Web, regroupant des événements liés au Libre (logiciel, salon, atelier, install party, conférence), annoncés par leurs organisateurs. Voici un récapitulatif de la semaine à venir. Le détail de chacun de ces 13 événements (0 en Belgique, 11 en France, 0 au Luxembourg, 2 au Québec et 0 en Suisse) est en seconde partie de dépêche.

On peut noter que l’Agenda du Libre est désormais disponible pour deux nouveaux pays, le Luxembourg et la Tunisie. Comme ils viennent d’être créés, ils sont vides pour le moment, n’hésitez pas à les remplir.

Sommaire [FR Montpellier] WikiPermanence - Le lundi 10 juillet 2017 de 20h00 à 22h00.

Une WikiPermanence est une rencontre physique entre des wikipédiens chevronnés et de nouveaux ou futurs wikipédiens qui souhaitent acquérir des connaissances et des conseils sur le fonctionnement de Wikipédia. Il ne s’agit pas d’une simple rencontre entre wikipédiens : la WikiPermanence est là pour répondre aux questions, permettre des démonstrations, offrir une aide aux premiers pas et, si cela se fait régulièrement, permettre un suivi.

Elles nous permettront d’aborder les sujets tels que :

  • Un instant est prévu pour l’initiation des débutants
  • Journées contributives Wikipédia à Arles
  • Liberté de panorama
  • Présentation du guide pratique des groupes locaux
  • Le partenariat avec les archives départementales de l’Hérault
  • Préparer les prochains WikiCheeses
  • Planifier la prochaine Opération Libre
  • Impulser une dynamique
  • Promouvoir la diffusion de la connaissance libre
  • Apprendre à contribuer
  • Échanger des expériences
  • Faire un bilan des événements passés
  • Faire des perspectives pour les actions futures
  • Et tout simplement, passer un moment convivial

N’hésitez pas à venir : c’est sans inscription, et vous l’aurez deviné, libre et gratuit !

Wikipédia est une encyclopédie libre rédigée collaborativement par des milliers d’internautes. Mais, saviez-vous que vous pouviez y participer ? En apportant des connaissances, en créant ou améliorant des articles, en prenant des photos, ou simplement en corrigeant des fautes, vous pouvez contribuer à ce grand projet d’encyclopédie collaborative.

Alors, venez participer aux rendez-vous des WikiPermanences de Montpellier qui auront lieu à l’Atelier de Pigistes, le deuxième lundi de chaque mois, de 18h00 à 20h00 :

  • lundi 12 septembre 2016 de 18h00 à 20h00
  • lundi 10 octobre 2016 de 18h00 à 20h00
  • lundi 14 novembre 2016 de 18h00 à 20h00
  • lundi 12 décembre 2016 de 18h00 à 20h00
  • lundi 9 janvier 2017 de 18h00 à 20h00
  • lundi 13 février 2017 de 18h00 à 20h00
  • lundi 13 mars 2017 de 18h00 à 20h00
  • lundi 10 avril 2017 de 18h00 à 20h00
  • lundi 8 mai 2017 de 18h00 à 20h00
  • lundi 12 juin 2017 de 18h00 à 20h00
  • lundi 10 juillet 2017 de 18h00 à 20h00

Cet événement est proposé par le tri-partenariat Club de la Presse, Wikipédia et Montpel’libre.

Atelier des Pigistes au 171, rue Frimaire, 34000 Montpellier

Tramway lignes 1 et 3, arrêts Port-Marianne et Rives du Lez
GPS Latitude : 43.603095 | Longitude : 3.898166
Carte OpenStreetMap

[FR Rennes] Réunion mensuelle OpenStreetMap - Le lundi 10 juillet 2017 de 20h00 à 22h00.

L'association Gulliver propose chaque 2e lundi du mois une réunion autour du projet de cartographie collaborative OpenStreetMap.

L'occasion de découvrir le projet, de venir échanger sur les nouveauté, de partager vos initiatives.

[FR Dijon] Rencontre des utilisateurs et des contributeurs de cartographie libre OpenStreetMap - Le mardi 11 juillet 2017 de 20h30 à 23h30.

OpenStreetMap crée et fournit des données géographiques libres, telles que des cartes routières ou cyclables, à quiconque en aura besoin. Cet outil est né parce que la plupart des cartes que vous pensez libres ont des restrictions légales ou techniques qui nous empêchent de les utiliser de façon créative, productive ou innovante.

Les contributeurs OpenStreetMap (OSM) de Dijon et de sa région se rencontrent régulièrement et chacun peut s'inviter et participer. Ces rencontres permettent d'ajouter des données récoltées sur place ou avant la rencontre. Elles permettent également de partager connaissances et outils.

La prochaine rencontre des contributeurs de la région a pour thème "petites contributions et échanges de bonnes pratiques", elle aura lieu le mardi 11 juillet à partir de 20h30 au bar L'Annexe au 47 rue Devosge à Dijon.

Venez nombreux, enfin pas trop quand même :-)

[FR Montpellier] Install Par Tous ! Install Party ! - Le mercredi 12 juillet 2017 de 12h00 à 17h00.

Reprenez le contrôle de vos machines. Avec un Gnou et un Manchot

Communément appelées "Install Party" ces événements sont dédiés à l'installation, mais aussi et surtout au support, de systèmes GNU/Linux sur vos ordinateurs personnels (ou pro d'ailleurs), dans le but de se passer des méchants systèmes d'exploitation qui rament, espionnent, et vous ont été imposés.

Bref reprendre le contrôle de vos machines pour de vrai !

Déroulement typique de l’installation sur un ordi :

  • Discuter ! Savoir quel sont vos attentes pour ce nouveau système : faut-il des outils spécifiques, aurez-vous tout ce qu'il vous faut pour profiter de votre appareil, supportera-t-il telle ou telle techno, etc.
  • Déterminer la bonne distribution en fonction de l'appareil (capacité, mémoire, cpu, etc), mais aussi en fonction de vos attentes.
  • Essayer ! La plupart des distributions linux peuvent tourner sur votre appareil sans les installer (Live) en utilisant uniquement la mémoire vive, sans toucher au disque dur. Cela permet de vérifier qu'elle marche correctement, et qu'elle réponds aux attentes.
  • Backup ! Il est fortement recommandé de faire des sauvegardes de toutes vos données AVANT DE VENIR. Cette étape peut-être longue, fastidieuse, et surtout ne concerne personne d'autre que vous (aucune raison d'avoir vos données qui se baladent sur des disques ou clef USB dans le hackerspace). Mais le cas échéant nous nous doterons d'un moyen de sauvegarde, ou vous amenez le votre, et on sauve tout ce qui peux être sauvé.
  • INSTALL !!! Cette fois-ci c'est parti on installe le système sur le disque dur, en éliminant le précédent (recommandé ;) ), ou en le conservant sur le coté au cas où (but why ?).
  • On finalise enfin l'installation par l'ajout des logiciels dont vous avez besoin, et on en profite pour vous montrer comment le faire vous même, comment se gèrent les mises à jour, et toutes les astuces propre à GNU/linux pour que vous soyez à l'aise dans votre nouvel environnement.

Une fois rentré à la maison avec votre ordinateur tout propre, il se peut que vous rencontriez encore des difficultés (y'a pas de raisons mais ça arrive), pas de problèmes nous avons conçu cet atelier pour qu'il soit régulier et porté également sur le support, l'aide aux nouveaux utilisateurs. Donc notez vos questions, vos problèmes dans un coin, et repassez nous voir la semaine suivante ! (vous pourrez également nous poser des questions sur IRC (chat) ou sur la mailling liste, si vous ne pouvez pas attendre)

En espérant libérer un maximum de vos machines !

[FR Chartres] OpenAtelier - Le mercredi 12 juillet 2017 de 20h00 à 23h59.

L'OpenAtelier est un moment de rencontre et de partage ou les membres et curieux sont invités à échanger sur leurs idées et leurs projets.

Les espaces techniques sont également ouverts aux réalisations (électronique, informatique, menuiserie, impression 3D, découpe vinyle…).

Pour les curieux, c'est le bon moment pour venir découvrir l'association et ses membres.

[FR Toulouse] Rencontre Tetalab - Le mercredi 12 juillet 2017 de 21h00 à 23h00.

Rencontre hebdomadaire des hackers et artistes libristes Toulousains.

[QC Montréal] Atelier du Libre du Club Linux Atomic - Le jeudi 13 juillet 2017 de 18h00 à 21h30.

Le Club Linux Atomic
Le Club Linux Atomic (CLA) regroupe des utilisateurs, novices comme aguerris, de systèmes d’exploitation GNU/Linux et de logiciels libres. Il a pour principal objet de mieux faire connaître l’informatique libre et d’en favoriser l’utilisation par le plus grand nombre.
Atelier du Libre

[FR Paris] Soirée de Contribution au Libre - Le jeudi 13 juillet 2017 de 19h30 à 22h30.

Parinux propose aux utilisateurs de logiciels libres de se réunir régulièrement afin de contribuer à des projets libres. En effet, un logiciel libre est souvent porté par une communauté de bénévoles et dépend d'eux pour que le logiciel évolue.

Nous nous réunissons donc tous les jeudis soirs dans un environnement propice au travail (pas de facebook, pas de télé, pas de jeux vidéos, pas de zombies).

Vous aurez très probablement besoin d'un ordinateur portable, mais électricité et réseau fournis.

En cas de difficulté, vous pouvez joindre un des responsables de la soirée, Emmanuel Seyman (emmanuel (at) seyman.fr), Paul Marques Mota mota (at) parinux.org, ou Magali Garnero (Bookynette) tresorier (at) parinux.org.

Pour obtenir le code d'entrée de la porte cochère, envoyez un mail au responsable.

On peut amener de quoi se restaurer (Franprix, 8 rue du Chemin Vert, ferme à 22h)

Regazouillez sur Twitter - Wiki des soirées

Programme non exhaustif

  • Fedora (sa traduction)
  • Parinux, ses bugs et son infrastructure
  • April, … y a toujours quelque chose à faire
  • Open Food Facts/ Open Beauty Facts, sa base de données, ses contributeurs, sa roadmap
  • Schema racktables, son code
  • Agenda du Libre, mise à jour et amélioration du code
  • Ubuntu-Fr, son orga, ses événements
  • En vente libre, maintenance et commandes
  • Open street map, une fois par mois
  • Linux-Fr sait faire

tout nouveau projet est le bienvenu.

[QC Coteau du Lac] Émission #135 de bloguelinux - Le jeudi 13 juillet 2017 de 20h00 à 22h00.

bloguelinux.ca est un blogue québécois offrant la diffusion d'un podcast qui traite des logiciels libres, du système d'exploitation Linux et de la technologie en général ; il y a un processeur, il y a un système d'exploitation, c'est certain que ça nous intéresse!
bloguelinux.ca est enregistré le jeudi à 20 heures toutes les deux semaines.
Vous pouvez nous écouter en direct lors des enregistrements à l'adresse http://live.bloguelinux.ca ou directement sur notre site à http://www.bloguelinux.ca en cliquant sur la radio dans le panneau de gauche du site.

[FR Montpellier] Les logiciels libres, parlons-en ! - Le vendredi 14 juillet 2017 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?

Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00, au 19, rue du Faubourg de Nîmes, 34000 Montpellier.

L’idée est de s’informer et d’informer les adhérents des diverses associations sur le fonctionnement du lieu et des associations, et notamment sur les 5 partenaires qui l’animent et lui permettent ainsi d’exister (autour.com, L’Accorderie, enercoop, modulauto, La Nef). Lors de cette permanence partagée vous pourrez rencontrer les associations La Graine (monnaie locale de Montpellier), éCOhabitons, Montpellier à pied, et bien sûr Montpel’libre.

Alors, si vous avez un peu de temps le vendredi soir, voici une occupation qui me semble très intéressante.
Montpel’libre est une association et un groupe d’utilisateurs (GULL), qui propose une multitude d’activités dans le cadre de la promotion des logiciels libres, et des Communs.
Depuis longtemps déjà, Montpel’libre participe à l’économie sociale et solidaire en organisant tout un éventail d’ateliers et de manifestations, au développement durable et à l’innovation sociale au travers de permanences et ateliers de présentations des logiciels libres et évidement les cartoparties, véritable actions citoyennes, sur le thème de l’accessibilité des personnes en situation de handicap.
L’activité économique, l’intérêt collectif, le fonctionnement démocratique, autant d’éléments que porte Montpel’libre, en proposant un accès entièrement libre et gratuit à une éducation populaire, au travers de ses ateliers à destination de tous les publics.

Les logiciels libres parlons-en ! Ouvrons le dialogue sur l’ouverture des données ! Partageons nos expériences pour une meilleure répartition des connaissances.

Ces permanences sont suivies d’un Apéro « refaire le monde » convivial et partagé, de 18h30 à 21h30. Elles ont lieu au Faubourg marché, tous les vendredis de 17h00 à 19h00 :

  • vendredi 7 juillet 2017 de 17h00 à 19h00
  • vendredi 21 juillet 2017 de 17h00 à 19h00
  • vendredi 28 juillet 2017 de 17h00 à 19h00

Entrée libre et gratuite sur inscription. Une simple adhésion à l’association est possible.

Cet événement est proposé dans le cadre du partenariat qui lie le Faubourg Marché et Montpel’libre.

Vendredis 7, 21 et 28 juillet 2017 de 17h00 à 19h00
Le Faubourg - 15, rue du Faubourg de Nîmes, 34000 Montpellier

Tramway lignes 1, 2 et 4 arrêt Corum
GPS Latitude : 43.614186 | Longitude : 3.881404
Carte OpenStreetMap

[FR Valenciennes] Permanence ValLibre - Le samedi 15 juillet 2017 de 09h30 à 12h00.

Permanence assistance informatique.

Dépannage petits bobos informatiques.

Initiation à l'informatique libre.

Tous les samedis ouvrables sauf les derniers samedis du mois et les samedis en période de vacances scolaires.

Si besoin particulier, la prise de rendez-vous est fortement conseillée.

Téléphone accueil MQCV : 03 27 22 43 90

[FR La Couronne] Permanence - accueil public - Le samedi 15 juillet 2017 de 10h00 à 13h00.

Notre permanence d'accueil avec le sourire, le café et les gâteaux !

Lieu de rencontre et d'échange convivial pour discuter informatique et outils numériques.

Cette association permet à chacun de découvrir également l'univers de Linux et par extension de tous les **logiciels* et matériels libres*.

Entrée Libre. Tout Public.

[FR Nanterre] Lightning talks de l'Electrolab - Le samedi 15 juillet 2017 de 16h00 à 18h00.

Les Lightning-Talks consistent en de courtes présentation (5 mn max + 3 mn de questions) de projets terminés, en cours, ou toujours en réflexion.

Toutes les personnes qui sont prêtes à partager leurs idées les plus folles devant une foule en délire sont invitées

Vous bénéficierez de retours des membres sur vos choix techniques et probablement de conseils bienvenus.

Télécharger ce contenu au format Epub

Lire les commentaires

PyCon-fr du 21 au 24 septembre 2017 à Toulouse : appel à contributions

7 juillet, 2017 - 14:02

La PyCon-fr 2017 se déroulera cette année du 21 au 24 septembre à Toulouse !

Depuis 2007, l’Association Francophone Python (AFPy) organise une rencontre annuelle des utilisateurs francophones du langage Python sur quelques jours pour échanger autour de leurs expériences, apprendre les uns des autres et se présenter leurs dernières trouvailles au cours d’ateliers, de conférences et de rencontres.

La PyCon-fr est le meilleur moyen de découvrir le langage Python, d’aller plus loin dans son utilisation, de rencontrer les auteurs de bibliothèques que vous utilisez peut‐être tous les jours… et tout simplement de se retrouver le temps d’un week‐end.

Cette année, la PyCon-fr pose ses valises à Toulouse, dans les locaux de l’ENSEEIHT, du 21 au 24 septembre 2017.

La PyCon-fr, c’est 400 visiteurs en moyenne chaque jour, et pas moins de 70 conférences et ateliers :

  • les conférences, de tous niveaux, permettent de découvrir différents usages de Python ;
  • les sprints (ateliers auto‐organisés de programmation) permettent de faire avancer des projets libres et open source.

Les sprints auront lieu les jeudi 21 et vendredi 22. Les conférences et ateliers se dérouleront samedi 23 et dimanche 24. À titre d’exemple, l’an dernier, les associations Bibliothèque sans‐frontières et l’OCA ont pu bénéficier de l’aide de codeurs débutants et chevronnés.

Vous avez une expérience autour de Python à partager ? Vous souhaitez présenter votre dernier projet à la communauté ? Demander de l’aide et/ou exposer vos doutes ? C’est le bon moment : l’appel à oratrices et orateurs est dès à présent ouvert, et ce, jusqu’au 31 juillet ! Que vous soyez une utilisatrice chevronnée ou simplement à la découverte de Python, n’hésitez pas à proposer un sujet : PyCon-fr, c’est avant tout vous. :)

Au niveau du format, nous acceptons des présentations longues (50 min) et courtes (20 min) et des ateliers (à vous de nous préciser leur durée en fonction du besoin).

Voici quelques suggestions de thèmes issus des éditions précédentes :

  • Python dans l’éducation : trucs et astuces pour débuter ou enseigner avec Python ;
  • Internet, le Web, la montée en charge et Python ;
  • la crypto : chiffrement et vie privée ;
  • Python scientifique : calcul scientifique et statistique, machine learning ;
  • au cœur de Python : empaquetage, bibliothèques, tests, profilage, liaison (binding) ;
  • autour de Python : approvisionnement, bases de données, cadriciel JavaScript ;
  • Python dans le réel : fabrication numérique (impression 3D, CNC, IoT…) ;
  • Python dans le futur : PyPy, Python 3 et asyncio ;
  • le Libre avec Python : vos créations ;
  • et aussi, mais surtout, toutes les propositions ne rentrant pas dans ces cases ;).

Parce que vous avez maintenant probablement plein d’idées, vous pouvez utiliser le troisième lien en haut de la dépêche pour proposer votre conférence. Attention, la date limite est fixée au 31 juillet !

Vous pouvez également soutenir la PyCon-fr en devenant sponsor ou en étant volontaire pour aider. À cet effet, une rencontre aura lieu le mardi 11 juillet 2017 au Black Lion pub pour discuter de tout ça.

Télécharger ce contenu au format Epub

Lire les commentaires

Bienvenue à la troisième portée de chatons

7 juillet, 2017 - 12:25

Le Collectif des hébergeurs alternatifs, transparents, ouverts, neutres et solidaires est heureux d’annoncer ce 7 juillet 2017 que la troisième portée a donné naissance à neuf nouveaux Chatons.

Cette portée est très hétéroclite, que ce soit dans la forme des chatons (cela va du père de famille au service commercial) et dans le choix des services proposés.

Galilée (Éclaireuses Éclaireurs de France)

La commission communication interrégionale des Éclaireuses Éclaireurs de France (« scouts laïcs ») « éclés » de Bretagne, Rhône‐Alpes, Provence et Midi‐Pyrénées, propose le serveur Galilée qui permet aux adhérent·e·s d’utiliser des services basés sur des logiciels libres et respectueux des utilisateurs. Les services proposés concernent essentiellement le courriel (boîtes, listes et annuaire) et des outils collaboratifs (wiki, pad, partage de fichiers, etc.).

Tila.im

Tila.im est un simple serveur qu’un utilisateur met à la disposition de ses connaissances. Il s’agit d’un projet plutôt personnel, mais qui a bien compris l’idée de s’approprier les services plutôt que de les sous‐traiter à des sociétés centralisatrices.

Outils‐Conviviaux

Outils‐Conviviaux est un jeune hébergeur associatif qui s’inscrit dans une démarche d’appropriation des technologies qui ne devraient pas être abstraites et gérées par des experts lointains mais proches et personnelles.

Le Retzien libre

Le Retzien libre est une association qui est dans la démarche à laquelle se comparent souvent les Chatons, celle d’une « AMAP informatique ». L’association se propose de fournir des services (messagerie, agenda, sondage, stockage) aux habitants du pays de Retz, avec une vraie envie de faire vivre un usage numérique local.

3hg

Le collectif 3hg est un groupe de Libristes qui ont envie de produire des technologies ensemble sans entrer dans des collectifs existants (si ce n’est celui des Chatons, qui est plus un label qu’un directeur technique). Pour le moment, il fournit des services chiffrés (courriel, pastebin, clavardage) et un accès via un service caché Tor à l’ensemble des services.

Boblecodeur

Boblecodeur est une association qui a pour but de proposer des services informatiques libres et ouverts à tous afin d’aider les professionnels et particuliers dans leur développement informatique et Internet. Il s’agit d’un des rares Chatons ayant une activité commerciale et qui tente de trouver un modèle économique dans le service Internet compatible avec les valeurs des Chatons.

Picasoft

Picasoft est une association étudiante de l’Université de technologie de Compiègne qui a une activité libriste consistant à fournir des service gratuits (outils et hébergement) à tous les publics (grand public, administrations et entreprises privées) et à sensibiliser et former les utilisateurs aux enjeux associés.

pbr18

pbr18 est un très sympathique projet qu’un père de famille a lancé avec son fils de 14 ans pour monter une infrastructure technique basée sur du logiciel libre capable de proposer un hébergement de sites Web. Le Chaton est toujours en cours de gestation, mais la candidature a emballé le collectif. Il prévoit déjà trois formules de service selon les compétences techniques des utilisateurs.

Vincent‐Xavier Jumel

Vincent‐Xavier est un particulier auto‐hébergé qui se propose de partager son infrastructure avec sa famille et quelques collègues.

Télécharger ce contenu au format Epub

Lire les commentaires

Nix pour les développeurs

6 juillet, 2017 - 11:32

Nix est un gestionnaire de paquets « fonctionnel » (basé sur des fonctions, sans effet de bord). Cette caractéristique apporte des avantages indéniables, notamment de pouvoir mettre en place des environnements logiciels isolés, reproductibles et composables. Ceci peut être très utile à un administrateur système mais également à un développeur.

On trouve pas mal d’informations sur l’écosystème Nix et son utilisation, ainsi que des retours d’expérience des utilisateurs. En revanche, les documents à destination des développeurs sont moins nombreux et se limitent souvent à l’utilisation ou à la mise en place d’environnements de développement simples.

Cet article a pour objectif d’illustrer l’intérêt de Nix pour un développeur dans des cas simples et « un peu moins simples ». Pour cela, il se base sur un projet d’exemple en C++ et en Python, mais Nix peut également être utilisé pour d’autres langages. Je ne suis pas un expert en Nix, donc n’hésitez pas à proposer vos remarques ou améliorations dans les commentaires ou sur le dépôt GitHub du projet d’exemple.

Sommaire Introduction Exemple 1 : créer un environnement de développement de test Scénario

Vous avez codé un script Python myscript.py et vous voulez le tester dans un environnement vierge.

# myscript.py import numpy x = numpy.ndarray(42, int) x[0::2] = 13 x[1::2] = 37 print(x) Avec les outils classiques (Python, virtualenv, pip) virtualenv -p /usr/bin/python3 --no-site-packages ~/myvenv source ~/myvenv/bin/activate pip install numpy python myscript.py deactivate rm -rf ~/myvenv Avec Nix nix-shell --pure -p python35Packages.numpy --run "python myscript.py" Exemple 2 : reproduire un environnement de développement Scénario

Vous développez un logiciel myprog en C++, compilé avec Cmake et utilisant la bibliothèque Boost. Vous avez récupéré votre projet sur une nouvelle machine et voulez le compiler.

Avec les outils classiques (par exemple sous Arch Linux) sudo pacman -S gcc cmake boost mkdir build cd build cmake .. make Avec Nix

Au cours du projet, un fichier default.nix est tenu à jour (il indique notamment les dépendances à Cmake et à Boost). Il suffit alors de lancer la commande :

nix-build Exemple 3 : empaqueter un projet Scénario

Le projet myprog de l’exemple précédent vient d’aboutir à une version 0.1 dont le code source est disponible en ligne. Vous voulez l’installer proprement sur votre système.

Avec les outils classiques (par exemple sous Arch Linux) sudo pacman -S base-devel mkdir myprog cd myprog # Écrire un fichier PKGBUILD (avec l’adresse URL de la publication, les dépendances, les instructions de compilation, etc.). makepkg sudo pacman -U myprog-0.1-1-any.pkg.tar.xz

Cette solution fonctionne pour Arch Linux uniquement. Si vous voulez une solution pour Debian ou Fedora, il faut créer les paquets Deb ou RPM correspondants.

Avec Nix cp default.nix release.nix # dans le fichier release.nix, changer la valeur de la variable src par l’URL de la publication nix-env -f release.nix -i myprog

Ici, la solution devrait fonctionner automatiquement pour tout système compatible avec Nix (Arch Linux, Debian, Fedora…).

Exemple 4 : personnaliser des dépendances Scénario

Vous développez des logiciels de traitement d’images utilisant la bibliothèque OpenCV. Pour cela, vous utilisez le paquet OpenCV fourni par la logithèque système. Un de vos logiciels doit utiliser GTK ; malheureusement, le paquet OpenCV a été compilé avec l’option -DWITH_GTK=OFF.

Avec les outils classiques

Bienvenue en enfer… Quelques « solutions » classiques :

  • recompiler OpenCV à partir du code source ; vous pourrez ensuite faire une installation système (mais cela peut impacter les autres logiciels) ou une installation locale (mais il faudra configurer les chemins vers votre OpenCV personnalisé quand vous en aurez besoin) ;
  • utiliser un système d’environnement virtualisé (chroot, Flatpak, Docker…). Pour cela, vous devrez mettre en place le système, puis récupérer une image d’OpenCV compilé avec les bonnes options ou créer votre propre image.
Avec Nix

Les paquets Nix sont paramétrables. Ainsi pour activer l’option GTK 2 du paquet OpenCV, il suffit (presque) d’ajouter la ligne suivante dans le fichier default.nix. La recompilation et la gestion des différentes versions est automatique.

opencv3gtk = pkgs.opencv3.override { enableGtk2 = true; }; Quelques rappels sur Nix Présentation

Nix est un gestionnaire de paquets fonctionnel. Le terme « fonctionnel » est à prendre au sens mathématique : une fonction prend des entrées et produit une sortie, sans réaliser d’effets de bord. Ceci permet de créer des environnements logiciels (compilation, installation et configuration) avec les avantages suivants :

  • les environnements sont reproductibles ;
  • ils sont paramétrables et composables ;
  • ils n’ont jamais besoin d’être dupliqués ;
  • ils sont exécutés nativement.

L’écosystème Nix comporte différents éléments :

  • un langage permettant de décrire un environnement logiciel (appelé nix-expression) ;
  • des outils (nix-build, nix-env, nix-shell…) permettant de construire, installer, exécuter, etc., des nix-expressions ;
  • un dépôt officiel (nixpkgs) de nix-expressions…

Il existe une distribution GNU/Linux (NixOS) directement basée sur ces éléments, mais le système Nix peut être installé sur un système d’exploitation quelconque (GNU/Linux, BSD, macOS) pour y servir de logithèque et de système d’environnement virtuel.

Enfin, Nix a inspiré un système concurrent, nommé GNU Guix. Tout comme Nix, Guix peut être utilisé sur un système d’exploitation classique ou via une distribution dédiée, GuixSD. À la différence de Nix, Guix est basé sur un langage existant (Guile Scheme) et accorde une plus grande importance à l’aspect « logiciel libre ».

Quelques commandes Nix
  • voir les paquets installés :
nix-env -q
  • voir les paquets disponibles contenant le motif "firefox" :
nix-env -qa 'firefox'
  • installer le paquet firefox :
nix-env -i firefox
  • désinstaller le paquet firefox :
nix-env -e firefox

Toutes ces commandes sont utilisables avec les droits utilisateurs et dans l’environnement de l’utilisateur. Les paquets sont gérés par un service (nix-daemon) qui les installe dans un répertoire commun /nix/store et les rend disponibles aux différents utilisateurs.

Projet d’exemple (C++/Python)

Pour illustrer l’utilisation de Nix, on considère un projet type (the_checkerboard_project) qui calcule et affiche des images de damier.

Ce projet est composé d’une bibliothèque C++ (checkerboard) et d’une interface Python (pycheckerboard) contenant la liaison proprement dite et un script Python additionnel.

the_checkerboard_project/ ├── checkerboard │ ├── CMakeLists.txt │ ├── checkerboard.cpp │ ├── checkerboard.hpp │ └── test_checkerboard.cpp └── pycheckerboard ├── setup.py └── src ├── checkerboard │ └── binding.cpp └── pycheckerboard ├── __init__.py └── test1.py

Les fonctions pour calculer un damier et pour afficher une image, en utilisant la bibliothèque OpenCV. La compilation est réalisée via Cmake, qui fait le lien avec OpenCV et qui construit la bibliothèque checkerboard et un exécutable de test.

# checkerboard/CMakeLists.txt cmake_minimum_required( VERSION 3.0 ) project( checkerboard ) # lien avec OpenCV find_package( PkgConfig REQUIRED ) pkg_check_modules( MYPKG REQUIRED opencv ) include_directories( ${MYPKG_INCLUDE_DIRS} ) # bibliothèque checkerboard add_library( checkerboard SHARED checkerboard.cpp ) target_link_libraries( checkerboard ${MYPKG_LIBRARIES} ) install( TARGETS checkerboard DESTINATION lib ) install( FILES checkerboard.hpp DESTINATION "include" ) # exécutable de test add_executable( test_checkerboard test_checkerboard.cpp ) target_link_libraries( test_checkerboard checkerboard ${MYPKG_LIBRARIES} ) install( TARGETS test_checkerboard DESTINATION bin )

L’interface Python est faite avec Boost Python. La liaison (binding.cpp) expose simplement les deux fonctions de la bibliothèque checkerboard. Un script additionnel (test1.py) fournit une fonction et un programme de test. Le tout est compilé dans un paquet Python en utilisant un script setuptools/pip très classique.

# pycheckerboard/setup.py from setuptools import setup, Extension checkerboard_module = Extension('checkerboard_binding', sources = ['src/checkerboard/binding.cpp'], libraries = ['checkerboard', 'boost_python', 'opencv_core', 'opencv_highgui']) setup(name = 'pycheckerboard', version = '0.1', package_dir = {'': 'src'}, packages = ['pycheckerboard'], python_requires = '<3', ext_modules = [checkerboard_module]) Configuration Nix basique

Classiquement (sans Nix), on exécuterait les commandes suivantes pour compiler et installer la bibliothèque checkerboard :

mkdir checkerboard/build cd checkerboard/build cmake .. make sudo make install

Nix permet d’exécuter ces commandes automatiquement. Pour cela, il suffit d’écrire un fichier de configuration default.nix indiquant le nom du paquet, le chemin vers le code source et les dépendances (voir cette dépêche sur l’anatomie d’une dérivation Nix).

# checkerboard/default.nix with import <nixpkgs> {}; with pkgs; stdenv.mkDerivation { name = "checkerboard"; src = ./.; buildInputs = [ cmake pkgconfig opencv3 ]; }

Les dépendances spécifiées ici seront installées automatiquement par Nix, si besoin. Ici la dépendance à Cmake implique que la compilation sera réalisée avec Cmake (cf. les commandes précédentes). La compilation et l‘installation de la bibliothèque checkerboard peuvent alors être lancées avec la commande :

nix-env -f . -i checkerboard

La bibliothèque ainsi que l’exécutable de test sont alors disponibles dans les chemins système, ou plus exactement dans les chemins système vus par l’utilisateur. Cependant, il n’est pas obligatoire d’installer le paquet checkerboard. On peut simplement lancer un shell dans un environnement virtuel contenant le paquet :

nix-shell

Ce mécanisme de shell virtuel propose des fonctionnalités très utiles. Par exemple, partir d’un environnement vierge et exécuter juste une commande dans cet environnement :

nix-shell --pure --run test_checkerboard Configuration Nix modulaire

Au lieu de proposer un paquet complet, on peut découper notre nix-expression (default.nix) en plusieurs modules, appelés dérivations, qui pourront alors être réutilisés ou reparamétrés. Par exemple, pour créer une dérivation opencv3gtk et une dérivation checkerboard :

# checkerboard/default.nix { system ? builtins.currentSystem }: let pkgs = import <nixpkgs> { inherit system; }; in with pkgs; stdenv.mkDerivation rec { opencv3gtk = import ./opencv3gtk.nix { inherit (pkgs) opencv3; }; checkerboard = import ./checkerboard.nix { inherit opencv3gtk; inherit (pkgs) cmake pkgconfig stdenv; }; }

Ces deux dérivations sont implémentées dans des fichiers spécifiques, pour faciliter leur réutilisation. Par exemple, pour checkerboard :

# checkerboard/checkerboard.nix { cmake, opencv3gtk, pkgconfig, stdenv }: stdenv.mkDerivation { name = "checkerboard"; src = ./.; buildInputs = [ cmake opencv3gtk pkgconfig ]; }

Ici, la deuxième ligne indique les paramètres du paquet (c’est‐à‐dire les dépendances à utiliser pour Cmake, pkgconfig, etc.). Ce mécanisme permet de composer les paquets de façon très puissante. Par exemple, on peut reparamétrer le paquet OpenCV en activant la prise en charge de GTK (qui n’est pas activée par défaut) et composer ce nouveau paquet à notre paquet checkerboard, qui disposera alors des fonctionnalités GTK. On peut même modifier finement les options de compilation du paquet OpenCV (par exemple, désactiver les en‐têtes pré‐compilés qui consomment beaucoup de mémoire vive) :

# checkerboard/opencv3gtk.nix { opencv3 }: let opencv3gtk = opencv3.override { enableGtk2 = true; }; in opencv3gtk.overrideDerivation ( attrs: { cmakeFlags = [attrs.cmakeFlags "-DENABLE_PRECOMPILED_HEADERS=OFF"]; } )

Bien entendu, reparamétrer un paquet nécessite une recompilation si le paquet n’a pas déjà été compilé pour ce jeu de paramètres.

Notez que le nouveau default.nix ne contient pas de dérivation par défaut. Il faut donc préciser la dérivation à utiliser ou à installer :

nix-shell -A checkerboard nix-env -f . -iA checkerboard Configuration Nix pour un paquet Python

De nombreux langages proposent leur propre système de gestion de paquets (pip pour Python, gem pour Ruby, npm pour JavaScript, etc.). Nix fournit des fonctionnalités pour créer ce genre de paquets.

Par exemple, pour créer un paquet Python de notre projet, on peut écrire un fichier default.nix, qui va réutiliser les dérivations opencv3gtk et checkerboard précédentes. Nix fournit une fonction buildPythonPackage qui permet de créer simplement un paquet Python en utilisant le script setuptools/pip :

# pycheckerboard/default.nix { system ? builtins.currentSystem }: let pkgs = import <nixpkgs> { inherit system; }; opencv3gtk = import ../checkerboard/opencv3gtk.nix { inherit (pkgs) opencv3; }; checkerboard = import ../checkerboard/checkerboard.nix { inherit opencv3gtk; inherit (pkgs) cmake pkgconfig stdenv; }; in with pkgs; pythonPackages.buildPythonPackage { name = "pycheckerboard"; src = ./.; buildInputs = [ checkerboard python27Packages.boost opencv3gtk ]; }

Comme pour la bibliothèque, on peut alors installer la dérivation ou la tester interactivement dans un shell virtuel. Les dépendances opencv3gtk et checkerboard correspondent aux dérivations de la section précédente et ne seront pas recompilées ni dupliquées.

$ cd pycheckerboard $ nix-shell --pure --run python Obtaining file:///home/nokomprendo/the_checkerboard_project/pycheckerboard Installing collected packages: pycheckerboard ... Python 2.7.13 (default, Dec 17 2016, 20:05:07) >>> import pycheckerboard.test1 as pt >>> pt.test1() running test1.py... Conclusion

Nix permet de définir des environnements logiciels reproductibles, paramétrables et composables. Il suffit d’écrire quelques fichiers .nix qui viennent compléter les outils de compilation classiques du projet. Les paquets ainsi créés peuvent ensuite être installés ou exécutés, éventuellement dans un environnement isolé. Nix gère automatiquement la compilation, les dépendances et les différentes versions de paquets. Ces fonctionnalités sont intéressantes pour un développeur, car elles permettent non seulement de simplifier le déploiement, mais également d’offrir un environnement de développement multi‐langage léger et reproductible.

Télécharger ce contenu au format Epub

Lire les commentaires

Qui est le coupable ? Le processeur ! Retour sur un bogue important des SkyLake & Kaby Lake Intel

6 juillet, 2017 - 11:29

Certains d’entre vous ont peut‐être vu passer l’information : les derniers processeurs Intel des familles Skylake et Kaby Lake sont victimes d’un bogue lorsque l’hyper‐threading est activé. On trouve par exemple un article sur Ars Technica, et Debian propose des instructions détaillées pour corriger le problème en mettant à jour le microcode (firmware) du processeur.

Cette dépêche propose revenir sur les événements qui ont mené à la découverte du problème. Xavier Leroy le décrit en détail dans un article sur le blog de l’équipe Gallium, dont je proposerai un résumé pour les lecteurs francophones.

Tout commence en avril 2016 lorsqu’un SIOU (Serious Industrial OCaml User), comme il les appelle, le contacte en privé pour lui signaler un bogue dans un de leur logiciel : ce dernier subit des erreurs de segmentation de manière aléatoire après un certain temps. Il n’arrive pas à reproduire le bogue sur sa propre machine et le côté aléatoire du bogue lui fait soupçonner un problème matériel chez le client (mémoire vive défectueuse, surchauffe…). Il leur propose de tester leur mémoire et de désactiver l’hyper‐threading. La mémoire était bonne, mais il ne teste pas la désactivation (ce qui aurait résolu le problème).

De son côté, le client fait ses tests et aboutit aux résultats suivants : le bogue est présent avec la version 4.03 mais pas la 4.02.3 du compilateur OCaml, avec GCC mais pas Clang (l’environnement d’exécution d’OCaml est en C), sur GNU/Linux et Windows mais pas macOS (ce qui se comprend, ce dernier utilisant Clang). Les coupables semblent identifiés : OCaml 4.03 et GCC, et le client suppose qu’il y a une erreur dans le code C de l’environnement d’exécution d’OCaml.

Début mai 2016, le client offre un accès à sa machine à Xavier Leroy pour qu’il puisse identifier le problème. Il analyse des vidages mémoire (dumps) post‐plantage, voit bien des problèmes avec le ramasse‐miettes, mais ne comprend pas ce qui peut causer un tel comportement dans son code. Il fait alors des tests en lançant le programme en parallèle (1, 2, 4, 8 ou 16 instances) et, là, tout devient clair : pas de bogue quand l’hyper‐threading n’est pas utilisé. Ils font des tests en le désactivant dans le BIOS et le problème ne se manifeste plus.

Cela aurait pu en rester là : le client était satisfait de pouvoir utiliser une version de l’environnement d’exécution avec Clang, et Xavier Leroy ne sachant pas comment signaler le problème à Intel en reste là. Mais, début 2017, un autre SIOU fait un rapport de bogue sur le système de suivi d’OCaml. Les symptômes étaient similaires et la discussion sur le ticket fut la suivante :

  • douze heures après l’ouverture, une des ingénieurs précise que tous les ordinateurs qui ont pu reproduire le bogue ont un processeur de la famille Skylake ;
  • le lendemain, Xavier Leroy signale son expérience passée et propose de désactiver l’hyper‐threading ;
  • le jour suivant, un autre ingénieur du SIOU rapporte qu’en désactivant l’hyper‐threading le problème disparaît ;
  • en parallèle, il constate que si l’environnement d’exécution est compilé avec gcc -O1 et non gcc -O2 alors le bogue disparaît. Ce qui permet de comprendre pourquoi cela apparaît avec la version 4.03, qui est celle inaugurant l’option -O2 par défaut pour l’environnement d’exécution ;
  • Mark Shinwell contacte des collègues chez Intel et s’occupe de rapporter le problème au support client d’Intel.

Enfin, cinq mois plus tard, Debian publie une mise à jour du microcode des processeurs Intel et Intel publie, en avril, une mise à jour des spécifications de la 6e génération de ses processeurs. On trouve à la page 65 de ce document une mention du problème SKL150 qui était à l’origine de tous ces bogues, présenté en ces termes chez Debian :

SKL150 - Short loops using both the AH/BH/CH/DH registers and
the corresponding wide register may result in unpredictable
system behavior. Requires both logical processors of the same
core (i.e. sibling hyperthreads) to be active to trigger, as
well as a “complex set of micro‐architectural conditions”.

Pour ceux que cela intéresse et qui comprennent l’assembleur (ce qui n’est pas mon cas), le problème venait de ce bout de code du ramasse‐miettes d’OCaml :

hd = Hd_hp (hp); /*...*/ Hd_hp (hp) = Whitehd_hd (hd);

Qui après expansion des macros donne :

hd = *hp; /*...*/ *hp = hd & ~0x300;

Avec Clang, cela donnait :

movq (%rbx), %rax [...] andq $-769, %rax # imm = 0xFFFFFFFFFFFFFCFF movq %rax, (%rbx)

Tandis que le code optimisé de GCC donnait :

movq (%rdi), %rax [...] andb $252, %ah movq %rax, (%rdi)

Qui pouvait lever le bogue du processeur s’il se trouvait dans une petite boucle ?

Ce bogue sur ces processeurs impacte tous les systèmes d’exploitation. Le correctif du microcode pour la génération Skylake existe donc depuis avril, car Intel distribue ses mises à jour à toutes et tous, permettant aux mainteneurs des distributions de réaliser l’empaquetage afin de les rendre disponibles.

Cependant, il n’en va pas de même pour la génération Kaby Lake, pour laquelle Intel ne distribue ses correctifs de microcodes qu’aux seuls constructeurs ou assembleurs. Il résulte de cette situation une grande disparité des disponibilités pour cette mise à jour : certains constructeurs l’ont déjà proposée, d’autres ne le font pas.

Au final, il semblerait que Skylake se soit transformé en Skyfall et que la légendaire crainte gauloise que le ciel leur tombe sur la tête était fondée ! :-D

Télécharger ce contenu au format Epub

Lire les commentaires

La bière libre, ColiBibine, est de retour pour les RMLL !

5 juillet, 2017 - 13:57

La bière libre des étudiants de la licence CoLibre de l’Université Lyon 2 est de retour à l’occasion des Rencontres mondiales du logiciel libre 2017 (RMLL) à Saint‐Étienne.

Projet brassé et porté par l’association des étudiants du diplôme, la nouvelle CoLiBibine « tout grain » garde les mêmes principes à savoir :

  • approfondir la culture des logiciels libres et leurs quatre libertés fondamentales : exécuter, étudier, modifier, diffuser ;
  • permettre aux étudiants à apprendre à construire et porter un projet ;
  • soutenir les initiatives étudiantes ;
  • faire quelque chose de sympa et ensuite en faire profiter les autres (et non, non, nous n’allons pas tout boire !).

Soutenue par l’ALDIL, cette campagne permettra de financer les projets des étudiants de la licence Colibre en vous donnant l’occasion de goûter à leur bière libre !

Une première distribution a lieu aux RMLL dans le village associatif sur le stand CoLibre. D’autres points de retrait « Retire ta bière » sont à disposition sur Lyon afin de pouvoir récupérer sa CoLiBibine après les RMLL.

Les ingrédients de la CoLibibine « tout grain » ?
  • malt (cara blond 20ebc & cara ruby 50ebc), houblon pacific jade, extrait de malt (pale & ambré), levure, eau, sucre, jus de créativité, passion, bonne humeur, beaucoup d’amour, joie, quelques plumes de colibris, et puis c’est tout… (Forkez notre recette)
  • et votre participation à ce projet permettant de soutenir et de développer l’association CoLibreAsso.
Prochain brassage : la cuvée spéciale RMLL 2017 : bière camp

Nous avons prévu de brasser une nouvelle cuvée, à la rentrée. Vous aurez l’occasion donc de pouvoir choisir ses ingrédients pour créer la cuvée RMLL 2017. Vous serez prochainement invités à participer à notre bière Camp via notre sondage.

Alors, à vos décapsuleurs !

NdM : l’abus d’alcool est dangereux pour la santé. À consommer avec modération (et avec la modération aussi si possible).

Télécharger ce contenu au format Epub

Lire les commentaires