Syndiquer le contenu
Mis à jour : il y a 22 heures 49 min

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

21 août, 2016 - 20:34

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

NdM.: côté Suisse, l'agenda n'est pas actuellement accessible en raison d'une migration DNS en cours. Nous cherchons toujours à généraliser la diffusion des résumés des agendas du libre francophone : actuellement la génération automatique du markdown avec liens et tag pour LinuxFr.org est possible depuis les AdL de Belgique, de France et du Québec (mais il faut quelqu'un pour générer la dépêche en modération toutes les semaines, pour chaque site AdL différent).

Sommaire Agenda du Libre pour la semaine 34 de l'année 2016 [FR Foix] Linux : Découverte et Initiation - Le jeudi 25 août 2016 de 16h00 à 18h00.

A l'occasion du 25ème anniversaire du système informatique d'exploitation Linux.
Miguel animera une petite séance de découverte et d'initiation au pingouin pour l'appréhender sous toutes ses formes !
Temps convivial de questions / réponses pour finir.

[FR Paris] Soirée de Contribution au Libre - Le jeudi 25 août 2016 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.

[FR Toulouse] Quatrième/Quelconque Jeudi/Jour du Libre - Le jeudi 25 août 2016 de 20h00 à 23h00.

Le groupe d'utilisateurs de logiciels libres de Toulouse Toulibre en collaboration avec Tetaneutral.net fournisseur d'accès internet et hébergeur libre proposent aux sympathisants de se retrouver l'un des mardis ou jeudis de chaque mois pour échanger autour des logiciels libres, des réseaux libres, discuter de nos projets respectifs et lancer des initiatives locales autour du Libre.
Ce repas est ouvert à tous, amateurs de l'esprit du Libre, débutants ou techniciens chevronnés.
Ce Qjelt aura lieu le jeudi 25 août 2016 à 20h00, au restaurant "la Paniolade" situé au 146 Boulevard de Suisse à Toulouse.

[FR Cognac] Internet: utilisateur et acteur - Du vendredi 26 août 2016 à 10h00 au dimanche 28 août 2016 à 16h00.

Apprendre à utiliser Internet, en devenir acteur et les bases pour le maitriser…
À partir de 12 ans jusqu'à 70ans
Projet: construire une page internet pour un carnet de voyage en 3 jours

[FR Montpellier] Permanence « Les logiciels libres, parlons-en ! » - Le vendredi 26 août 2016 de 17h00 à 19h00.

Le Faubourg Marché, qu’est-ce que c’est ?
Le Faubourg Marché est une permanence partagée qui permet aux associations d’accueillir ensemble, les publics de ces associations une fois par semaine, le vendredi entre 17h00 et 19h00 (ou au delà sous réserve d’accord préalable), au 19, rue du Faubourg de Nîmes, 34000 Montpellier.
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.

[FR Aiglun] Opération Libre - Du vendredi 26 août 2016 à 18h00 au dimanche 28 août 2016 à 18h00.

Opération Libre, c'est un week-end complet pour contribuer ensemble aux communs numériques, notamment OpenStreetMap, Wikipédia et Wikimedia Commons.
La prochaine édition aura lieu à Aiglun, près de Digne les samedi 27 et dimanche 28 août prochains.
Historiens, géographes, botanistes, développeurs, cartographes, photographes, designers, traducteurs, vidéastes, professionnels ou en herbe… et tous les curieux êtes invités à nous rejoindre pour 48 heures d'animations participatives destinées à collecter et libérer les informations et outils d'une commune avec les habitants et des contributeurs rassemblés pour l'occasion.

[FR Villeneuve d'Ascq] Libre à Vous - Le samedi 27 août 2016 de 09h00 à 12h00.

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

Télécharger ce contenu au format Epub

Lire les commentaires

Les coulisses du standard C++

20 août, 2016 - 21:53

Le C++ a bientôt la quarantaine et pourtant très actif en ce moment avec la finalisation de la prochaine version C++17. Profitons‐en pour faire le point avec une série d’articles sur le C++. Cette première dépêche nous dévoile la face cachée du C++, et donc peut intéresser tous les lecteurs LinuxFr.org. :-)

Sommaire

Dépêches C++

Chère lectrice, cher lecteur de LinuxFr.org. Tes collègues sont en vacances et tu cherches à t’occuper ? Ou alors, tu es en vacances et l’actualité informatique te manque déjà ? Eh bien, voici une première dépêche d’une longue série sur le C++. Ainsi, tu seras en avance technologique dès la rentrée.

Résumé des dépêches :

  1. Cette première dépêche, Les coulisses du C++, présente la naissance du langage, puis du standard, sa spécification non libre, payant, ouvert, délaissé au profit de son brouillon (draft), peu lu par les développeurs C++, évoluant lentement mais sûrement…

  2. La deuxième dépêche, Genèse du C++17, reviendra sur les dernières réunions du comité de normalisation.

  3. La troisième dépêche, Nouveautés C++17 du langage, présentera des changements du langage très intéressants : déduction des arguments template std::array a{1,2,3};, décomposition du retour de fonction auto [x, y] = f(); , namespace aa::bb{} équivalent à namespace aa{ namespace bb{}}, if constexpr sélectionne du code à la compilation, lambda constexpr, lambda capture *this, if(init;condition) comme for(init;cond;inc), variables inline… Mais il faudra encore attendre pour l’intégration des Concepts, Modules, Syntaxe d’appel uniforme et Réflexion.

  4. La quatrième dépêche, Nouveautés C++17 de la bibliothèque standard, présentera les changements au niveau de la bibliothèque standard qui pourraient bousculer notre petite vie de développeur : algorithmes parallélisés, std::string_view, std::filesystem, std::variant, std::any, std::optional, les fonctions spéciales mathématiques… Mais, les intervalles (ranges), le réseau (networking) seront intégrés pour une version ultérieure.

  5. Bilan C++17 et attentes pour C++20. Version mineure ou majeure ? D’un côté, les améliorations sont nombreuses et appréciables. Mais de l’autre, aucune fonctionnalité majeure n’est intégrée, exceptées celles qui sont déjà disponibles dans Boost (donc déjà supportées par un large panel d’anciens compilateurs). Conséquences sur le processus de normalisation ? Qu’attendre de C++20 ? Intérêt du C++ aujourd’hui ? Et les langages alternatifs ? Comment s’impliquer ?

  6. … d’autres dépêches à venir. :-)

Partage

Chère lectrice, cher lecteur LinuxFr.org. Tu souhaites donner un coup de main pour les dépêches suivantes ? Rejoins‐nous dans l’espace de rédaction collaborative sur LinuxFr.org. Un compte est nécessaire pour y accéder.

Après publication, les dépêches sont figées sur LinuxFr.org. Alors, pour continuer à améliorer ce contenu libre (fôtes, oublis, franglais, maladresses…), n’hésite à pas à aller sur le dépôt Git C++FRUG. C’est là aussi que tu trouveras les versions de ces dépêches les plus à jour :

  1. Les coulisses du standard C++ ;
  2. Genèse d’une version mineure ;
  3. Nouveautés du langage ;
  4. Nouveautés de la bibliothèque standard ;
  5. Bilan et attentes pour C++20.

Avec toutes nos contributions réunies, nous profiterons davantage de nos découvertes individuelles et nous offrirons un contenu CC BY-SA de qualité pour créer, par exemple, un article Wikipédia C++17 en français. :-)

Naissance d’un nouveau langage

À la fin des années 70, dans la cadre de sa thèse en Angleterre, le Danois Bjarne Stroustrup étudiait le paradigme de la programmation objet (avec le langage Simula). En 1979, aux Laboratoires Bell (États‐Unis), Bjarne propose de rajouter ce paradigme objet au langage C qu’il appela « C with Classes ».

Durant les années 80, les nouvelles fonctionnalités qui sont progressivement intégrées au tout nouveau C++ provoque un schisme entre les fans du C classique et les enthousiastes du C++.

Création du comité de normalisation C++

Dans la seconde moitié des années 80, le usenet comp.lang.c++ bouillonne, les premiers compilateurs C++ commencent à diverger, les développeurs ont du mal à écrire du C++ portable et dix ans après la création du C with Classes, des événements majeurs se produisent :

  • avril 1989, le groupe de travail WG14 (comité du C) souhaite une normalisation du C++ ;
  • mai 1989, à la demande du WG14, Andrew Koenig et Bjarne Stroustrup rédigent C++: as close as possible to C — but no closer, pour expliquer les divergences (incompatibilités) du C++ par rapport au C (ce qui est valide en C et qui ne l’est pas en C++) ;
  • juillet 1989, Dmitry Lenkov explique la création d’un groupe de travail C++ officiel et d’y inclure d’office Bjarne Stroustrup ;
  • février 1990, première réunion du comité ANSI C++ ;
  • juin 1991, la réunion du comité ANSI C++ réunit de très nombreux participants non états‐uniens et la décision est prise de travailler conjointement avec le groupe de travail WG21 international.

Sigle   Définition ISO Organisation internationale de normalisation IEC Commission électrotechnique internationale JTC 001 Joint Technical Committee 001 SC 22 Subcommittee 22 (sous‐comité 22) dédié aux langages de programmation, leur environnement et les interfaces avec les logiciels système WG 14 Working Group 14 (groupe de travail 14) dédié au langage C (WG 14 sur le site de l’ISO) WG 21 Working Group 21 dédié au C++ (WG 21 sur le site de l’ISO) La puissance du C++

En 1991, un nouveau paradigme, la programmation générique (template) est ajouté, ainsi que les exceptions.

Le C++ devient alors un formidable langage alliant un découplage puissant et la performance du code exécutable optimisé par les compilateurs C adaptés (cette flexibilité est très bien illustrée dans l’excellent journal Expressions template pour les nuls de serge_sanspaille_). Mais cette compatibilité avec le langage C contraint à utiliser une grammaire pas toujours simple et un temps de compilation souvent long.

En 1994, Erwin Unruh présente au comité C++ un code source qui permet de calculer les nombres premiers à la compilation. Pour une partie des membres du comité, c’était une curiosité. Tandis que les autres membres se grattaient la tête et prirent conscience que l’on venait de découvrir, par hasard, que les templates du C++ permettaient le paradigme de la métaprogrammation !

Cette découverte ouvre la voie à d’extraordinaires optimisations en permettant au compilateur de réaliser des calculs à la compilation (à ne pas confondre avec la réalisation de calculs à l’initialisation ou durant l’exécution). Ces techniques atteignent des sommets avec boost::mpl (2002), boost::proto (2008) et le futur boost::simd.

Au détriment d’une grammaire difficile, des erreurs faciles, d’une compilation lente et d’un débogage laborieux. Mais c’est un des rares langages qui offre au développeur autant d’abstraction et de performance en même temps. La passion de ce langage l’emporte. Avec le temps, les pièges sont connus, les techniques maîtrisés, et le C++ devient un vrai bonheur. :-)

De plus, ce langage bien vivant continue d’évoluer dans le bon sens. Les très nombreux outils qui orbitent autour de ce formidable langage continuent aussi d’apporter plein de nouvelles fonctionnalités. :-D

Les membres du comité de normalisation

En 1998, les membres finalisent le premier standard C++ : C++98. Soit une vingtaine d’années après la création du langage, et une dizaine d’années après l’initiative de normaliser celui‐ci.

Pour devenir membre du comité international de normalisation du C++, appelé officiellement ISO/IEC JTC 001/SC 22/WG 14/WG 21, il faut être membre d’une représentation ISO de son pays. Une dizaine de pays est représentée :

C’était IBM qui payait les frais de représentation du Comité de Normalisation Cpp de l’AFNOR. Mais, au départ à la retraite des employés IBM membres C++, plus personne ne payait les frais de représentation et la France n’était plus officiellement représentée. Depuis peu, les choses sont rentrés dans l’ordre.

Une centaine de membres actifs se rencontrent quelque fois par an dans le cadre de la normalisation du C++ (essentiellement pour voter). Le plus gros du travail se fait à distance. Les membres C++ et les autres passionnés du C++ se rencontrent également lors des grandes rencontres du C++ : CppCon, C++Now, Meeting C++

Dans l’intérêt des utilisateurs du C++, les membres du comité accordent au comité et à l’ISO une licence mondiale, non exclusive, irrévocable, permettant l’octroi d’une sous‐licence transférable pour l’affichage du contenu, la reproduction, l’adaptation, la distribution, la création de travaux dérivés à des fins commerciales ou non commerciales. En 2012, cette règle a notamment été rappelée à IBM, Intel et Oracle (voir N3423 §2.4).

Le standard ne peut être reproduit

Comme la plupart des documents publiés par l’ISO, la mention de droit d’auteur indique que la reproduction n’est pas autorisée :


© ISO/IEC 2014 — All rights reserved

COPYRIGHT PROTECTED DOCUMENT

All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission.
Permission can be requested from either ISO at the address below or ISO’s member body in the country of the requester.

Cette position est la même pour les autres langages gérés par l’ISO (Fortran, C…). Mais aussi pour Java, C# et de nombreux autres.

Dans la pratique, cela ne gène pas les développeurs de ces langages. Ce type de mention empêche juridiquement la reproduction du standard (même un paragraphe ou un code d’exemple). Des sites qui respectent à la lettre le droit d’auteur, comme Wikipédia, refusent de contenir la reproduction même partielle d’un tel document. D’autres sites, comme stackoverflow, sont plus pragmatiques.

Notons que d’autres langages de programmation ont des spécifications libres :

Le standard est payant

De plus, obtenir le standard C++ coûte cher. Même la version PDF téléchargée :

(voir aussi d’autres sites vendant le standard)

Les anciens standards supprimés

Encore plus incroyable : chaque nouvelle publication du standard révoque ou supprime (withdraw) la version précédente :

L’embêtant est que la plupart des projets C++ actuellement utilisés sont codés en C++03. Et la plupart des entreprises utilisent encore aujourd’hui des versions de compilateurs qui ne supportent pas (ou partiellement) le standard C++11.

Alors, comment s’informer du standard C++ utilisé par le bon vieux compilateur que l’on est obligé d’utiliser ? Aller les consulter à l’INRIA ? Par exemple, cet utilisateur a besoin d’acheter le standard C++03 qui n’est plus à la vente.

Ouf, les brouillons du comité

Les documents en cours de rédaction (draft) du comité de normalisation sont gratuitement accessibles :

Quand le comité de normalisation C++ valide un brouillon (nouvelle version C++), ce brouillon bénéficie de dernières corrections. Puis, le comité le fournit à l’ISO qui change la mise en forme pour en faire une version officielle.

Documentations C++ de référence

Les standards C++ (officiels ou brouillons) ne sont pas simples à lire. Ces documents utilisent une terminologie très spécifique pour une spécification très rigoureuse. En fait, ces documents sont surtout utiles aux développeurs des compilateurs et à ceux qui implémentent des bibliothèques standards (std::).

Les utilisateurs du C++ (langage et bibliothèque standard) utilisent historiquement des livres (souvent ceux écrits par Bjarne Stroustrup et Scott Meyers) et plus récemment des sites Web :

  • fr.cppreference.com en français sous double licence CC BY-SA 3.0 et GFDL (disponible en différentes langues, la version en anglais est la plus à jour) ;
  • cplusplus.com seulement en anglais et n’autorisant pas la reproduction (pas de licence libre) ;
  • … liste à compléter dans les commentaires.

Un standard ouvert

Note des auteurs de cette dépêche : Nous avons un profil plutôt technique (développeurs) et non pas juriste. Ce chapitre contient peut‐être des erreurs importantes, mais nous avons tenté de rédiger ce qui nous semble correct… Nous n’avons pas pris le risque de nous aventurer à comparer C++ avec Java, C#… Celles et ceux qui connaissent bien le sujet, merci de nous éclairer dans les commentaires. :-)

Le C++ est bien un standard ouvert, sans brevet logiciel, sans propriété intellectuelle. C’est‐à‐dire que le langage et sa bibliothèque standard (API) peuvent être implémentés librement.

De même, le nom C++ n’est pas une marque, ni aucun type de propriété intellectuelle. À la différence de la marque JavaScript® déposée par Oracle, ou des marques non déposées Rust™, Go™ (et une autre Go™).

Et, même si C++ n’est pas encore aussi ouvert que peut l’être Rust™, de nombreux membres du comité améliorent constamment la façon de travailler pour plus de transparence et plus de proximité avec les utilisateurs C++, comme l’utilisation d’un compte GitHub.

Les versions C++

Même si le langage naît à la fin des années 1970, il n’est normalisé que vingt ans plus tard, afin d’arrêter la profusion de versions C++ incompatibles.

Le tableau suivant liste les différentes versions C++ normalisées, ainsi que le brouillon C++17 en cours de consolidation. Nous pouvons remarquer le saut considérable du nombre de pages entre C++03 et C++11.

Version Pages C++98 ISO/IEC 14882:1998 1998-09-01 776 pages C++03 ISO/IEC 14882:2003 2003-10-15 786 pages (+ 1 %) C++11 ISO/IEC 14882:2011 2011-09-01 1356 pages (+ 73 %) C++11 Draft N3376 2012-02-28 1 324 pages C++14 Draft N4296 2014-11-19 1 368 pages (+ 3 %) C++17 Draft N4606 2016-07-12 1 586 pages (+ 16 %)

Attention, ce dernier lien est celui du brouillon C++17 le plus récent lors de la rédaction de cette dépêche. Cette version sera certainement obsolète quelques mois après la publication de cette dépêche.

Ceux qui ont l’œil aiguisé remarqueront que le brouillon N3376 représentant la version C++11 a été publiée (28/02/2012) après la norme officielle 14882:2011 (1/09/2011). Ce N3376 correspond en fait à des corrections éditoriales mineures apportées au brouillon N3291 fourni à l’ISO. C’est le premier brouillon de post‐publication, le first post‐publication draft en anglais.

Technical Specification (TS)

Les spécifications techniques, notées TS pour Technical Specification, sont les documents de travail les plus importants du comité de normalisation. Ces documents sont la base de discussion des évolutions du standard.

Généralement, les spécifications techniques sont composées de deux parties :

  • la première partie donne les motivation du changement (l’avantage d’avoir telle fonctionnalité dans le C++ avec des exemples de code) ;
  • la seconde partie liste toutes les modifications à appliquer au standard C++ en cours de rédaction (au draft).

Numérotation des documents

À partir de 1990, le comité numérote ses documents officiels sur quatre chiffres en commençant par le n°0000. Ce numéro est incrémenté pour chaque nouveau document ou nouvelle révision d’un document.

En 1991, le préfixe N est adoptée, et le premier document à en profiter est le N0007. N comme Number (numéro).

Ces numéros xxxx peuvent paraître obscurs, mais sont très importants, car ils sont utilisés comme références rigoureuses aux fonctionnalités C++ :

  • dans les échanges entre membres du comité ;
  • par de nombreux sites Web.

Pour faire le lien entre les principales spécifications techniques (TS) et leur numéro xxxx de révision la plus récente, une astuce est d’utiliser la page experimental sur cppreference.com.

Voici, en exemple, l’historique des TS à propos des Modules :

Année Numéro Titre Révision 2004 N1736 Modules in C++ 1 2005 N1778 Modules in C++ 2 2006 N1964 Modules in C++ 3 2006 N2073 Modules in C++ 4 2007 N2316 Modules in C++ 5 2012 N3347 Modules in C++ 6 2014 N4047 A Module System for C++ 1 2014 N4214 A Module System for C++ 2 2015 N4465 A Module System for C++ 3 2016 P0142R0 A Module System for C++ 4

Remarquons le changement de nommage pour la révision de 2016. Le nouveau nommage PxxxxRx a été mis en place en septembre 2015 avec un P comme Proposal (Proposition). Progressivement, les PxxxxRx doivent remplacer les Nxxxx. L’avantage est de conserver le même numéro xxxx pour toutes les révisions du document.

Comme en C++, on commence par compter la première Révision à partir de R0. L’exemple ci‐dessus est un cas particulier : R0 est bien la première révision du nouveau format, mais la quatrième révision des documents A Module System for C++.

Defect Report (DR)

Même après moult relectures par les meilleurs experts C++ au monde, avec toutes les précautions prises par les institutions officielles, les publications des standards C++ contenaient 5 000 anomalies ayant fait l’objet, chacune, d’un rapport d’anomalie (Defect Report) !

Lors de ses réunions, le comité discute des rapports d’anomalie et devrait publier régulièrement des rectificatifs techniques (Technical Corrigendum). Mais le comité n’a jamais publié aucun rectificatif technique à ce jour !

Par exemple, le comité avait approuvé un rectificatif technique en 2003. Et, finalement, le comité publie comme étant une nouvelle version du standard, le C++03 :

A technical corrigendum was approved in 2003, and the standard was published again as the ISO/IEC 14882:2003 edition, published 2003-10-16.

Bon, c’est vrai, à la décharge du comité, ce rectificatif technique de 2003 contenait une nouvelle fonctionnalité : Value initialization. C’était la dernière fois, que le comité avait travaillé sur un rectificatif technique.

Néanmoins, même si le comité ne publie aucun rectificatif technique, les rapports d’anomalie approuvés doivent être pris en compte par les compilateurs. Des sites comme cppreference.com listent les changements induits par ces rapports d’anomalie :

Les versions officielles du C++ deviennent donc vite obsolètes après leur publication, car ces documents sont figés et ne bénéficient pas des corrections apportées par les rapports d’anomalie. Par conséquence, celui qui achète une version officielle du standard C++, devrait aussi suivre tous les rapports d’anomalie approuvés par le comité…

Pour terminer, notons aussi que des rapports d’anomalie approuvés lors d’une réunion du comité se retrouvent ne plus être approuvés lors de la réunion suivante.

Alors, chère lectrice, cher lecteur de LinuxFr.org, es‐tu étonné(e) par ce fonctionnement. Connais‐tu d’autres façons de maintenir un tel document ? Comment cela se passe‐t‐il dans d’autres langages de programmation ? As‐tu des idées d’amélioration ?

Un langage compliqué qui se simplifie

Par rapport à tous les langages utilisés en production, avouons que le C++ est peut‐être le langage le plus complexe que l’humanité ait pu inventer ! Les développeurs C++ en ont bien conscience. C’est peut‐être la raison pour laquelle les participants aux meetups se montrent souvent bienveillants à l’égard des autres langages. Les développeurs C++ aimeraient un langage plus simple, à condition de « ne pas sacrifier la sacro‐sainte performance ».

Le C++ est tellement vaste et semé de subtilités, que les développeurs C++ n’en connaissent bien souvent qu’une petite portion. Ainsi, lors d’un entretien de Bjarne Stroustrup (un des experts C++ les plus actifs du comité), celui‐ci avait indiqué qu’il connaissait seulement 60 % du standard. Ceux qui maîtrisent vraiment le C++ sur le bout des doigts sont appelés des juristes du C++, ou plus généralement « language lawyers » en anglais (ils ne sont pas forcément de bons développeurs).

Pour inverser la tendance, certains membres du comité de normalisation, comme Bjarne Stroustrup (le créateur du C++) souhaitent accélérer l’évolution du langage vers un C++ plus intuitif, plus sûr, et toujours plus performant.

Un processus de normalisation qui s’ouvre davantage

C’est dans ce cadre que l’initiative C++ Core Guidelines (Recommandations C++) a été lancée. A la fois pour proposer un sous‐ensemble du C++ plus sûr, plus simple et sans sacrifier les performances. Mais aussi pour faire pression sur les membres du comité pour adopter les idées de la Guidelines Support Library (Bibliothèque de support des recommandations) activement implémentée sur le dépôt Git de Microsoft, mais aussi sur le dépôt Git de Martin Moene qui est compatible avec beaucoup plus de compilateurs.

Pour faciliter les contributions au standard, le comité a aussi migré sur GitHub. Le standard en cours de rédaction/maintenance est sur le dépôt Git draft (brouillon). L’intégration d’une fonctionnalité au brouillon (standard en cours de rédaction) est souvent formalisée par une fusion (merge) d’une branche Nxxxx vers la branche master.

Cycle de publication triannuel

Après la version majeure C++98 (et son correctif C++03), un nouveau standard C++ devait être publié dans les années suivantes. Comme sa date de publication n’était pas fixée, cette version a été nommée temporairement C++0x.

Mais, avec le manque de maturité de certaines fonctionnalités et les requêtes continuelles d’ajout de nouvelles fonctionnalités, le comité de normalisation n’arrivait pas à stabiliser le standard. Et, finalement, C++0x a été publié en 2011 ! Ne perdons pas la face, 0x = 11 est correct mathématiquement avec x = B en hexadécimal :-)

Afin d’éviter tout nouveau glissement, le comité a alors décidé de publier un nouveau standard C++ tous les trois ans, en figeant les fonctionnalités l’année n - 1. Avec un cycle d’une version majeure (C++11) suivie d’une version mineure (C++14).

Malgré des dates de publication figées, les appellations C++1y (pour C++14) et C++1z (pour C++17) perdurent. Par exemple, l’option de compilation -std=c++1z ou l’étiquette c++1z sur stackoverflow.

Les membres du comité de normalisation utilisent le terme C++17 (et non pas C++1z). Soyons confiants, C++1z verra bien le jour en 2017 (et non pas en 2018, ni après).

Implémentation de référence

Le comité ne fournit pas plus d’implémentation de référence ou de preuve de concept. Mais les membres du comité travaillent en étroite collaboration avec les éditeurs de compilateurs (notamment GCC et LLVM/Clang).

Néanmoins, en 1999, des membres du comité ont quand même créé le projet Boost.org afin de proposer et valider des implémentations de fonctionnalités candidates de la bibliothèque standard. Ainsi, dès 2005, la publication du brouillon C++ TR1 est en lien direct avec les développements fournis par le projet Boost.org.

D’ailleurs, c’est devenu le parcours classique pour les nouveaux composants de la bibliothèque standard. C’est, par exemple, le cheminement de std::filesystem. Et plus récemment, quand le Français Joël Falcou a proposé la fonctionnalité SIMD, les membres du comité l’ont invité à intégrer Boost dans un premier temps. Cela permet également de vérifier la popularité d’un composant.

La suite…

La prochaine dépêche va nous permettre d’entrer enfin dans le vif du sujet C++17.

Merci de nous donner un coup de main à la rédaction des prochaines dépêches C++17. Pour participer ou lire en avance les prochaines dépêches :

Droit d’auteur, remerciements et licences

Le texte de cette dépêche est protégé par le droit d’auteur la gauche d’auteur et réutilisable sous licence CC BY-SA 4.0. Merci aux nombreux auteurs sur le dépôt Git et sur LinuxFr.org : olibre, duckie, rom1v, Oliver H, cracky, Lucas, palm123, Adrien Dorsaz, Martin Peres, RyDroid, M5oul, Anthony Jaguenaud et Benoît Sibaud. Merci aussi à Klaim, Édouard A, rewind, David Demelier, gasche, freem et ®om pour leurs commentaires pertinents.

Aussi un immense merci à mes collègues développeurs qui, à défaut de m’aider à la rédaction, ont illustré cette dépêche (et les dépêches suivantes) avec des dessins humoristiques sous licence libre : Ziyue, AKP, Florent B, et Jae-Zun. Merci aussi à Dominic Alves pour son dessin C++ sous licence libre. Merci à Theppitak Karoonboonyanan pour maintenir la police de caractères Purisa.

Merci d’avance de l’aide apportée sur les prochaines dépêches C++17 en cours de préparation : Micka pour ses exemples utiles et AMB007 pour les bogues trouvés dans les codes C++ d’exemple.

Télécharger ce contenu au format Epub

Lire les commentaires

OpenWRT et LEDE (Linux Embedded Development Environment) : à fourchettes tirés…

20 août, 2016 - 07:43

LEDE (Linux Embedded Development Environment) est le fork d’OpenWRT, une distribution GNU/Linux pour matériel embarqué (dont les routeurs Wi‐Fi), annoncé en avril 2016. Une part notable des développeurs d’OpenWRT ont décidé de « forker » le projet OpenWRT. C’est une annonce importante, le projet OpenWRT semblait ralentir dans ses évolutions, notamment par l’absence d’annonce sur la prochaine version stable.

Ce départ massif, et l’absence de méthode de ralliement au projet OpenWRT va pour le moment ralentir considérablement la sortie de la prochaine version stable.

LEDE veut réinitialiser le projet (le terme « reboot » est celui utilisé), et s’orienter explicitement vers l’embarqué. Les routeurs Wi‐Fi sont évidemment toujours au centre du projet (héritage d’OpenWRT). On commençait à trouver OpenWRT sur des équipements moins spécialisés comme le Raspberry Pi ou le monde x86 (32 et 64 bits).

De mon point de vue, nous n’en sommes qu’à la fourniture d’une version instable. Il sera intéressant de voir comment évoluent les choses. On pourrait également assister, comme pour Ampache, à une réintégration du projet LEDE au niveau d’OpenWRT. Qui sait ?…

N. D. M. : quelques données chiffrées, donc quantitatives et pas forcément qualitatives :

  • LEDE : sur GitHub 188 étoiles, 111 forks, 7 personnes, 35 838 commits, une publication et 107 contributeurs ; sur la liste de diffusion, des centaines de courriels par mois ; sur IRC, 7 comptes‐rendus de réunions ;
  • OpenWRT : sur GitHub 354 étoiles, 229 forks, 16 personnes, 37 878 commits, 5 publications et 76 contributeurs ; une liste de diffusion interne privée, une activité certaine sur leur forum et plus aucune réunion depuis 2009 (ou le wiki n’est pas à jour).
Télécharger ce contenu au format Epub

Lire les commentaires

Une boîte à outils libre pour l’éco‐construction

19 août, 2016 - 10:12

Ce 4 août 2016, une campagne de financement participatif de l’Open Building Institute (OBI) et l’Open Source Ecology (OSE) a collecté avec succès 115 860 $ (sur un objectif de 80 000 $) auprès de 1 902 contributeurs, afin de soutenir le développement d’une boîte à outils libre visant à rendre la construction de logements écologiques plus facile, moins chère, plus rapide et à la portée de tout le monde.

Lors de cette campagne, l’OSE a annoncé l’organisation de son premier atelier européen sur leur kit de construction d’imprimante 3D à Ghent en Belgique.

Présentation de l’OBI et l’OSE

L’Open Source Ecology fondé par Marcin Jakubowski développe le Global Village Construction Set (GVCS) visant à publier les spécifications d’une cinquantaine de machines agricoles et industrielles nécessaires à la civilisation.

L’Open Building Institute a été fondé par Catarina Mota en partenariat avec l’Open Source Ecology et est l’aboutissement de plusieurs années d’expérience de construction d’habitats écologiques abordables dans leur ferme « Factor e Farm » du Missouri aux États‐Unis.

Présentation de la boîte à outils OBI et de leur plan de route

L’Open Building Institute met à disposition une bibliothèque libre de modules de construction (murs, fenêtres, portes, toits…) et de procédures d’assemblage rapide permettant une fabrication modulaire et évolutive d’une habitation.

L’équipe prévoit d’offrir un service clé en main de construction pour les futurs propriétaires en 2017. Pour cela, il propose un programme de formation pour les constructeurs basé sur un modèle de production social (feuille de route).

Un atelier collaboratif planifié en novembre 2016 a pour objectif de monter une maison hors réseau de près de 70 m2 en cinq jours, avec une équipe d’une trentaine de personnes, pour un budget de matériaux d’environ 22 500 €, suivi de la construction d’une ferme aquaponique.

Prochain groupe de travail de l’OSE [BE Ghent] OSE 3D Printer Construction Set Workshop : du jeudi 8 septembre 2016 à 9 h, au vendredi 9 septembre 2016 à 18 h.

Le premier groupe de travail européen de l’OSE aura lieu ces 8 et 9 septembre 2016 à Ghent en Belgique sur leur kit de construction d’imprimante 3D. Lors de cette formation immersive, les participants fabriqueront pour la première fois ce kit open hardware, et auront la possibilité de fabriquer leur propre imprimante. Le kit est composé de modules pouvant être assemblés pour construire une imprimante 3D de la taille souhaitée, ainsi que d’autres machines‐outils à commande numérique (CNC de fraisage, tournage, découpage laser…) et des instructions de configuration des logiciels libres pilotant l’imprimante.

Une partie de cet atelier est également dédiée aux concepts d’Extreme Manufactoring, d’entreprise distributive et d’économie collaborative et libre soutenue par l’OSE.

Télécharger ce contenu au format Epub

Lire les commentaires

Haiku a 15 ans

19 août, 2016 - 09:31

Le 18 août 2001, le premier message sur la liste de diffusion de OpenBeOS était envoyé par Marcus Overhagen (« Ok, let’s start »). Quinze ans plus tard, le projet est toujours là, même si les progrès semblent un peu lents ces derniers temps.

Sommaire

Le projet Haiku

Haiku est un système d’exploitation compatible avec les applications et pilotes de périphériques écrits pour BeOS. Le but est de fournir un système léger et efficace pour les ordinateurs personnels.

Haiku est publié sous la licence MIT (en majorité, certains composants utilisent d’autres licences libres). Il propose une ABI stable, ce qui permet la diffusion de logiciels compilés, de façon durable.

Historique du projet

Durant les premières années du développement de Haiku, il n’était pas encore un système d’exploitation complet. Les premiers développements ont été faits sur la base de BeOS, dont l’architecture modulaire permettait le remplacement progressif des différentes parties du système. L’un des premiers développements complétés fut donc… la gestion des économiseurs d’écran.

Dès avril 2002, un premier prototype de l’app_server (l’équivalent du serveur X) permettait d’afficher une fenêtre. Mais, ce n’est que bien plus tard, en mars 2005, qu’il a enfin pu fonctionner sur un système intégralement compilé à partir des sources de Haiku, sans morceaux binaires de BeOS.

Les choses se sont enchaînées assez rapidement à cette période, avec la gestion du réseau (avril 2005), la mise en place du gestionnaire de fichiers Tracker (juillet 2005), puis le prise en charge de l’USB (septembre 2006). En 2007, s’ajoute le support des contrôleurs SATA, et en février 2008, il devient possible de compiler Haiku sous Haiku pour la première fois (auparavant la compilation s’effectuait depuis BeOS ou GNU/Linux).

Le 30 juillet 2008 voit les premiers commits de ce qui sera HaikuPorts, un équivalent des ports BSD. Assez simple au début, le format des recettes évoluera plus tard pour ressembler fortement au Ebuild de Gentoo, il est maintenant documenté sur le wiki du projet avec de nombreux conseils de portage. La catégorisation des ports reprend d’ailleurs celle de Gentoo.

En janvier 2009, c’est l’arrivée de GCC 4. Haiku continue d’utiliser principalement gcc 2.95.3 afin de maintenir la compatibilité avec les exécutables, pilotes et bibliothèques écrits pour BeOS, mais il est désormais possible d’utiliser gcc 4 pour les nouveaux logiciels, et donc de pouvoir bénéficier d’un support à jour des langages C et C++ (C99, puis C++11).

En septembre 2009, la première version (alpha 1) de Haiku est publiée. Elle est suivie d’une deuxième version alpha en 2010, apportant la prise en charge du Wi‐Fi (WEP) et un navigateur basé sur WebKit. La dernière version publiée est la version alpha 4, de novembre 2012. Elle apporte la gestion du WPA2 ainsi que de nombreuses autres améliorations (pilotes de périphériques, systèmes de fichiers, etc).

Évènements et conférences

Les développeurs et utilisateurs de Haiku se retrouvent tous les ans au mois d’octobre à Düsseldorf pour BeGeistert, la conférence annuelle autour de BeOS et des systèmes compatibles. La conférence est suivie d'un « coding sprint », une semaine durant laquelle les développeurs sont réunis dans une salle pour travailler à plein temps sur le projet et faire avancer les choses.

Vous pouvez également rencontrer certains développeurs aux RMLL, au FOSDEM, au Capitole du Libre, aux JDLL ou à l’Alchimie tous les deux ans. Ce sont autant d’occasions pour donner des conférences et mieux faire connaître le projet.

Vers une version bêta

Depuis 2012, le développement continue, avec du travail sur le moteur HTML WebKit, les portages x86_64, PowerPC et ARM, la gestion des médias en streaming (webradios, par exemple), mais surtout la gestion de l’USB 3 (disponible dans les nightly builds depuis quelques semaines) et le gestionnaire de paquets, qui était la dernière grosse fonctionnalité manquante pour une version bêta de Haiku. Une grosse partie du travail consiste à mettre en place les serveurs qui se chargeront de compiler les paquets binaires pour les dépôts de logiciels, et de préparer les « recettes » contenant les instructions pour compiler ces paquets.

Malgré un délai un peu long depuis la dernière publication (plus de 3 ans), les choses avancent.

Les efforts de développement se concentrent actuellement sur plusieurs points, pour la livraison des versions bêta 1 puis R1 :

  • le système de compilation automatique des paquets pour les dépôts de logiciels ;
  • les pilotes de périphériques, en particulier l’USB 3 et les cartes graphiques Intel ;
  • diverses nouveautés dans l’interface kit (l’API pour les interfaces graphiques) et des applications en bénéficiant ;
  • l’intégration du « launch daemon », un gestionnaire de services. Auparavant, un simple script Bash suffisait à démarrer le système, mais cela ne s’interfaçait pas bien avec le découpage en paquets (chaque paquet devant modifier l’unique script pour s’intégrer dans la séquence de démarrage). Le launch daemon permet la déclaration des services chacun dans un fichier séparé, avec la gestion des dépendances et des évènements (montage des disques, connexion au réseau), ainsi que le redémarrage automatique des services en cas de crash.

Un travail de longue haleine est en cours pour corriger plusieurs problèmes détectés par Coverity et PVS Studio, deux outils d’analyse statique conçus pour détecter les problèmes de sécurité et certaines erreurs courantes. Ces deux outils commerciaux proposent une offre gratuite pour les projets libres, qui leur permet de tester leurs outils sur différentes bases de code. Les développeurs de PVS Studio ont également publié une analyse des problèmes détectés les plus intéressants.

La version bêta 1 de Haiku remplacera GCC 4 par GCC 5. Actuellement, c’est la version 5.3 qui est proposée dans les nightly builds, mais cela peut changer en fonction des versions publiées par le projet GCC.

Nouveautés dans la communauté

En dehors des évolutions de Haiku lui‐même, les choses bougent dans le projet et dans la communauté.

Le site Web de Haiku va migrer de Drupal 6 (en fin de vie) vers Hugo et Discourse. Cela le rendra plus adaptatif (responsive) et permettra de réorganiser un peu le contenu.

Haiku a cette année encore participé avec treize autres organisations au Google Code-In (GCI) donnant aux 13-17 ans une première expérience de contribution à des projets libres. Haiku participe à GCI depuis la première édition en 2010. Et, s’il n’a pas été retenu parmi les très nombreux candidats aux Google Summer of Code (GSoC) cette année, des participations antérieures ont apporté de nombreuses contributions (API de localisation, support IPv6, ext3, client natif NFSv4, additions invités pour VirtualBox, portage de libusb, du compilateur et runtime Go, d’OpenJDK, mise à jour du portage SDL 1.3, le support de l’architecture x86_64…), ainsi que des contributeurs réguliers.

Moins bonne nouvelle, les sites haikuware.com et bebits.com, qui étaient les dépôts de logiciels historiques pour Haiku et BeOS, sont maintenant hors ligne suite à des désaccords entre le propriétaire du site et le projet Haiku. Cependant, le nouveau gestionnaire de paquets les remplace avantageusement et plusieurs nouveaux dépôts apparaissent, qui sont compatibles avec ces nouveaux outils. On peut notamment consulter la liste des paquets en ligne sur Haiku Depot Server, le site qui permet d’annoter les paquets pour une belle présentation dans l’application Haiku Depot (icônes, captures d’écran, descriptions dans plusieurs langues, commentaires et évaluations).

D’autre part, le projet HaikuArchives rassemble le code source de nombreuses applications pour Haiku et BeOS, qui ont été abandonnées par leurs auteurs originaux. Ceci permet d’assurer la maintenance de ces applications, en attendant qu’elles soient reprises par de nouveaux développeurs. Pour la plupart de ces applications, les sources étaient déjà disponibles, mais certaines ont été diffusées pour la première fois par les auteurs originaux suite aux demandes du projet HaikuArchives. Une façon un peu inhabituelle, mais plutôt efficace, de produire du logiciel libre.

Enfin, Haikuports reçoit régulièrement des pull requests rajoutant de nouvelles recettes et correctifs. Plus de 140 personnes ont déjà participé.

Télécharger ce contenu au format Epub

Lire les commentaires

Toulouse, le Capitole du Libre 2016, l'appel à participation est lancé !

18 août, 2016 - 09:32

L’édition 2016 du Capitole du Libre se tiendra cette année les samedi 19 et dimanche 20 novembre à l’ENSEEIHT de Toulouse. Le Capitole du Libre est un événement consacré aux Logiciels Libres et à la culture libre. Organisé par l’association Toulibre avec l'aide des clubs étudiants de l'ENSEEIHT (Net7, TVn7, CAn7), il est orienté à la fois vers le grand public et le public spécialisé.

Des conférences et des ateliers auront lieu tout au long du week-end ; des stands et des animations seront proposés au public pour leur faire découvrir le monde du Libre.

L’appel à participation est ouvert jusqu’au 30 septembre 2016 à minuit, vous pouvez proposer une conférence ou un atelier (ou les deux) sur ce lien. Il est également possible de demander un espace pour un stand associatif/communautaire.

Communautés du libre, si vous souhaitez vous réunir sur Toulouse pour l'occasion, il est encore temps de nous envoyer un courriel sur contact (at) capitoledulibre.org

Au programme cette année :

  • découverte du libre ;
  • enjeux du Libre ;
  • libertés et vie privée à l’ère du numérique ;
  • culture libre et communs ;
  • logiciels libres au quotidien ;
  • technique ;
  • DevOps ;
  • objets connectés et embarqués ;
  • technologies Web ;
  • 3D, création graphique et multimedia.

Un nouvel outil d’appel à participation est utilisé cette année. Si vous rencontrez des problèmes, si des évolutions vous semblent nécessaires, n’hésitez pas à le signaler.

Les personnes qui souhaitent se joindre à nous pendant l'événement en tant que bénévole peuvent également nous envoyer un courriel pour nous le faire savoir. L'outil actuel évoluera certainement pour autoriser les propositions liées au bénévolat.

Télécharger ce contenu au format Epub

Lire les commentaires

Firefox 48 : API WebExtensions, Electrolysis et sécurité

17 août, 2016 - 08:57

La 48e version de Firefox est sortie le 2 août 2016, et c’est un gros morceau, même si cela ne sautera pas immédiatement aux yeux de l’utilisateur ! L’essentiel des nouveautés consiste en effet en d’importantes mises à jour d’architecture qui vont permettre de débuter un nouveau cycle qui portera ses fruits progressivement :

  • l’arrivée à maturité des WebExtensions va autoriser la conversion progressive des extensions existantes à ce nouveau format qui offre plus de facilité pour les développeurs visant plusieurs navigateurs et plus de sécurité pour l’utilisateur ;
  • le déploiement progressif chez les utilisateurs du mode multi‐processus (cette avancée étant, in fine, liée à la précédente) permettant une meilleure réactivité de l’interface et, à terme, une plus grande sécurité ;
  • la préparation de Firefox pour recevoir du code Rust, qui offre une plus grande sécurité que le code C++, par exemple.

Fait notable de cette version : désormais il n’est plus possible de passer outre l’obligation de recourir à des extensions signées !

Sommaire Version bureau Oxydation

La rouille va commencer à oxyder Firefox avec cette version qui est la première à comporter du code écrit en Rust ! En l’occurrence, il s’agit du nouvel analyseur de fichiers MP4 écrit par Ralph Giles et Matthew Gregan (cf. notre précédente dépêche), qui remplace donc son équivalent C++ dans Gecko. Ce remplacement se fait à performances identiques, mais avec les bénéfices en sécurité inhérents au langage Rust. L’objectif de long terme étant que Gecko et Servo partagent de plus en plus de code Rust.
Notons que l’oxydation débute avec la version bureau, et ce, simultanément pour tous les systèmes d’exploitation habituellement pris en charge par Firefox (Nathan Froyd, Nick Nethercote, Ted Mielczarek, Gregory Szorc et Alex Crichton ont préparé Firefox à cet effet). La version pour Android devrait suivre rapidement.
C’est également la première fois que du code Rust va être déployé à aussi grande échelle : la communauté derrière ce langage peut légitimement s’estimer satisfaite.

Signature requise pour les extensions

Les extensions (modules de type 2) doivent être signées par Mozilla, sinon elles ne pourront être installées (et les extensions déjà installées seront désactivées). Ce comportement n’est pas réversible dans la version bureau (la préférence cachée permettant de contrôler ce comportement sera supprimée de la version Android dans une prochaine version). Firefox ESR 45 (édition longue durée actuelle) imposait déjà la signature des extensions, mais réversible avec la préférence cachée. Ce ne sera plus le cas dans la prochaine ESR.

Ce comportement est gênant pour les développeurs d’extensions, car il bloque la possibilité de tester les versions de développement des extensions (en particulier les versions bêta). C’est pourquoi le blocage est désactivé pour les versions « Developer Edition » et nightly de Firefox [source]. En effet, ces versions clairement annoncées comme instables et prévues pour faire des tests de développement (Firefox est une marque de Mozilla qui annonce un gage de qualité), il est naturel de pouvoir y installer des versions instables des extensions. Malheureusement, ces versions n’ont pas de mises à jour automatiques et sont disponibles uniquement en anglais.

De plus, depuis Firefox 40, il n’est plus possible d’imposer l’installation et l’activation d’extensions pour améliorer la sécurité. Les admins sys d’écoles ou d’entreprises, par exemple, ont eu peur de voir arriver cette restriction dans Firefox ESR, la version à support étendu du navigateur Web. Firefox ESR 38 n’est plus pris en charge depuis peu, et Firefox ESR 45 possède ces restrictions : pour tous les cas qui ne sont plus pris en charge directement par Firefox, il est possible d’utiliser l’extension CCK2.

Modifications de l’interface utilisateur Barre de recherche

La barre de recherche fait bouger les icônes correspondant aux onglets et aux marque‐pages sur le côté gauche, au lieu du côté droit.

La taille de la barre de suggestion remplit maintenant toute la largeur de la page.

Nouvelle page Catalogue des modules complémentaires

Comme le notait gHacks en juillet, Firefox 48 dispose dans son gestionnaire de modules complémentaires d’une page Catalogue refondue.

Amélioration de la protection des téléchargements malveillants

Grâce aux progrès du service de navigation sécurisé de Google, Firefox 48 améliore sa protection contre les téléchargements malveillants et en profite pour améliorer son interface et le contrôle des options par l’utilisateur. Voyez cet article en français et le billet du blog communautaire francophone expliquant comment fonctionne le blocage des sites malveillants dans Firefox.

Deux catégories sont ajoutées à la protection existante :

  • les logiciels potentiellement indésirables qui provoquent des changements inattendus sur votre ordinateur, qui sont utilisés pour collecter vos informations personnelles sans votre consentement et qui peuvent complexifier leur désinstallation ;
  • les téléchargements peu fréquents qui protègent contre le téléchargement d’un logiciel populaire comme Firefox ou VLC depuis une source inhabituelle et potentiellement malveillante vers laquelle un hameçonnage (phishing) vous aurait amené.
Les applications du Firefox Marketplace ne fonctionnent plus sur ordinateur

À compter de Firefox 48, les applications autonomes basées sur le moteur de Firefox qui pouvaient être installées depuis le Firefox Marketplace, la boutique d’applications de Mozilla pour Firefox OS surtout, ne fonctionneront plus. L’article de SUMO (support.mozilla.org) conseille de chercher l’application sur le Web, d’utiliser une application alternative ou Firefox ESR (édition longue durée qui les prend en charge pour un an encore).

Réduction de l’utilisation d’Adobe Flash

Comme l’annonce Benjamin Smedberg dans un billet traduit par la communauté Mozilla francophone :

Dès le mois d’août, Firefox bloquera certains contenus Flash qui ne sont pas indispensables à la navigation, tout en continuant de prendre en charge les anciens contenus Flash. Ces changements et ceux à venir vont faire bénéficier les utilisateurs de Firefox d’une sécurité renforcée, d’une réduction de la consommation énergétique, d’un chargement plus rapide des pages Web et d’une plus grande réactivité lors de la navigation.

Afin de minimiser les problèmes de compatibilité entre les sites Web, les modifications seront d’abord limitées à une liste courte, contrôlée, de contenus Flash pouvant être remplacés par du HTML.

Version Android Qwant dans les moteurs de recherche

Qwant fait son entrée dans la liste des moteurs de recherche de Firefox pour Android (également, depuis le 27 juillet, dans Firefox pour iOS) pour les versions locales francophones, du Royaume‐Uni et d’Allemagne. Voyez cette interview de J-B Piacentino, un ancien de Mozilla, sur l’accord entre Qwant, le moteur de recherche français respectueux de la vie privée et de la neutralité des recherches, et Mozilla.

Écran d’accueil intelligent Suggestions d’Amazon

Dans cette version 48 pour Android, les suggestions de recherche de produits chez Amazon ont été ajoutées à l’écran d’accueil intelligent.

Ajout des sites fréquemment visités possible

Dans le volet Les plus visités, une vignette « + » vous permet d’ajouter vos sites fréquemment visités à votre écran d’accueil.

Sync

Un nouveau point d’entrée a été ajouté à l’écran d’accueil intelligent pointant vers la création d’un compte Firefox pour les nouveaux utilisateurs.

Définition comme navigateur par défaut plus facile

Pour Android 6 Marshmallow et les versions supérieures, il est plus facile de définir Firefox comme le navigateur par défaut sur Android.

Commun WebExtensions


Les WebExtensions sont déclarées stables dans cette version de Firefox et Mozilla recommande aux développeurs d’extensions de commencer à utiliser l’API correspondante. Comme nous le soulignions dans la dépêche précédente, la fondation s’est assurée que l’API (notamment la partie WebRequest) permettait à des extensions populaires ayant trait à la sécurité et à la vie privée comme Ghostery, RequestPolicy, NoScript (cf. ce billet de blogue) et uBlock Origin de fonctionner avec ce nouveau modèle, quitte à étendre l’API de base qui est commune à Chrome. Par ailleurs, les WebExtensions débarquent sur la déclinaison Android du navigateur à partir de cette version 48.

Des corrections et compléments sont dans les tuyaux pour la version 49 : https://blog.mozilla.org/addons/2016/06/09/webextensions-for-firefox-49/

La documentation de Mozilla a été mise à jour pour l’occasion.

Multi‐processus


Dans les versions actuelles de Firefox pour bureau, le navigateur ne s’exécute que dans un seul processus du système d’exploitation. En particulier, le JavaScript exécutant l’interface graphique du navigateur (également connu sous le nom « code Chrome ») s’exécute dans le même processus que celui présent dans les pages Web (appelé aussi « contenu » ou « contenu Web »).
Les versions futures de Firefox vont exécuter l’interface du navigateur dans un processus différent de celui des pages Web. Dans la première itération de cette architecture, tous les onglets tourneront dans le même processus et l’interface utilisateur du navigateur dans un processus différent. Dans les itérations suivantes, nous espérons avoir plus d’un processus pour le contenu. Le projet qui consiste à apporter le multi‐processus dans Firefox est appelé Electrolysis, qui s’abrège en e10s.
Les pages Web classiques ne sont pas affectées par l’apparition du multi‐processus dans Firefox. Les développeurs travaillant sur Firefox lui‐même ou les extensions du navigateur seront affectés si leur code repose sur la possibilité d’accéder directement à du contenu Web.

[https://developer.mozilla.org/fr/Firefox/Multiprocessus_Firefox]

Avec la version 48, 1 % des utilisateurs remplissant les conditions de déploiement à ce stade auront le mode multi‐processus activé pour commencer. Les utilisateurs exclus de la population éligible sont les utilisateurs sous Windows XP, les utilisateurs de lecteurs d’écran, les utilisateurs RTL (écriture de droite à gauche) et les utilisateurs d’extensions. Les 1 % permettront des comparaisons et des retours. Si tout va bien, tous les autres utilisateurs éligibles recevront e10s dans les semaines suivantes. Sinon, le déploiement pourra être ralenti ou suspendu, et e10s pourra même être désactivé chez ceux l’ayant déjà reçu [source].

Pour déterminer si le navigateur Firefox présent sur son ordinateur a activé e10s, il suffit de taper « about:support » dans la barre d’adresse. Si e10s est activé, le message « 1/1 (activé par défaut) » apparaîtra sur la ligne Fenêtres multi‐processus [source]. Les plus téméraires d’entre vous peuvent forcer l’activation d’e10s en allant dans about:config, clic droit → NouvelleValeur booléenne, lui donner pour nom browser.tabs.remote.force-enable et lui donner la valeur true, puis redémarrer le navigateur. Pour annuler, changez la valeur pour false.

https://blog.mozilla.org/futurereleases/2016/08/02/whats-next-for-multi-process-firefox/
https://mozillazine-fr.org/appel-a-laction-pour-firefox-multi-processus-et-les-extensions/
https://asadotzler.com/2016/06/06/firefox-48-beta-release-and-e10s/
https://wiki.mozilla.org/Electrolysis#Schedule
https://wiki.mozilla.org/E10s/Status/July22

Pour les développeurs

https://developer.mozilla.org/en-US/Firefox/Releases/48

Installer Firefox

Les systèmes Android 2.3 d’une part et Mac OS X 10.6, 10.7 et 10.8 d’autre part ne sont plus pris en charge à partir de cette version. Les MacOSeux concernés se tourneront vers Firefox 45 ESR pour bénéficier d’un petit sursis et continuer à recevoir des mises à jour pendant un temps.

Prochaines versions Fonctionnalité de synthèse vocale

https://forums.mozfr.org/viewtopic.php?p=823117&sid=7671b0814735f38ef40afac9c65d3807#p823117
http://www.ghacks.net/2016/03/08/narrate-text-to-speech-firefox/

Modernisation de la version pour GNU/Linux

Après le passage chaotique de GTK+2 à GTK+3, voici venir : l’abandon des dépendances obsolètes libgnome et libgnomeui (obsolètes suite au projet Ridley qui prédate GNOME 3, les plus âgé[e]s s’en souviendront peut‐être), le bac à sable (bogue général toutes plates‐formes), OpenGL accelerated layers par défaut, portage de X.Org vers Wayland (un paquet expérimental est disponible pour Fedora).

Fonctionnalité Container Tab

Comme expliqué par Abraxas sur le forum Geckozone :

« En gros, un conteneur offre un degré de cloisonnement pour le surf au sein d’un même profil. Ça peut être utile si vous souhaitez ne pas polluer votre session actuelle par vos comptes sociaux qui aiment souvent bien savoir quel(s) site(s) vous avez visité(s). Ou, par exemple, lancer une session shopping, divertissement, etc., au boulot, en dehors de la session de travail.

On pourra aussi ouvrir plusieurs comptes sur un même site sans changer de profil, car le conteneur sépare les cookies, le cache HTTP, localStorage, indexedDB, etc. Un conteneur se lance depuis le menu Fichier ou en mettant une icône “nouveau conteneur” depuis le menu de personnalisation. »

Comme le rappelle ce billet de Genma, vous pouvez d’ores et déjà tester cette fonctionnalité (et bien d’autres) si vous choisissez la version nightly, évoquée sommairement dans notre précédente dépêche. Pascal Chevrel qui est à l’origine de ce reboot Nightly l’explique dans cette interview du blog communautaire francophone.

Version 50  Option de sélection des sous‐titres

https://bugzilla.mozilla.org/show_bug.cgi?id=887934

Le certificat racine de Let’s Encrypt sera reconnu par Firefox dès la version 50

http://www.nextinpact.com/news/100908-le-certificat-racine-lets-encrypt-sera-reconnu-par-firefox-des-version-50.htm

Évolution du programme Test Pilot

Il n’est plus nécessaire d’avoir un compte Firefox pour souscrire au programme Test Pilot évoqué dans notre précédente dépêche.

Fin programmée de la prise en charge des différents greffons NPAPI

« Firefox prévoit d’arrêter le support des différents greffons NPAPI, à l’exception de Flash, en mars 2017. La prochaine version ESR de Firefox, également planifiée pour mars, continuera à prendre en charge les greffons tels que Silverlight et Java jusqu’en début 2018, pour permettre aux utilisateurs de mettre en place une transition. »

Et, s’agissant du cas particulier de Flash : « En 2017, Firefox rendra obligatoire la demande d’activation affichée aux utilisateurs avant qu’un site Web puisse activer le greffon Flash, quel que soit le contenu. »
Vous en saurez plus en lisant ce billet.

Disparition de Hello

Hello, la fonctionnalité de discussion audio et vidéo basée sur WebRTC disparaît à partir de la version 49, le rapport de bogue le demandant n’explique pas les raisons derrière ce choix. Il n’y a pas non plus de date de suppression de la version serveur, mais, comme ce n’était pas inclus dans les versions ESR, on peut supposer que cela disparaîtra assez vite.

Autour de Firefox Firefox 5.0 pour iOS

Cette déclinaison, qui, rappelons‐le, s’appuie obligatoirement sur le moteur de rendu WebKit proposé par Apple au sein d’iOS (au lieu, en l’occurrence, de Gecko, celui conçu par Mozilla), reçoit également une mise à jour : vous pouvez découvrir la liste des nouveautés ici.

Servo/Rust

B2G OS

  • B2G OS (ex‐Firefox OS pour smartphones).

https://firefoxos.mozfr.org/post/2016/06/B2G-OS-pour-smartphones-c-est-votre-moment

Code Markdown de l’article de MozFr : https://public.etherpad-mozilla.org/p/Firefox_48_MozFr — Mozinet.

Télécharger ce contenu au format Epub

Lire les commentaires

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

16 août, 2016 - 16:11

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

Sommaire

[Le Monde.fr] Bernard Cazeneuve veut «une initiative européenne» contre le chiffrement

Par la rédaction, le vendredi 12 août 2016. Extrait:

La France veut porter avec l’Allemagne une initiative européenne puis internationale sur le chiffrement des communications, qui complique la lutte contre le terrorisme, a annoncé Bernard Cazeneuve, jeudi 11 août. Le ministre de l’intérieur travaillera sur ce sujet avec son homologue allemand le 23 août, à Paris, «pour que nous puissions sur cette question lancer une initiative européenne destinée à préparer une initiative plus internationale permettant de faire face à ce nouveau défi», a-t-il dit.

Lien vers l'article original: http://www.lemonde.fr/pixels/article/2016/08/12/bernard-cazeneuve-veut-une-initiative-europeenne-contre-le-chiffrement_4981741_4408996.html

Et aussi:

Voir aussi:

[Le Courrier] Décoloniser internet

Par Benito Perez, le vendredi 12 août 2016. Extrait:

La concentration des moyens de communication menace les libertés citoyennes. La riposte s'organise au Forum social mondial de Montréal

Lien vers l'article original: http://www.lecourrier.ch/141463/decoloniser_internet

[NRJ.fr] Comment se spécialiser dans l’informatique open source?

Par la rédaction, le mardi 9 août 2016. Extrait:

Le numérique est l’un des secteurs les plus porteurs pour les jeunes qui recherchent du travail. L’open source, soit la création de logiciels libres, est une des branches qui recrute le plus. Mais comment faire pour se spécialiser dans ce domaine particulier?

Lien vers l'article original: http://www.nrj.fr/active/tendances/comment-se-specialiser-dans-l-informatique-open-source-31265741

[WebZeen] ERP open source: l'avantage du logiciel libre

Par Andrea Bensaid, le mardi 9 août 2016. Extrait:

L’ERP open source ou Enterprise Ressource Planning open source, est une solution informatique incontournable pour les petites et les moyennes entreprises. Les spécificités de l’ERP open source sont en effet plus appropriées aux PME parce que, comme on peut voir sur ce site, ce type de logiciel s’adapte aux besoins particuliers des utilisateurs. Faisons un zoom sur les avantages de ce logiciel libre.

Lien vers l'article original: http://www.webzeen.fr/dossier/erp-open-source-lavantage-logiciel-libre/20873

[Developpez.com] La Maison Blanche publie Federal Source Code

Par Stéphane le calme, le mardi 9 août 2016. Extrait:

Après avoir vanté les bénéfices de l’open source au sein du gouvernement, en mars dernier, l’administration Obama a publié un Draft de son projet baptisé Federal Source Code, un ensemble de règles qui devraient permettre aux agences du gouvernement américain d’être plus efficaces sur le code qu’elles rédigent.

Lien vers l'article original: http://www.developpez.com/actu/102403/La-Maison-Blanche-publie-Federal-Source-Code-un-ensemble-de-regles-qui-devront-aider-les-agences-a-mieux-embrasser-l-open-source

[Next INpact] Le ministère de l’Éducation assigné en justice pour son partenariat avec Microsoft

Par Xavier Berne, le mardi 9 août 2016. Extrait:

La convention de « partenariat » liant le ministère de l’Éducation nationale et Microsoft sera bientôt débattue devant la justice. Le collectif EduNathon, pour qui il s’agit en réalité d’un marché public déguisé, a déposé aujourd’hui un référé auprès du tribunal de grande instance de Paris. Une audience est prévue pour le 8 septembre.

Lien vers l'article original: http://www.nextinpact.com/news/100933-le-ministere-l-education-assigne-en-justice-pour-son-partenariat-avec-microsoft.htm

Et aussi:

Voir aussi:

Télécharger ce contenu au format Epub

Lire les commentaires

SELKS 3.0 une distro pour l’analyse réseau et sécurité

15 août, 2016 - 08:05

SELKS est une distribution autonome (live) et installable qui fournit une solution de détection d’intrusion réseau et de supervision de la sécurité orientée réseau basée sur le moteur Suricata. SELKS utilise les outils Elastic pour le stockage et l’analyse des données. La version 3.0 intègre Elasticsearch 2.x et Kibana 4.x, offrant ainsi une analyse des données plus flexible et performante que dans les versions précédentes.

Concrètement, SELKS vous permet d’analyser le trafic d’un réseau en temps réel pour extraire des informations protocolaires et détecter des anomalies. Suricata réalise cette analyse et les outils Elastic se chargent, eux, de stocker et de représenter les données générées.

SELKS est installable avec ou sans interface graphique et s’utilise au jour le jour depuis le navigateur. L’interface Web comporte Scirius pour la gestion des signatures, qui est en charge de l’analyse premier niveau des données et de la gestion des signatures actives. Pour la consultation des événements et leur analyse, deux interfaces sont présentes, à savoir Kibana et Evebox. La première est une célèbre interface de tableaux de bord qui est livrée dans SELKS avec des tableaux de bord préconfigurés. La seconde, est une interface présentant les alertes dans une représentation de type boîte de courriel, qui permet de les acquitter ou de les marquer comme importante.

La distribution SELKS est basée sur Debian live. Les sources pour la construction de l’image ISO sont disponibles sous licence GPL v3 sur la page GitHub du projet.

Télécharger ce contenu au format Epub

Lire les commentaires