Linux France

S'abonner à flux Linux France
Mis à jour : il y a 1 heure 1 min

À Toulouse, ouverture d'une formation de développeur d'Applications « full-stack »

Jeudi 25 Août

Une nouvelle formation 100% open-source ouvre à l'INP/ENSEEIHT de Toulouse fin octobre : "Développeur d'Applications Full-Stack". L'école publique d'ingénieurs ENSEEIHT accueille la formation et offre un campus avec toutes les facilités en plein centre de Toulouse ; elle délivrera un diplôme bac+3. L'ensemble est structuré en 5 mois d'enseignement de novembre à mars suivis de 4 mois de stage en entreprise d'avril à juillet.

Elle vise à combler le manque de développeurs d'applications web et mobiles, en les formant aux technologies les plus demandées : Python, Node.JS, Angular, React, Git, etc. Bien sûr toute la formation sera faite sous Linux, sous une forme essentiellement appliquée de classes inversées.

Un projet 'fil-rouge' choisi par groupes d'étudiants leur permettra de développer une application de leur choix - l'occasion aussi de concrétiser un projet de start-up pour ceux le souhaitant.

5 entreprises partenaires participent aux enseignements et sont prêtes à signer des « Préparations Opérationnelles à l’Emploi » (POE) tant la demande est grande dans ce secteur. La POE permet à un demandeur d'emploi d'être financé par Pôle Emploi,

L'inscription est possible jusqu'à début octobre et il reste des places vacantes. Le profil recherché est ouvert (un simple entretien d'admission aura lieu). Parlez-en autour de vous, si vous avez des amis qui ont la fibre numérique et qui souhaitent se réorienter vers un métier passionnant et porteur.

Télécharger ce contenu au format Epub

Lire les commentaires

Appel de wallabag aux fabricants de liseuse

Mercredi 24 Août

La rentrée littéraire approche. C'est l'occasion de lancer un petit appel aux fabricants de liseuses.

wallabag est un service de lecture différée : vous sauvegardez en un clic des articles web dans votre compte et vous les lisez plus tard en mode déconnecté sur votre smartphone ou tablette. Le tout dans un mode épuré pour vous concentrer uniquement sur le contenu de l'article. Une présentation vidéo existe et vous permettra de mieux comprendre l'idée.

Il s'agit d'une alternative libre et opensource à Pocket, une solution propriétaire déjà intégrée sur les liseuses Kobo.

L'idée : voir wallabag intégré chez un ou plusieurs fabricants de liseuses.

Le travail à fournir n'est pas impressionnant : wallabag propose déjà un export des articles aux formats ePUB et PDF (et bien d'autres). Techniquement, wallabag propose une API pour permettre aux applications des liseuses de récupérer les contenus sauvegardés.

Si vous travaillez dans le monde de l'édition numérique, si vous êtes fabricants de liseuses (et vous souhaitez concurrencer Kobo :-) ), si vous connaissez quelqu'un qui travaille dans l'édition numérique, si vous souhaitez pouvoir utiliser wallabag sur votre liseuse, écrivez à nicolas CHEZ loeuillet.org, contactez-le via twitter @nicosomb, partagez ce message, commentez-le ci-dessous, diffusez-le :).

Pour tous ceux qui se demandent quel est l'intérêt d'une liseuse vis-à-vis d'un bouquin papier, les lecteurs de LinuxFr.org ont listé quelques avantages, façon Prévert :

  • Une lisibilité excellente, même dehors.
  • Et la nuit alors ? Avec une liseuse éclairée on peut lire sans lumière donc sans déranger la personne qui dort à côté :-) ; en plus le changement de page est complètement silencieux, l'autre à côté apprécie d'autant mieux!
  • Des centaines de bouquins dans un espace super réduit (idéal pour les voyages, le camping, la randonnée, … c'est les vacances, pas les ennuis).
  • Idéal aussi dans la poche : la liseuse rentre dans la poche, le bouquin ça déroche.
  • Et puis tous les bouquins n’existent pas en format poche.
  • Ça prend moins de place dans une bibliothèque.
  • C'est léger, beaucoup plus léger, ce qui est pratique quand on lit des pavés, ou pour partir en congés, et même à l'étranger.
  • Les déménagements sont moins pénibles :-)
  • Marque-pages automatique.
  • Peut-être que c’est juste une autre manifestation du syndrome des deux mains gauches (ou quatre pieds gauches), mais les marques-pages ont tendance à s’égarer et on perd à chaque fois plusieurs minutes à retrouver où on en était avec les bouquins papier.
  • L'achat ou la dépose de fichiers sont super simples.
  • L'autonomie en semaines (un avantage de la liseuse contre un autre équipement électronique).
  • Les livres peuvent être moins chers : ce n'est pas forcément le cas, mais ça l'est toujours pour les livres dans le domaine public.
  • Ça permet de garder ses livres même après un accident : si la liseuse est perdue, passe sous l'eau ou brûle, elle est aussi fichue qu'un livre en papier le serait dans les mêmes conditions, mais les livres eux-mêmes, si on est prévoyant, on en a une sauvegarde sur son PC Debian.
  • Ça permet de lire dans des positions impossibles avec un livre en papier, par exemple dans un bus bondé ou avec zéro main (sauf une de temps en temps pour tourner la page), ou encore allongé sur le côté (pour faire ça avec un livre en papier, il faut un bras sous le corps pour tenir un côté du livre, ce qui est intenable parce que le sang ne peut pas bien y circuler, et un bras au-dessus pour tenir l'autre côté, ce qui est épuisant).
  • Suivre très facilement les notes, les renvois, le glossaire d'une simple pression du doigt.
  • De plus si la note renvoie vers un lien sur le oueb, la liseuse est généralement connectée à un réseau, ce qui permet de le consulter très facilement à tout endroit.
  • L'accès au dictionnaire en un quart de seconde… C'est bien sûr évident quand on lit dans une langue étrangère. Mais c'est aussi très utile en français. On se retrouve subitement à vérifier la définition de certains mots alors que, par paresse, on ne l'aurait jamais fait avec un livre papier.
  • Le dictionnaire anglais-français intégré. Mine de rien bien utile pour la lecture de certains romans.
  • Ça permet de lire des articles arXiv sans les imprimer et se trimbaler avec des feuilles A4 agrafées.
  • De même, on peut exporter des blogs/sites web vers sa liseuse.
  • La possibilité de surligner et retrouver facilement les passages intéressants « à développer »
  • Ensuite, la possibilité d'avoir ainsi plusieurs livres à disposition. Pour deux raisons :
    1. parce qu'on lit plusieurs livres en parallèle
    2. parce qu'il arrive qu'on finisse un livre pendant la première moitié d'un trajet de plusieurs heures.
  • Un bouquin papier qui tombe dans l’herbe ou la boue est défiguré à vie. Une liseuse ça se nettoie.
  • Un bouquin papier tient mal l’humidité genre rosée, la liseuse aucun souci.
  • Il y a même des liseuses étanches, donc on peut lire sous l'eau :)
  • Pour ceux qui détestent avoir trop de choses chez eux, un bouquin physique fini qui traîne est une gêne. La perte de temps qu’est la logistique pour s’en débarrasser (que ce soit donnons.org/vente d’occasion qui demande de prendre rendez-vous avec un particulier, ou aller à Emmaüs) insupporte au plus haut point.
  • De même, la logistique pour se procurer le bouquin (aller à la bibliothèque/la librairie) peut ennuyer. La liseuse c’est trois clics. Bon, heureusement aujourd’hui il y a des libraires en ligne, c’est moins contraignant.
  • Pouvoir se trimbaler avec 1 ou 2 bouquins de chaque genre (SF, physique, fantasy, philosophie, économie) pour pouvoir choisir ce qui nous fait envie.
  • Pouvoir garder des bouquins sous le coude sans s’encombrer. Avant il devait être réellement exceptionnel. Du genre LA référence du genre. Maintenant aucun scrupule à garder des bouquins électroniques « pas trop mal » (et c’est là qu'on se rend compte que « devrais-je garder ce bouquin ? » après l’avoir refermé et « ai-je bien fait de garder ce bouquin » 6 mois plus tard sont des questions bien différentes avec des réponses bien différentes).
  • Ça permet aussi de choisir la taille des caractères, la fonte, les espacements interlignes. Bref, toute la mise en page. C'est un chouia plus compliqué sur le papier.
  • Ça semble anecdotique, mais des bouquins avec du papier un peu trop transparent ou avec des caractères trop petits, des lignes trop espacées, etc. on en trouve à la pelle (et comme les préférences varient d'un lecteur à l'autre, c'est dur de contenter tout le monde).
  • Et en parlant de caractères, il existe des polices d'écriture spéciale pour les dyslexiques (comme opendyslexic.org par exemple).

Ceci étant dit, il est évident qu'une liseuse n'a rien d'indispensable, on vit très bien avec des livres en papier. Et on ne découvre les avantages (et les inconvénients) d'une liseuse qu'en essayant, et en essayant assez longtemps : si tu n'essaie pas en vacances par exemple, tu passeras à côté d'une bonne partie de l'intérêt de ces appareils.

NdM.: la liste des défauts reste à faire (pollution, coût, éventuel problème d'interopérabilité, gestion de mises à jour, DRM éventuel, etc.).

Télécharger ce contenu au format Epub

Lire les commentaires

Financement participatif de HandyDV Linux et sa machine à lire

Mardi 23 Août

Nous autres, êtres humains, possédons cinq sens majeurs mais savez‐vous que la vision représente 80 % de l’ensemble des sens utilisés au quotidien !

La seconde partie de la dépêche, après un petit retour sur la mal‐voyance, évoque HandyDV Linux, un projet de machine à lire gratuite, en recherche d’un financement participatif.

Sommaire Petit retour sur la mal‐voyance

Selon les critères de l’OMS (Office Mondial de la Santé), une personne est dite malvoyante lorsque son acuité visuelle est inférieure à 3/10e après correction pour le meilleur œil ou lorsque son champ de vision est réduit à 5 degrés. Si vous être myope, par exemple avec -2,5 dioptries, sans vos lunettes correctrices, vous êtes déjà aux 3/10e de vision. Un champ de vision à 5 degrés, c’est voir le monde au travers du chas d’une petite aiguille à coudre !

La mal‐voyance est un handicap invisible à nous autres mais ayant des répercussions sans pareilles dans la vie sociale et dans les actes de la vie quotidienne. Tout devient bien plus compliqué. Et que dire de la vie des non‐voyants où l’environnement et le quotidien deviennent un parcours d’obstacles. La technologie devient alors une aide, encore faut‐il la maîtriser. Les non‐voyants savent mieux que quiconque aiguiser leurs autres sens et les développer à l’extrême, notamment l’ouïe, le toucher ou l’odorat. On a vu ainsi, à Châteaubriant, un moniteur d’auto‐école non‐voyant. Il savait, à l’oreille, quand le feu passait au vert ! En Belgique, à Fontaine‐Lévêque, des non‐voyants peuvent s’inscrire à une auto‐école. D’autres personnes ont développé des capacités que certains mammifères marins utilisent : l’éco‐localisation.

Mais lire un papier, son courrier, ses relevés bancaires ? Vous allez me dire, il y a le braille ! Oui, mais les devenus non‐voyants sont peu nombreux à pouvoir l’apprendre (perte de la sensibilité fine au bout des doigts).

Sur un papier, les lettres n’ont ni odeur, ni relief , elles ne font pas de bruit et restent absolument silencieuses. Il existe heureusement des machines à lire, mais leur prix est prohibitif : au minimum 3 000 euros. L’isolement, le repli sur soi guettent.

HandyDV Linux

C’est là qu’intervient un projet formidable, développé par un Alsacien, Christophe Lévêque, qui prépare une machine à lire gratuite. Mais plus encore : un système d’exploitation, baptisé HandyDV Linux, permettant aux mal‐voyants, non‐voyants, débutants et autres, d’être à l’aise avec un ordinateur. Et pas un ordinateur sophistiqué : un simple ordinateur et même un ordinosaure, c’est‐à‐dire un ordinateur de 5 à 10 ans d’âge. Et tout ça gratuitement.

Testé pour vous

Nous avons testé pour vous et vous pourrez voir par vous‐même, car la machine à lire sera en démonstration au forum des associations à Châteaubriant le 3 septembre 2016. Petit cadeau : tous ceux qui l’auront testée pourront participer à une tombola pour gagner… un ordinosaure tout équipé !

Ce qu’il vous faut : un ordinateur, le système HandyDV Linux, et une simple imprimante scanneur. Posez votre document sur la vitre du scanneur, comme vous voulez : dans le bon sens, ou pivoté de 90° ou même de 180°. Installez‐vous à l’ordinateur, et prenez quatre de vos doigts que vous posez sur Ctrl + Win + Alt + A presque simultanément. Et l’ordinateur vous parle : il vous dit qu’il lance l’opération, vous demande combien de pages il doit lire, fait la numérisation, fait une reconnaissance des caractères, vous demande de choisir votre logiciel et, hop, le texte est à l’écran ! Et l’ordinateur vous lit le texte, tout haut !

Vous pouvez choisir votre voix (2 voix de femmes et 3 voix d’hommes, au choix). Vous pouvez relire une ligne du dessus, lire une ligne plus bas, faire épeler les lettres. Et, finalement, vous pouvez même enregistrer le texte dans un fichier à conserver…

L’opération prend trois minutes maxi. Ce qui fait que, même pour une personne voyante, l’opération est « rentable », car tout le texte est recopié en trois minutes. Oui, mais si le document a des colonnes ? Pas de problème ! Oui, mais si c’est un document que j’ai reçu par messagerie ? Pas de problème non plus (sauf si le document est mal contrasté). L’essai a été fait en mettant la machine à lire en concurrence avec un scanneur ordinaire. C’est la machine à lire qui a gagné, haut la main !

Un site Internet est en préparation, il comportera le système « confort de lecture » permettant à la personne de choisir la couleur du fond, la couleur du texte et la taille des caractères adaptées à sa vue. Le noir sur fond blanc est souvent trop agressif pour des yeux malades ! Le site Internet offrira aussi un manuel simplifié avec tous les raccourcis clavier nécessaires !

Compensation

Pour les déficients visuels, l’informatique n’est pas qu’un outil de loisir, c’est un moyen de compensation pour la lecture et l’écriture. Lire son courrier, écrire une lettre prend ici une autre dimension.

Avec HandyDV Linux, les personnes déficientes visuelles peuvent bénéficier des apports des livres audio au format DAISY et ainsi avoir l’accès à toutes les offres d’ouvrages offertes par les bibliothèques sonores.

HandyDV Linux offre également la possibilité d’envoyer des courriers électroniques, avec ou sans pièces jointes, très simplement, étape par étape, en suivant les indications de la synthèse vocale. Ce n’est pas de l’assistanat, ce n’est que de l’accompagnement.

Et, bien sûr, la possibilité, entre autres, par exemple pour les malvoyants, d’agrandir totalement ou partiellement le contenu de l’écran, de modifier la taille et la forme des polices y compris pour les personnes dyslexiques, d’avoir des thèmes avec des contrastes adaptés, de pouvoir à tout moment modifier le contraste d’un contenu. La revue d’écran vocale restitue les informations affichées à l’écran à l’aide de la synthèse vocale et ainsi permet aux non‐voyants d’agir, réaliser des tâches, communiquer quasiment comme nous, mais différemment : la navigation au clavier supplante alors l’usage de la souris.

Les personnes en situation de handicap peuvent retrouver une autonomie administrative, une autonomie dans bon nombre d’actes de la vie quotidienne, comme consulter son journal ! Elles retrouvent un accès à l’information.

C’est formidable, non ?

Financement

Tout le travail est fait bénévolement par une équipe répartie sur la France entière et même en Angleterre ! Le système d’exploitation sortira en octobre 2016. Il sera libre et gratuit. Mais, quand même, l’équipe a besoin d’investir un peu : car l’installation de « confort de lecture » passera par une entreprise spécialisée.

Un financement participatif a donc été lancé, pour 3 000 €. Cette somme devra être récoltée avant le 28 septembre 2016, sinon l’équipe n’aura rien et sera bien en peine pour financer l’entreprise spécialisée.

Si donc vous voulez participer, c’est chez Ulule.

Un montant de 5 €, 10 €, 20 €, c’est déjà très sympa. Davantage ? C’est merveilleux ! 1500 € ont déjà été trouvés, et il reste 28 jours. Faites un geste.

Une association est en cours de constitution, des demandes de subvention sont lancées (notamment auprès de la Banque Populaire).

J’ai hâte que vous puissiez juger sur pièces !

Télécharger ce contenu au format Epub

Lire les commentaires

Changement de version et améliorations du Micro Music Player (mmp-2.1)

Lundi 22 Août

Micro Music Player (mmp) est un lecteur musical minimaliste, sous licence GPLv3. La nouvelle version 2.1 n'implique pas beaucoup de changements majeurs au niveau du cœur du programme, mais pas mal d'améliorations ont été faites sur la présentation des données et l'ergonomie du programme. Et il faut aussi noter qu'une version Windows (⩾7) 64 bits est désormais disponible (qui fonctionne légèrement différemment de la version GNU/Linux).

Barre de progression

L'ajout majeur est une barre de progression, qui manquait cruellement aux versions antérieures, et l'affichage sur le côté de celle-ci de l'avancement temporel du morceau de musique en cours de lecture.

La barre de progression est bien sûr actionnable de manière à vous déplacer dans le morceau en cours de lecture.

Métadonnées

D'accord, mmp ne peut désormais plus se vanter de se passer des métadonnées, dont l'accès est d'ailleurs optionnel en interne: si les métadonnées ne sont pas accessibles : mmp-2.1 utilise une fonction de secours (principe nommé fallback en programmation). Mais grâce aux métadonnées beaucoup de choses sont possibles comme l'ajout de la barre progression (car la durée totale du morceau est lue dedans).

Image de couverture

L'algorithme de sélection de l'image de couverture, qui n'est utilisé que si l'image de couverture n'est pas présente dans les métadonnées, a été amélioré de manière à ce que mmp-2.1 vous assure d'afficher la face avant de l'album (exception faite du cas où votre dossier à lire ne contient que l'image de la face arrière de l'album ou autre images…).

Présentation des données à l'utilisateur

Un effort a été fait sur la présentation des données à l'utilisateur :

  • D'abord concernant la lecture en cours, l'affichage du nom de fichier brut a été remplacé par le motif suivant: ``N° Track Nom de l'artiste - Titre de la chanson Durée totale de la chanson.``

Mais vous pouvez toujours retrouver les noms des fichiers dans la liste de lecture qui n'a pas changé.

  • Puis mmp-2.1 n'affiche plus le nom du dossier en cours de lecture sur le bouton de sélection du dossier à lire, mais affiche le nom de l'album en cours de lecture (Vous aurez des surprises lors de la lecture d'une compilation par exemple !).
Version Windows enfin disponible !

Une version Windows (compatible Windows >= 7) 64 bits, est enfin désormais disponible, qui diffère un peu de la version pour GNU/Linux en ces termes:

  1. Au lieu de pouvoir choisir un dossier musical à écouter le bouton principal de l'interface vous permet de choisir des chansons. Sachant que les touches Ctrl et Shift (Maj) vous permettent de sélectionner plusieurs chansons à la fois.

  2. Dans le panneau de configuration vous pouvez choisir la déclinaison du thème (Adwaita) de votre interface: soit foncé soit clair. En lieu et place du dossier à ouvrir par défaut lors de la sélection (Mais le sélecteur de fichiers se souvient automatiquement du dernier dossier ouvert.).

Ergonomie

Concernant l'ergonomie vous pouvez désormais sélectionner plusieurs morceaux de musique à lire aussi bien par le biais du menu ou de part votre gestionnaire de fichiers grâce à son option ouvrir avec (tout comme le contenu d'un dossier d'ailleurs):

Sélectionner simplement les morceaux de votre choix ou le dossier à lire et Micro Music Player vous jouera la musique choisie.

Pour finir de nombreux raccourcis clavier ont été ajoutés pour le confort de ceux aimant ceux-ci.

Fonctionnalité repeat-one

J'ai bien essayé d'implémenter une fonctionnalité repeat-one mais je n'ai pas trouvé d'icônes correspondantes dans l'un des deux jeux d'icônes sélectionnables dans le panneau de configuration. C'est l'unique raison pour laquelle cette nouvelle version de MicroMusicPlayer n'implémente toujours pas cette fonctionnalité. J'en suis autant désolé que vous, mais c'est mon vice de la perfection que je paye.

Télécharger ce contenu au format Epub

Lire les commentaires

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

Lundi 22 Août

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] Des outils d’espionnage de l’unité d’élite de la NSA publiés par des pirates

Par la rédaction, le jeudi 18 août 2016. Extrait:

L’affaire, au parfum de guerre froide, intrigue les spécialistes des services de renseignement et de sécurité informatique depuis trois jours. Le 13 août, The Shadow Brokers, un groupe de pirates inconnu jusqu’alors, a publié sur Internet une série d’outils et de programmes d’espionnage informatique qu’il prétend avoir dérobé au groupe Equation, une référence transparente à la National Security Agency (NSA), responsable aux Etats-Unis de l’espionnage numérique.

Lien vers l'article original: http://www.lemonde.fr/pixels/article/2016/08/18/des-outils-d-espionnage-de-l-unite-d-elite-de-la-nsa-publies-par-des-pirates_4984544_4408996.html

[ZDNet France] Windows 10 - Microsoft ignore le choix des utilisateurs et leur vie privée

Par Christophe Auffray, le jeudi 18 août 2016. Extrait:

Un an après le lancement de Windows 10, l'Electronic Frontier Foundation (EFF) recense toutes les pratiques qu'elle juge discutables employées par Microsoft pour favoriser l'adoption de Windows 10 et collecter des données personnelles.

Lien vers l'article original: http://www.zdnet.fr/actualites/windows-10-microsoft-ignore-le-choix-des-utilisateurs-et-leur-vie-privee-39840818.htm

[ZDNet France] Des empreintes PGP frauduleuses révèlent une attaque contre des figures de l’hacktivisme

Par Louis Adam, le mercredi 17 août 2016. Extrait:

Dans un mail publié en début de semaine sur la mailing-list du kernel Linux, un utilisateur alerte sur une tentative d’imposture visant notamment Linus Torvalds. De fausses clefs GPG ont été uploadées sur un serveur de clefs, et celles-ci partagent la même empreinte que les vraies clefs utilisées par des développeurs du kernel Linux et activistes des libertés numériques.

Lien vers l'article original: http://www.zdnet.fr/actualites/des-empreintes-pgp-frauduleuses-revelent-une-attaque-contre-des-figures-de-l-hacktivisme-39840792.htm

[Agefi.com] Vers un «autre» système financier

Par Axel Lehmann, le mercredi 17 août 2016. Extrait:

Blockchain. Pourquoi et comment les divers potentiels de ce corpus technologique s’avèrent véritablement fascinants

Lien vers l'article original: http://www.agefi.com/quotidien-agefi/une/detail/edition/2016-08-17/article/blockchain-pourquoi-et-comment-les-divers-potentiels-de-ce-corpus-technologique-saverent-veritablement-fascinants-433179.html

[L'OBS] Les algorithmes en prison!

Par Olivier Ertzscheid, le mardi 16 août 2016. Extrait:

Depuis 10 ans, je répète souvent à mes étudiants que l’un des fondements essentiel de toute démocratie est la confidentialité de l’acte de lecture. Et tous ceux qui passent entre mes mains ont droit à la lecture commentée des «Dangers du livre électronique» de Richard Stallman, lequel texte me permet d’introduire ensuite les – heureusement nombreux – aspects positifs de (certains) livres électroniques.

Lien vers l'article original: http://rue89.nouvelobs.com/2016/08/16/les-algorithmes-prison-264924

[L'Informaticien] Le partenariat Microsoft / Education nationale devant le tribunal

Par Guillaume Périssat, le mardi 16 août 2016. Extrait:

Le partenariat signé en novembre 2015 entre l'Education nationale et Microsoft se retrouvera le 8 septembre devant le juge. Le collectif EduNathon considère en effet cet accord comme un marché public déguisé.

Lien vers l'article original: http://www.linformaticien.com/actualites/id/41344/le-partenariat-microsoft-education-nationale-devant-le-tribunal.aspx

Télécharger ce contenu au format Epub

Lire les commentaires

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

Dimanche 21 Août

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). La fusion des résumés France / Belgique / Québec a été faite pour la première fois, à la main.

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

Dans les coulisses du standard C++

Samedi 20 Août

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 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à ? Et 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 d'avantage 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

A 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 de "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-USA 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_sans_paille). 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 template 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 (debug) 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 sont représentés :

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 quelquefois 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 site vendant le standard)

Les anciens standards supprimés

Encore plus incroyable : chaque nouvelle publication du standard révoque/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 licences 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 20 ans plus tard afin d'arrêter la profusion de versions C++ incompatibles.

La table suivante 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 1324 pages C++14 Draft N4296 2014-11-19 1368 pages (+3%) C++17 Draft N4606 2016-07-12 1586 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 (2012-02-28) après la norme officielle 14882:2011 (2011-09-01). Ce N3376 correspond en fait à des corrections éditoriales mineures apportées au brouillon N3291 fourni à l'ISO. C'est le prmier 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és 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

A partir de 1990, le comité numérote ses documents officiels sur 4 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 obscures, 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 principales spécifications techniques (TS) et leur numéro xxxx de la révision la plus récente, une astuce est d'utiliser la page experimental sur cppreference.com.

Voici, en exemple, l'historique des TS a 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évision 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 5000 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 => 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 LinuxFr.org, es-tu étonné(e) par ce fonctionnement. Connais-tu d'autre façons de maintenir un tel document ? Comment cela se passe 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 process de normalisation qui s'ouvre d'avantage

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 3 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 le tag 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 de 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...

Samedi 20 Août

LEDE (Linux Embedded Development Environment) est le fork d'OpenWRT, une distribution GNU/Linux pour matériel embarqué (dont les routeurs WiFi), 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'annonces 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 WiFi sont évidement 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/64bits).

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…

NdM.: quelques données chiffrées, donc quantitatives et pas forcément qualitatives :

  • LEDE : sur Github 188 étoiles, 111 forks, 7 personnes, 35838 commits, 1 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, 37878 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-constrution

Vendredi 19 Août

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 Open Source 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ériences de construction d’habitat écologique abordable 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 Open Source 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 à 09h00 au vendredi 9 septembre 2016 à 18h00.

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 Open Source soutenue par l’OSE.

Télécharger ce contenu au format Epub

Lire les commentaires

Haiku a 15 ans

Vendredi 19 Août

Le 18 août 2001, le premier message sur la liste de diffusion de OpenBeOS était envoyé par Marcus Overhagen ("Ok, let's start"). 15 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 licenses 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'écrans.

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 fichier Tracker (juillet 2005), puis le support 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 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 gcc4 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 suivi d'une deuxième version alpha en 2010, apportant le support du wifi (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'USB3 (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 beta 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'USB3 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 libre, qui leur permet de tester leurs outils sur différentes bases de codes. Les développeurs de PVS studio ont également publié une analyse des problèmes détectés les plus intéressants.

La version beta1 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 responsive (adaptatif) 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, ports 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 notament 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éja 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 patches. 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é !

Jeudi 18 Août

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é

Mercredi 17 Août

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 (v. 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 beta). 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 correspondantes 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 phishing ou hameçonnage 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 JB 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 (v. 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 le navigateur UI (é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, clique-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 plateformes), OpenGL accelerated layers par défaut, port 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 plugins NPAPI

« Firefox prévoit d’arrêter le support des différents plugins NPAPI, à l’exception de Flash, en mars 2017. La prochaine version ESR de Firefox, également planifiée pour mars, continuera à prendre en charge les plugins 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 plugin 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é sur WebRTC disparaît à partir de la version 49, le rapport de bug 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

Mardi 16 Août

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é

Lundi 15 Août

SELKS est une distribution live et installable qui fournit une solution de détection d'intrusion réseau et de monitoring sécurité orienté 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 flexibles et performantes 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énéments et leur analyse, deux interfaces sont présentes à savoir Kibana et Evebox. La première est une célèbre interface de tableaux de bords qui est livrée dans SEKS avec des dashboards préconfigurés. La seconde est une interface présentant les alertes dans une représentation de type boite mail qui permet de les acquitter ou des 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 GPLv3 sur la page GitHub du projet.

Télécharger ce contenu au format Epub

Lire les commentaires

Ouverture du site Libre Games Initiatives

Lundi 8 Août

Le jeu libre est un cas particulier du jeu indépendant et aujourd'hui très balbutiant. Mais ne pourrait-il pas se développer comme on l'a vu dans les logiciels ?
De nombreuses idées ont émergé ces dernières années concernant les jeux libres.

Le principe du site Libre Games Initiatives, et d'une éventuelle structure l'accompagnant, est de regrouper toutes ces idées et de réfléchir sur la façon de les mettre en oeuvre.

Dans un premier temps, le site reprend les activités jeux libres de l'association LanPower et les complète par des rubriques sur l'économie du jeu libre, les aspects juridiques et le développement : y sont regroupés des médias divers sur le sujet (radio, vidéo, livre) ainsi que des liens.

Une structure associée pourrait voir le jour si suffisamment d'énergie apparaissait. Il y a encore de nouvelles activités, de nouveaux métiers à créer ; le futur est à vous.
Le sujet vous intéresse ? Rejoignez-nous, on ne sera pas de trop.

Télécharger ce contenu au format Epub

Lire les commentaires

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

Lundi 8 Août

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

NdM.: côté Suisse, l'agenda n'est plus 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). La fusion des résumés France / Belgique / Québec a été faite pour la première fois, à la main.

Sommaire Agenda du Libre pour la semaine 32 de l'année 2016 [QC Montréal] FSM216 - Eco2Fest, festival de la conception collaborative - Du mardi 9 août 2016 à 08h00 au dimanche 14 août 2016 à 15h00.

Du 9 au 14 août 2016, OuiShare Québec organise la première édition de l’Éco2Fest à Montréal dans le cadre de la Foire ÉCOSPHÈRE et du Forum Social Mondial.
Inspiré de l’événement POC21 qui s’est tenu à Paris l’été dernier en amont de la COP21, le projet Éco2Fest est né fin 2015 de la volonté de quelques membres OuiShare et de ses partenaires au Québec. La volonté de montrer qu'une société différente est possible : une société résiliente où les entrepreneurs pensent de nouveaux moyens de vivre, se déplacer et travailler sans carbone/sans déchet.
Du 9 au 12 août, 5 projets à impact positif sur l’environnement et sous licence libre seront accélérés grâce à des conseils d’experts et l’aide des citoyens montréalais. Des imprimantes 3D et du matériel de prototypage rapide permettront aux entrepreneurs d’améliorer leur invention en direct. Les visiteurs pourront aussi profiter d’ateliers citoyens de fabrication collaborative et assister à des conférences.

[FR Rennes] Barbecue du Libre - Le mercredi 10 août 2016 de 19h00 à 23h00.

L'association Actux organise un barbecue du Libre le mercredi 10 août.
Rendez-vous à 19h au parc des Gayeulles. On verra sur place si on s'installe du côté des barbecues ou devant l'étang.
Chaque participant apporte ce qu'il souhaite manger, boire et partager.

[QC Montréal] FSM2016 - Kiosques du libre - Du mercredi 10 août 2016 à 08h30 au vendredi 12 août 2016 à 19h30.

Venez rencontrer les gens de FACIL, d’OpenStreetMap Montréal et de la Free Software Foundation en visitant nos kiosques !
Dépliants, autocollants, livres, t-shirts, etc.
Possibilité d’adhérer ou de renouveler son adhésion sur place.

[QC Montréal] FSM2016 - La science ouverte juste en Afrique et en Haïti - Le mercredi 10 août 2016 de 09h00 à 11h30.

La science ouverte juste propose bien plus que le libre accès aux publications scientifiques des pays du Nord. Elle y ajoute une réflexion sur l’injustice cognitive qui nuit à la création et à la mise en valeur des savoirs issus des pays des Suds : accès difficile à Internet, absence de recherche scientifique, mépris institutionnalisé pour les savoirs locaux, etc. Le projet SOHA propose une approche bien différente de la science qui, au contraire, aspire à la justice cognitive, à l’empowerment des étudiants et étudiantes et à mettre la recherche scientifique au service du bien commun.
Dans cette table ronde, des membres du projet SOHA présenteront ce qu’ils ont réalisé dans leur pays et les chantiers en cours.
IMPORTANT : l'inscription au Forum social mondial est de 40 $.

[QC Montréal] FSM2016 - Politiques publiques sur le numérique - Le mercredi 10 août 2016 de 09h00 à 11h30.

Atelier de discussion au sujet des politiques publiques sur le numérique.
Unissons nos efforts pour contrer la vision néolibérale de la transition numérique !
(détails à venir)

[QC Montréal] FSM2016 - Écran libre : films sur le libre - Le mercredi 10 août 2016 de 13h00 à 15h30.

Activité où l’on projettera une série de films courts et moyens sur le logiciel, le matériel, le savoir et la culture libres. La projection sera suivie d’une discussion libre avec les participants et participantes.
Programmation provisoire:
- User liberation, 3 min., CC BY-SA.- Free Software and Free Culture, 20 min., CC BY-NC-SA.- Les gardiens du nouveau monde, 56 min, CC BY-NC-SA.- Tous surveillés : rencontre avec Edward Snowden, Vice News, 25 min., utilisation équitable.

[QC Montréal] FSM2016 - Publier un livre en libre accès - Le jeudi 11 août 2016 de 09h00 à 11h30.

Les Éditions science et bien commun publient des essais, des livres scientifiques et des manuels imprimés et en libre accès sur le Web dans le but de mettre en valeur et de maximiser l’accessibilité des savoirs produits dans les pays du Nord et du Sud de la Francophonie. Cette maison d’édition privilégie la pluridisciplinarité, le plurilinguisme, l’internationalisation des auteurs et des thèmes, mais surtout la justice cognitive, incluant la valorisation des savoirs locaux et de la science citoyenne. Ce projet à but non lucratif compte sur la participation active des auteurs et auteures à la fabrication de leur livre et à sa promotion. Venez discuter avec nous de vos projets ou rêves de publier des livres !
IMPORTANT : l'inscription au Forum social mondial est de 40 $.

[QC Montréal] FSM2016 - Des jeunes s’engagent pour le libre accès en Haïti - Le jeudi 11 août 2016 de 13h00 à 15h30.

À la suite d’un colloque à Port-au-Prince sur la science ouverte et la justice cognitive en mars 2016 auquel étaient associés le projet SOHA (http://projetsoha.org) et la bibliothèque numérique en libre accès Les Classiques des sciences sociales (http://classiques.uqac.ca/), un groupe d’étudiants et d’étudiantes d’Haïti a décidé de créer une association pour la promotion du libre accès et de la recherche scientifique dans leur pays. Le Réseau des jeunes bénévoles des Classiques des sciences sociales en Haïti (REJEBECSS-Haiti) organise des ateliers, des conférences et rallie sans cesse de nouveaux chercheurs au libre accès. Dans cette table ronde, ils présenteront leurs stratégies d’action pour inspirer d’autres jeunes.
IMPORTANT : l'inscription au Forum social mondial est de 40 $.

[QC Montréal] CLA Rencontre Libre - Le jeudi 11 août 2016 de 17h00 à 21h00.

Le Club Linux AtomicLe 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.La programmation de la rencontreConsultez la programmation de notre rencontre sur notre site Web.InscriptionNous vous invitons à vous inscrire sur Framadate. Votre inscription nous permet de configurer la salle en fonction du nombre de participants.Tous sont bienvenus à y participer. N’hésitez pas à venir accompagner! Invitez les personnes de votre entourage à fraterniser avec notre communauté.

[QC Montréal] FSM2016 - Conférence sur le logiciel libre avec Stallman et Corvellec - Le jeudi 11 août 2016 de 18h00 à 19h30.

Titre de la conférence : Un autre monde numérique est nécessaire : avec le logiciel libre, il devient possible !
Conférencier : Richard Stallman, président de la Free Software Foundation (É-U)
Conférencière : Marianne Corvellec, administratrice de l'April (France)

[QC Montréal] FSM2016 - Libérons nos appareils numériques! - Le vendredi 12 août 2016 de 09h00 à 11h30.

Atelier pratique qui vous permettra de découvrir et d’explorer :
1. les systèmes d’exploitation libres de la Clé FACIL qu’il est possible d’utiliser dès maintenant en remplacement de Windows et Mac OS X
2. les services numériques libres, éthiques décentralisés et solidaires de Framasoft qu’il est possible d’utiliser dès maintenant en remplacement de ceux de Google, Amazon, Facebook, Apple ou Microsoft (GAFAM), qui sont centralisés, assez peu éthiques, pas exactement libres et certainement pas solidaires.

[FR Villeneuve d'Ascq] Libre à Vous - Le samedi 13 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 journaux LinuxFr.org les mieux notés du mois de juillet 2016

Lundi 8 Août

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 les 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 juillet passé.

Télécharger ce contenu au format Epub

Lire les commentaires

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

Lundi 8 Août

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

[myeurop.info] La lente marche de l'Open Source dans l'administration européenne

Par la rédaction, le jeudi 4 août 2016. Extrait:

Les administrations des pays européens se convertissent lentement aux bienfaits des logiciels libres. A l'instar de la Bulgarie, qui vient de voter une loi obligeant ses services administratifs et gouvernementaux à proposer des sites en Open Source.

Lien vers l'article original: http://fr.myeurop.info/2016/08/04/la-lente-marche-de-l-open-source-dans-l-administration-europ-enne-14686

[la Croix] Mozilla et la communauté du panda roux

Par Paula Pinto Gomes, le mercredi 3 août 2016. Extrait:

La société Mozilla est surtout connue pour son célèbre navigateur Internet Firefox, dont la mascotte est un panda roux, que beaucoup confondent avec un renard, au grand dam des salariés. Mais Mozilla c’est aussi une Fondation qui milite pour un Web ouvert et accessible à tous, à travers notamment un site destiné aux développeurs.

Lien vers l'article original: http://www.la-croix.com/Sciences-et-ethique/Numerique/Mozilla-et-la-communaute-du-panda-roux-2016-08-03-1200779865

[Next INpact] La députée Attard veut (encore et toujours) connaître les dépenses logicielles des ministères

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

Pour la quatrième année consécutive, la députée Isabelle Attard demande aux différents ministères de dévoiler leurs dépenses en logiciels, propriétaires et libres. Ses dernières initiatives ne s'étaient toutefois pas révélées très fructueuses…

Lien vers l'article original: http://www.nextinpact.com/news/100842-la-deputee-attard-veut-encore-et-toujours-connaitre-depenses-logicielles-ministeres.htm

Et aussi:

[Next INpact] TP-Link réouvre la voie aux firmwares open source sur ses routeurs

Par Guénaël Pépin, le mardi 2 août 2016. Extrait:

Aux États-Unis, TP-Link a accepté de payer 200 000 dollars pour avoir enfreint les limites d'émission Wi-Fi sur certains routeurs. Dans le même temps, le fabricant doit aussi permettre à nouveau l'installation de firmwares tiers, en s'assurant de respecter la règlementation américaine.

Lien vers l'article original: http://www.nextinpact.com/news/100848-tp-link-reouvre-voie-aux-firmwares-open-source-sur-ses-routeurs.htm

[vousnousils] Partenariat Microsoft / Education nationale: un accord illicite?

Par Fabien Soyez, le lundi 1 août 2016. Extrait:

EduNathon, qui regroupe des acteurs du "numérique libre", poursuit son action contre le partenariat Education nationale / Microsoft… en justice. Il dénonce un accord "illicite".

Lien vers l'article original: http://www.vousnousils.fr/2016/08/01/partenariat-microsoft-education-nationale-un-accord-illicite-591249

Voir aussi:

[LeDevoir.com] Un autre monde numérique est possible

Par Boris Proulx, le samedi 6 août 2016. Extrait:

Le comité des «libristes» du Forum social mondial (FSM) de Montréal entend propager l’idée qu’il est possible d’émanciper la planète du joug de ces entreprises qui verrouillent leurs codes informatiques et qui génèrent un profit sur les informations personnelles de leurs usagers. À l’heure où l’information peut être copiée à l’infini et à coût pratiquement nul, les lois protégeant la propriété intellectuelle sont contestées par les militants, qui rêvent à l’émergence d’un monde où le savoir se transmet sans barrières.

Lien vers l'article original: http://www.ledevoir.com/societe/actualites-en-societe/475953/un-autre-monde-numerique-est-possible

Télécharger ce contenu au format Epub

Lire les commentaires

GCompris Qt sort une 0.61 et se réorganise

Lundi 8 Août

Deux grosses nouvelles sur GCompris (pour ceux qui ne connaissent pas, GCompris est un logiciel éducatif pour les enfants de 2 à 10 ans). D'abord une nouvelle version Qt qui affirme son rythme de développement avec six nouvelles activités, des améliorations graphiques et une réorganisation de l'équipe pour remplacer Bruno Coudoin qui a créé et maintient le projet depuis 2000.

Les nouveautés
  • un mini traitement de texte (qui n'est pas disponible sur les plate-formes mobiles à cause du clavier virtuel) ;
  • un tangram dans lequel on commence avec des niveaux adaptés aux plus jeunes pour introduire le concept et se termine avec le vrai tangram ;
  • explore les monuments du monde (réalisé par Ayush Agrawal pendant le Seasons of KDE) ;
  • une activité dans laquelle l'enfant doit colorier un graphe de telle sorte que deux nœuds adjacents soient de couleur différente (réalisation par Akshat Tandon pendant le Seasons of KDE) ;
  • pilote un vaisseau spatial vers la zone d'atterrissage en contrôlant la poussée (par Holger Kaelberer) ;
  • et le jeu classique où l'on doit trouver les différences entre deux photos (par Stephan Toncu).

Timothée Giet a mis à jour les graphismes des échecs, du pendu et des activités de lecture horizontal / vertical et nous a honoré avec un nouveau logo (et oui, on abandonne Tux dans son avion jaune).

La réorganisation

Et concernant la réorganisation, Bruno a annoncé qu'il ne pouvait plus consacrer le temps nécessaire à GCompris de par ses nouvelles activités professionnelles « diurnes ». De ce fait, il n'a pas souhaité continuer à commercialiser GCompris sur les plate-formes propriétaires comme il le fait depuis 2003.

Après avoir envisagé différentes approches et en accord avec les membres les plus actifs de la communauté, Bruno a décidé de transférer la partie commerciale à Timothée Giet. Timothée est un graphiste, très impliqué de longue date dans la communauté KDE et dans GCompris. Dorénavant, Timothée recevra directement les ventes de GCompris et s'occupera du support commercial associé. Il n'y a aucun changement sur la licence de GCompris et sur le processus de développement qui reste dans la communauté KDE. Johnny Jazeix en tant que contributeur le plus actif devient le leader technique et gère les nouvelles versions.

Télécharger ce contenu au format Epub

Lire les commentaires

Sortie de QGIS 2.16 "Nødebo"

Dimanche 7 Août

Le projet QGIS a l’immense plaisir de vous annoncer la publication de la version 2.16 de sa suite logicielle de Système d’Information Géographique (SIG) libre.

QGIS est une suite logicielle de traitement de l’information géographique. Elle permet de générer des cartes, d’analyser des données spatiales et de les publier en ligne ou sur papier. Elle permet également de réaliser de nombreux traitements et d’appliquer différents algorithmes sur des données spatiales ou d’autres données liées. En d’autres termes, QGIS est un SIG ou Système d’Information Géographique, conçu pour recueillir, stocker, traiter, analyser, gérer et présenter tous les types de données spatiales et géographiques. C’est un projet officiel de la fondation Open Source Geospatial (OSGeo). Il est disponible sur les systèmes d’exploitation GNU/Linux, Mac OS X, Windows et Android.

La version 2.16, nommée « Nødebo », en hommage à la ville danoise éponyme, est disponible depuis le 8 juillet 2016 (pour information, les noms des versions de QGIS sont basés sur les noms des villes qui accueillent les rencontres annuelles des développeurs). Cette version est une version dite courante : elle sera supportée pendant 4 mois. La version LTR (Long Term Release : support à long terme) est la version 2.14 qui, à l’occasion de la sortie de la version courante récupère un ensemble de corrections, intégrées dans la version 2.14.4. "Nødebo" sera sans doute la dernière version de la lignée 2.x, car le portage vers la version 3.0 avance correctement.

Dans la suite de la dépêche, un aperçu des nouveautés, issues des 2447 commits depuis la dernière sortie, vous sera présenté plus en détail, ainsi que les plans actuels pour la future version 3. Pour le public non averti, nous vous invitons à lire le début de la dépêche sur la sortie de QGIS 2.10 pour avoir un petit rappel sur les SIG et sur QGIS…

Bonne lecture !

Sommaire Les nouveautés notables de QGIS 2.16

Voici une petite sélection des nouveautés de la version 2.16 de QGIS. Si vous voulez découvrir l’intégralité des évolutions, nous vous invitons à consulter la page des changements en images qui est vraiment très complète et qui a l’avantage d’être traduite en français (du moins, d'ici quelques temps).

Du côté des outils de cartographie Le dock de style

Commençons par une nouvelle fonctionnalité qui va fortement améliorer la productivité des cartographes : le dock de style.
Jusqu’à présent, lorsque vous vouliez modifier le style d’une couche, vous deviez ouvrir la fenêtre des propriétés de la couche, aller dans l’onglet réservé aux styles et paramétrer vos options pour obtenir le rendu final. C’est une tâche relativement courante lorsqu’on fait de la cartographie et l’onglet des styles est probablement celui qui est le plus utilisé dans QGIS, avec ce qui permet de charger des couches dans le projet en cours.

Le problème majeur est que la fenêtre des propriétés de la couche est modale : il s’agit d’une fenêtre flottante qu’il faut valider (en appuyant sur le bouton Ok ou le bouton Appliquer) pour voir les résultats de vos travaux. Néanmoins, la fenêtre des styles a tendance à occuper une surface de plus en plus grande, du fait des très nombreuses options possibles et du grand nombre de moteurs de rendu existants dans QGIS. Ainsi, bien souvent, il faut fermer cette fenêtre pour voir les résultats et rien de ce que vous faites n’est visible en direct. Étant donné qu’il est assez rare de savoir comment représenter les données géographiques du premier coup, la création d’un style complet demande de nombreuses modifications ponctuelles (non, finalement, la couleur ne va pas ! Et si j’augmentais la largeur de la bordure ? En fait, je vais plutôt mettre un symbole de police plutôt qu’un symbole SVG, etc.) Cela revient à ouvrir et fermer la fenêtre de style très souvent ce qui fait perdre du temps.

Pour régler ce problème, QGIS 2.16 propose maintenant un dock de style. Ce dock est déplaçable où vous voulez sur votre écran, vous pouvez l’accrocher où bon vous semble, voire le déporter sur un autre écran. Il est physiquement toujours présent même si on peut le masquer complètement. Ainsi, plus besoin d’ouvrir et de fermer la fenêtre des propriétés de la couche. Un vrai gain de temps en perspective.

Autre avancée majeure : la mise à jour en direct. Cette option du dock permet de voir tout changement de style directement s’appliquer sur votre fenêtre de carte sans avoir besoin de cliquer sur le bouton Appliquer. Cela permet vraiment de voir l’impact de tout changement, même insignifiant, en direct.

Pour terminer le dock de style fonctionne également sur les styles multiples ainsi que sur les étiquettes. Il est bien entendu possible de revenir en arrière car le dock conserve l’historique de toutes les manipulations. Il est donc très facile de revenir plusieurs points en arrière et reprendre une création de style à partir d’un état précédent, sans devoir tout recommencer depuis le début.

Le dock de style va donc permettre aux cartographes de gagner un temps précieux et d’avoir une meilleure réactivité sur leur travail de composition. C’est une vraie avancée tant sur le plan de l’efficacité que de l’ergonomie. Pour ma part, je ne pourrais plus faire sans.

Pour vous en convaincre, voici un exemple de fonctionnement :

Nouveau moteur de rendu : aucun symbole

QGIS continue d'innover dans les moteurs de rendu. Cette désignation indique les grandes familles de rendu d’une symbologie de couches. Globalement, il s'agit des méthodes de base permettant d'appliquer un ou plusieurs styles différents à des couches de polygones/de lignes/de points ou de raster. C'est un des composants les plus utilisés dans QGIS puisque dès qu'on souhaite élaborer une carte, on passe par lui. On compte maintenant une petite dizaine de moteurs de rendus différents, allant de la représentation unique pour tous les objets de la couche à la carte de chaleur en passant par le rendu 2.5D (présenté dans la dernière dépêche sur QGIS 2.14). Ce qui fait de QGIS sans doute le SIG le plus riche pour la représentation cartographique.

Pour la version 2.16, le moteur de rendu dit "Aucun symbole" est très simple : il permet de ne pas représenter les objets de la couche sur laquelle il est appliqué. Quel est donc son intérêt alors ?

Ce moteur de rendu sert essentiellement pour gérer ce qu'on appelle des "couches d'étiquettes". En effet, en plus des symboles d'objets géographiques, on peut représenter également des étiquettes ainsi que des diagrammes qui sont des objets générés, quasi-indépendants des objets géographiques (ils sont généralement positionnés au-dessus de leur objet géographique respectif mais ce n'est pas forcément obligatoire). Ainsi, pour les couches sans symbologie, apparaîtront uniquement les étiquettes et les diagrammes. Cela peut être intéressant si vous avez constitué une couche de points, dédiée à l'affichage de certaines étiquettes (les étiquettes seront positionnées au-dessus des points) et que vous ne voulez pas représenter les points. Cette situation est parfois nécessaire lorsqu'on souhaite positionner manuellement des étiquettes dans l'objectif d'avoir un rendu vraiment parfait (à une échelle donnée), lorsque le placement automatique des étiquettes ne donne pas satisfaction.

Nouveau type de symbole : lignes de flèches

Les moteurs de rendu forment les familles de représentation. Chaque moteur de rendu propose de créer des styles spécifiques en utilisant des symboles qui peuvent prendre plusieurs types différents. Par exemple, pour styler une couche de polygones, on peut choisir d'utiliser un type de remplissage simple (formé à partir d'une couleur de remplissage ainsi que d'une bordure de largeur et de couleur données). On peut également utiliser un remplissage par motif (formé à partir d'une géométrie qui sert de motif) ou encore un remplissage dégradé, ou également choisir de ne représenter que la bordure pouvant elle-même être composée de plusieurs symboles de points différents. Ces ensembles de styles sont appelés types de symboles et ils sont bien entendu combinables entre-eux (jusqu'à quasiment l'infini).

Régulièrement, QGIS introduit de nouveaux types de symboles. C'est le cas pour cette version avec le type lignes de flèches qui permet de générer des flèches dans des styles variés pour tout objet linéaire (donc les polylignes mais également les bordures de polygones).

Deux modes sont présents :

  • Les flèches linéaires: elles permettent de dessiner une flèche en suivant les segments d'un objet linéaire.
  • Les flèches courbes: elles permettent de dessiner une flèche entre deux points avec une forme incurvée.

Ce type de symbole permet de simplifier la représentation des segments linéaires avec un sens de direction. C'est très pratique pour générer des cheminements avec un sens (représenter les rues en sens unique par exemple). On peut bien entendu également disposer d'une seule flèche linéaire pour l'objet linéaire.
Les flèches courbes peuvent être utilisées pour représenter des flux d'un point à l'autre, sans forcément suivre une ligne droite. C'est très pratique pour représenter des flux entre deux points, dont la largeur de flèche est proportionnelle à la masse déplacée.

En outre, il est combinable avec l'ensemble des autres type de symboles de QGIS ainsi qu'avec des expressions car les flèches sont des objets surfaciques. On peut donc par exemple dessiner des flèches avec un gradient de couleur en guise de remplissage, dont la taille de la pointe est dépendante de la valeur d'un attribut.

Voici un exemple de réalisation où on voit bien les différentes formes possibles, ainsi que les options disponibles :

Travail sur l’ergonomie de l’interface

Quelques nouveautés permettent d'améliorer l'ergonomie de l'interface sur la partie cartographie de QGIS.

Comme premier point, on peut noter une amélioration de la finesse de zoom lorsqu'on utilise la molette de la souris (utilisée pour zoomer/dézoomer) en appuyant sur la touche Ctrl. Cela permet de zoomer/dézoomer "moins vite" en diminuant l'écart entre les deux échelles.

Par ailleurs, il existe maintenant une fonction de loupe qui permet de grossir l'image du rendu de carte à une échelle donnée. Cela permet de grossir certains éléments ; par exemple, des étiquettes avec une taille de police basse pour pouvoir mieux les placer manuellement. L'intérêt de la loupe est qu'elle ne modifie pas l'échelle et donc il n'y a pas besoin d'effectuer un rendu graphique lorsqu'on l'utilise. Si vous avez une carte avec de nombreux détails, vous pouvez agrandir l'image sans devoir relancer de lourds calculs qui prendraient du temps.

Du côté de la gestion des rampes de couleur (utilisées pour les gradients de couleur), QGIS présentait déjà une boîte de dialogue vraiment complète, permettant de créer ou de modifier des rampes de couleur de manière interactive. La boîte de dialogue présente maintenant une meilleure ergonomie avec la possibilité de déplacer directement les arrêts de couleur, de les supprimer directement, de les créer par un simple double-clic.

En ce qui concerne les écrans à très grande résolution (4k), QGIS utilise maintenant uniquement des icônes SVG pour ses barres d'outils. L'intérêt est de pouvoir les représenter avec une dimension adaptée à l'écran (auparavant certaines icônes étaient uniquement en bitmap, avec une taille fixe, paramétrable mais sans doute pas assez grosse pour les écrans à haute résolution).

Enfin, on notera une amélioration des options de sélection des entités géographiques sur le canevas de carte:

  • Sur les sélections à un seul clic, maintenir Shift ou Ctrl permet de sélectionner/désélectionner l'entité.
  • Sur les sélections par emprise (cliquer + déplacer):
    • Maintenir Shift permet d'ajouter à la sélection courante.
    • Maintenir Ctrl permet de retirer de la sélection courante.
    • Maintenir Alt permet de sélectionner les entités qui sont situées en intégralité dans l'emprise de sélection (si vous sélectionnez un objet qui intersecte une partie de l'emprise de sélection, il ne sera pas sélectionné).

Ces mécanismes sont également intégrés au composeur de cartes.

Voici une illustration de la boîte de dialogue des rampes de couleur :

Du côté de la table des attributs

Un des principes de base du SIG est de combiner formes géographiques et attributs alphanumériques. Ces attributs permettent de qualifier les objets spatiaux représentés sur la carte. Par exemple, si vous avez une couche d'arbre, vous pouvez stocker l'espèce de l'arbre dans un attribut de la table ou encore, sa hauteur dans un autre attribut. Comprenez que la géométrie d'un objet n'est qu'un attribut parmi tant d'autres qui a la particularité d'être représenté différemment d'un texte ou d'un chiffre.

Dans cette version de QGIS, de nombreuses améliorations ont été ajoutées dans la table des attributs. C'est ce que nous allons voir dès maintenant…

Nouvelles options d'agencement de la table attributaire

C'est une fonctionnalité longtemps attendue dans QGIS : on peut maintenant manipuler la table attributaire comme dans n'importe quel logiciel de tableur (comme LibreOffice Calc) :

  • Il est possible de masquer/afficher certaines colonnes.
  • On peut effectuer des tris multiples sur une ou plusieurs colonnes.
  • On peut changer l'ordre d'affichage des colonnes.
  • QGIS conserve (dans le fichier de projet) la largeur de colonne que vous avez configurée (pour chaque colonne).

Formulaire de recherche

La table d'attributs présente maintenant trois modes d'affichage :

  • le mode table qui permet de présenter les données sous forme tabulaire (comme dans LibreOffice Calc).
  • le mode formulaire qui permet de présenter les données sous forme de formulaire rempli avec les données (un seul objet est affiché).
  • il existe maintenant un nouveau mode : le formulaire de recherche qui permet d'utiliser le formulaire pour faire des recherches.

Avant ce mode formulaire de recherche, il fallait passer par le moteur d'expression (cette fonctionnalité est toujours disponible) et créer une « requête d'expression », bien plus complexe (mais plus puissante) pour les utilisateurs débutants. Maintenant, ils disposent d'un formulaire simple leur permettant de sélectionner les objets qui correspondent à un ou plusieurs attributs.

Autres nouveautés de la table d'attributs
  • Vous pouvez paramétrer la table d'attributs pour qu'elle s'affiche dans le mode de votre choix (stocké dans les paramètres de QGIS).
  • Le mode formulaire permet maintenant de faire des filtres (sur n'importe quelle colonne), ce qui permet de limiter les objets listés à votre choix
  • Autre point en évolution : auparavant, pour copier la valeur d'un attribut, il fallait se mettre en mode édition (modification des données) et faire un copier. Maintenant, il suffit de faire un clic-droit et de sélectionner l'entrée de sous-menu : Copier le contenu de la cellule.
Fournisseurs de données

Les fournisseurs de données sont les éléments de base de QGIS permettant de lire et écrire les données depuis divers formats. On en dénombre maintenant une quinzaine ce qui fait de QGIS l'un des SIG les plus interopérables qui soit. Par ailleurs, et c'est là une particularité de QGIS par rapport aux autres SIG (propriétaires et libres) : QGIS ne dispose pas d'un format interne pour stocker des données (QGIS dispose de formats « internes » pour tout le reste : projets/styles/métadonnées/etc.) et c'est tant mieux. D'abord, cela permet de dire que QGIS ne suit pas la règle XKCD sur les formats. En outre, cela permet de se focaliser sur les méthodes de connexion et non sur la maintenance d'un nouveau format.

Car il faut bien retenir que le nombre de formats SIG existants est au moins aussi grand que ce qu'on peut rencontrer dans les formats bureautiques. Un exemple flagrant est que très tôt (il y a plus de quinze ans), une bibliothèque dédiée à la gestion des formats SIG existants a été développée. Il s'agit de GDAL (avec son compagnon OGR pour les objets vectoriels). Cette bibliothèque gère aujourd'hui un peu plus de 220 formats différents ! (WTF !!!??? OMG Ponies 11!!1111!!!)

Création de couches au standard GeoPackage

Dans le monde des SIG, il existe un standard de fait, assez ancien qui se nomme ESRI Shapefile. C'est un format propriétaire dont les spécifications sont à peu près ouvertes. Il a été créé par ESRI, l'actuel leader mondial des solutions SIG avec son produit ArcGIS si cher, mais pas seulement… De nombreux logiciels de SIG sont capables de lire et écrire dans ce format. Néanmoins ce dernier présente plusieurs inconvénients :

  • Il est assez ancien (bon, on s'en fout, tant que ça marche) !
  • Les noms de champs ne peuvent pas avoir une longueur supérieure à 10 caractères (une vraie limite en 2016).
  • Les champs de type texte ne peuvent pas contenir plus de 255 caractères (une autre vraie limite).
  • Les polygones sont forcément orientés dans le sens des aiguilles d'une montre.
  • ESRI propose un autre format (GéoDatabase fichier) depuis près d'une dizaine d'années.
  • Il ne permet de stocker qu'une seule couche.
  • Il ne gère que des vecteurs.

Pour améliorer la situation, l'OGC a lancé une étude d'un nouveau format pour remplacer ce standard de facto par une alternative ouverte et plus moderne. Cette étude a conclu à la création du format GeoPackage qui présente les particularités suivantes :

  • La spécification est ouverte.
  • Il permet de stocker une archive de couches.
  • Il est basé sur SQLite.
  • Il gère des couches vecteurs et rasters.
  • Il peut évoluer dans le temps grâce à un mécanisme d'extensions.

QGIS 2.16 facilite la création de fichiers GeoPackage en gérant ce format directement depuis l'interface d'enregistrement des couches: par la barre d'outils des couches ou par le sous-menu Couche -> Enregistrer sous…

Je vous invite fortement à utiliser ce format plutôt que le traditionnel Shape pour toutes les bonnes raisons évoquées plus haut.

Connecteur aux services ArcGIS REST

QGIS permet maintenant de se connecter à des services de cartes ArcGIS. Ces services sont l’équivalent des services web OGC WMS Web Map Service, et WFS Web Feature Service, dans le standard propriétaire de l’éditeur ESRI. Les deux types de services suivants sont gérés :

  • ArcGIS Map Service : service qui sert des rasters depuis un serveur Web.
  • ArcGIS Feature Service : service qui sert des entités géométriques (vectorielles) depuis un serveur Web (équivalent à WFS).

À partir de QGIS, il est donc maintenant possible d’attaquer ces services, en lecture seule pour le moment. Cette fonctionnalité permet d’envisager plus sereinement la migration d’une infrastructure ESRI vers QGIS. En effet, on peut déployer QGIS sur les postes bureautique sans devoir abandonner tout de suite les services web qui ont forcément pris du temps à être élaborés, donnant un peu plus de temps pour envisager la migration de la partie serveur (par QGIS Server ou un autre serveur de cartes comme MapServer ou GeoServer).

Refonte du connecteur WFS

QGIS gère les services WFS depuis de nombreuses années. Ces services web permettent de récupérer des couches géographiques vectorielles (points/lignes/polygones) depuis un serveur situé sur le web et qui gère le protocole WFS. Ce dernier est un protocole normé par l'OGC.

WFS est très souvent mis en place par des structures institutionnelles pour faciliter la diffusion de leurs données publiques en accès direct (par exemple le Centre Régional Auvergnat de l'Information Géographique a des flux WMS/WFS publics). Grâce à ce protocole on gagne souvent beaucoup de temps car il n'y a plus besoin de télécharger une couche sur sa station de travail pour en utiliser les données. Tout se passe directement depuis le client qui va chercher les données pour vous. De plus, les données sont souvent directement à jour : pas besoin de s'embêter de savoir si on a bien la donnée la plus à jour possible (et refaire le téléchargement manuel).

Néanmoins, avec le temps, le connecteur natif de QGIS est resté tel quel, avec de nombreux bugs. Par ailleurs, le standard WFS a évolué avec le temps, notamment avec la publication des versions 1.1 et 2.0 du protocole, en ajoutant des fonctionnalités. Il était donc temps de le mettre au goût du jour, sachant que de plus en plus de données sont disponibles via les plate-formes WEB SIG.

Voici la liste des évolutions apportées dans la version 2.16 de QGIS :

  • Autodétection de la version du protocole WFS.
  • Mise en cache des entités téléchargées sur disque.
  • Prise en charge de l'interface de connexion sécurisée pour les accès requérant un login/mot de passe (les informations de connexion sont stockées dans une base de données locale sécurisée et chiffrée par un mot de passe principal).
  • Téléchargement en tâche de fond et rendu progressif (ne bloque pas l'interface graphique pendant le chargement).
  • Gestion des protocoles WFS 1.1 et 2.0 (auparavant, seul le protocole WFS 1.0 était géré).
  • Gestion de la pagination des requêtes WFS 2.0 GetFeature.
  • Ajout de tests unitaires sur le fournisseur de données (le pilote WFS).
  • Gestion des jointures de couches/tables (fonctionnalité de WFS 2.0).
  • Paramètres de l'URI pour gérer les clauses SQL SELECT / FROM / JOIN / WHERE / ORDER BY.
  • Gestion des champs stockant des données de date.
  • Activation de l'option « Requêter uniquement les entités qui intersectent la vue courante » par défaut.settings.
  • Gestion de types géométriques particuliers : CurvePolygon (polygones courbes) et CompoundCurve (courbes multiples).
  • Amélioration de la gestion des serveurs WFS non conformes (qui ne respectent pas 100% du standard).

Le connecteur gère également le cache des entités ce qui évite de recharger toutes les entités lors du déplacement sur la carte.

C'est donc plutôt une bonne avancée qui va permettre aux utilisateurs de QGIS d'utiliser de plus en plus de flux de données, issus de différents partenaires, d'une manière plus simple que la méthode traditionnelle de téléchargement manuel d'archives compressées.

Sauvegarde des styles des couches en base de données pour Oracle et MS-SQL Server

Dans un SIG, la manière de représenter une donnée n'est généralement pas stockée en même temps que les données. En règle générale, le style de chaque couche a tendance à changer pour chaque projet cartographique donc il n'est généralement pas pertinent de stocker ce style dans autre chose que le conteneur du projet cartographique. De plus, stocker le style dans les données amène une certaine confusion chez les utilisateurs débutants qui peuvent être amenés à ne pas utiliser les fonctions de représentation automatique du moteur carto du logiciel de SIG mais de styler individuellement chaque objet géographique (ce qui est MAL !).

Néanmoins, dans certaines situations, on peut vouloir créer un style par défaut ou une collection de styles pré-définis pour une couche si on sait qu'on doit souvent faire la même chose avec les données. QGIS permet de stocker des styles dans des fichiers externes :

  • les fichiers QLR englobent référence vers la donnée et style
  • et QML stocke un style pur, indépendamment de la couche.

Depuis la version 2.0, QGIS offre la possibilité de stocker les styles des couches PostGIS directement en base de données à l'aide d'une table spécifique, propre à QGIS.

Avec la version 2.16, QGIS offre cette fonctionnalité pour les bases Oracle Spatial (qui double généralement le prix de l'instance) et MS-SQL Server. Le principe est le même que pour PostGIS : une table dédiée doit être créée en base de données. Une fois référencée, on peut alors choisir d'enregistrer un ou plusieurs styles suivant le nom de la couche géographique dans la base de données. L'interface de QGIS récupère automatiquement ces styles et propose à l'utilisateur une liste de choix (l'utilisateur reste bien entendu libre de créer son propre style de zéro (from scratch) et indépendamment des styles stockés en base de données).

À propos des formulaires de saisie

Les formulaires de saisie permettent de saisir/modifier les données attributaires une fois que vous avez ajouté un objet géométrique. C'est l'un des fleurons de QGIS tant la richesse de cette partie de QGIS est riche. Avec de bons formulaires de saisie, on peut tout à fait créer une véritable application de saisie métier complètement assistée et pertinente par rapport au contexte. QGIS 2.16 continue encore d'améliorer les formulaires avec les nouveautés qui suivent…

Éditions multiples

Une autre nouveauté d'ampleur va permettre un gain substantiel de productivité pour les utilisateurs qui doivent saisir des données qui se répètent fréquemment pour certains attributs: QGIS 2.16 permet l'édition multiple de données attributaires.

Il existe maintenant un outil spécifique de "saisie attributaire multiple" qui ouvre un formulaire de saisie spécial. Ce dernier applique les valeurs d'attributs saisies à l'ensemble des entités sélectionnées.

Concrètement, si vous avez une couche d'arbre, vous pouvez sélectionner tous les points dont vous savez qu'ils sont des chênes (manuellement ou avec une requête adaptée) et modifier la valeur du champ "caduque" à True pour l'ensemble de la sélection. Cela permet de gagner vraiment du temps (on n'est pas obligé de passer chaque objet en revue) et de s'assurer que la saisie attributaire est homogène.

Contraintes de saisie

Ce nouvel élément permet de s'assurer que la saisie des attributs sera conforme à une ou plusieurs règles. D'abord, il est possible d'indiquer qu'un champ doit être non nul, indépendamment de ce qui est indiqué dans le stockage sous-jacent (une contrainte NOT NULL dans une base de données par exemple).

Pour aller plus loin, il est maintenant possible d'indiquer pour chaque champ une contrainte de saisie. La grammaire des contraintes est basée sur les expressions QGIS, ce qui permet une richesse de contrainte quasiment infinie. On peut donc indiquer qu'une valeur numérique doit être comprise entre telle et telle valeur ou que le contenu d'un texte doit satisfaire une expression rationnelle.

Lorsque le champ n'est pas conforme à la contrainte, la couleur de fond de l'élément de saisie est en rouge ce qui permet à l'utilisateur d'identifier facilement et visuellement que sa saisie n'est pas conforme (l'affichage est bien sûr dynamique). Chaque élément de saisie dispose d'un conseil (ToolTip) indiquant ce qui ne va pas. On peut même faire afficher un message personnalisé pour décrire ce qui ne va pas.

Enfin, il y a une barre d'affichage en haut du formulaire qui récapitule ce qui ne va pas. Voici un exemple de formulaire avec contrainte:

Documentation

Pour une fois, parlons d'autre chose que du code ou de nouvelles fonctionnalités : parlons de la documentation ! Comme vous avez pu le remarquer au cours des dernières dépêches, QGIS est un logiciel complet, complexe et qui fait face à un grand nombre de publications de nouvelles fonctionnalités. C'est justement pour toutes ces raisons qu'un logiciel de ce type gagne à être bien documenté, ne serait-ce que pour que ses utilisateurs ne soient pas pris au dépourvu.

Voyons quelles sont les évolutions sur ce point…

Toute la doc est faite ;-)

L'équipe en charge de la documentation s'est bien déchirée sur cette version 2.16. En effet, elle a réussi, via un système de création de tickets automatiques (via GitHub) pour chaque nouvelle fonctionnalité à fournir suffisamment de travail pour documenter chaque point lié à chaque ticket. On peut maintenant dire que la documentation de la version LTR (la version 2.14) est complète, tout du moins quasiment exhaustive. Le choix de se focaliser sur la version LTR est facilement compréhensible: autant se concentrer sur la version qui a le plus de chances d'être déployée en environnement de production…

Vous pouvez consulter la documentation du manuel de l'utilisateur à partir de cette page. Attention, il est vraisemblable qu'elle ne soit pas traduite complètement en français (mais il n'y a aucun problème pour que votre participation soit bien prise en charge…)

Rendons-donc hommage à la vénérable équipe en charge de la documentation qui a réalisé un travail d'un grand intérêt pour les utilisateurs finaux qui pourront enfin disposer d'une documentation complète de chaque fonctionnalité introduite dans QGIS depuis la version 2.10, jusqu'à la version 2.14.

L'API d'authentification sécurisée est complètement documentée.

Introduite dans la version 2.12 de QGIS, l'authentification sécurisée permet de stocker de manière sécurisée l'ensemble des comptes/mots de passe ou certificats clients utilisés pour se connecter à diverses bases de données ou à divers services web. L'authentification sécurisée fonctionne un peu à la manière de celle de Firefox où un mot de passe principal permet de sécuriser un registre contenant toutes les données d'authentification.

Jusqu'à présent, en dehors des changements visuels et du code, il n'existait pas de documentation utilisateur sur cette partie importante pour la sécurité des utilisateurs. C'est un point délicat car l'authentification sécurisée reste finalement assez complexe à expliquer et à utiliser car il faut comprendre de nombreux concepts pas forcément clairs pour des géomaticiens plus cartographes qu'administrateurs système. Avec la version 2.16, c'est maintenant corrigé dans le manuel utilisateur. Vous n'avez maintenant plus d'excuse à continuer de stocker vos mots de passe en clair (dans les fichiers de configuration de QGIS)…

Rasters

Parlons un peu du parent pauvre de QGIS (même s'il les gère déjà assez bien) : les rasters. Pour information, il s'agit de fichiers bitmap géoréférencés, utiles pour afficher des images comme des orthophotos ou des représentations de plans (style le SCAN25 de l'IGN). Un raster est également une grille contenant une valeur précise pour chaque cellule.

Nouveau rendu pour les MNE

Les Modèles Numériques de Terrain sont des couches rasters un peu particulières : au lieu de stocker une valeur ou un pixel, il stocke l'altitude (ou l'élévation par rapport à un niveau zéro) dans chaque cellule. Suivant sa résolution, on a donc une représentation plus ou moins fine de l'altitude du terrain couvert par l'emprise de la couche.

Traditionnellement, un des usages basiques des MNE est de représenter une couche d'ombrage suivant la hauteur et la position du soleil pour donner un rendu plus facilement interprétable pour l'utilisateur final. C'est ce que vous pouvez lire facilement sur une carte SCAN25 de l'IGN qui affiche les versants nord plus sombres que les versants sud exposés au soleil. Cela permet de se rendre compte plus facilement du relief.

Pour faciliter cet affichage, QGIS 2.16 propose un rendu tout prêt dénommé "Ombrage". Il suffit de le sélectionner et de paramétrer la position du soleil pour obtenir rapidement et efficacement une couche d'ombrage.

Classification basée sur les quantiles

Pour les rasters disposant d'une seule bande et utilisant la représentation en pseudo-couleur, il existe un nouveau mode de classification automatique, basé sur les quantiles (auparavant, il n'y avait que les modes continus et intervalles égaux).

Saisie géométrique Couches en lecture seule (dans le projet)

Cette nouvelle fonctionnalité permet au créateur du projet cartographique qui n'est pas forcément l'utilisateur final d'indiquer quelles sont les couches/tables qui ne doivent pas être modifiées (lecture seule) et ce, indépendamment des droits d'écriture de l'utilisateur final.

Cette option est disponible dans les propriétés du projet -> identification des couches. Si une couche est marquée comme étant en lecture seule, l'utilisateur final du projet ne pourra pas la modifier, à dessein ou par inadvertance (plutôt ce qui est l'objectif de cette nouvelle fonctionnalité). Cela permet de s'assurer qu'aucune opération de modification n'aura lieu.

Bien entendu, l'utilisateur final garde la possibilité de modifier le fichier de projet (s'il en a les droits d'écriture ou en dupliquant le fichier de projet) pour désactiver ces options mais l'intérêt principal est bien d'éviter les modifications par mégarde qui peuvent se produire dans certains cas (nombreuses couches disponibles, couches avec des noms proches, etc.).

Expressions

Les expressions sont un peu le moteur SQL de QGIS. Elles permettent de paramétrer l'affichage (taille, position, couleurs, etc.) de pratiquement n'importe quelle partie de QGIS à l'aide du contenu d'un ou de plusieurs champs ou à l'aide de fonctions d'expressions présentes dans le moteur (elles sont très nombreuses: on en compte plus de 200 !). Pratiquement tout ce qui est paramétrable dans QGIS peut recevoir une valeur fixe ou une expression.

Comme chaque nouvelle version, de nouvelles expressions font leur entrée ainsi que de nouveaux mécanismes.

Utilisation de paramètres nommés

Jusqu'à présent, lorsque vous utilisiez les fonctions d'expression (comme la fonction substr qui effectue des découpages de chaînes de caractères), vous deviez en respecter la syntaxe et notamment l'ordre des paramètres. Parfois, cette syntaxe n'est pas facilement compréhensible sans lire l'aide en ligne (disponible dans l'éditeur d'expression, par défaut). De même, il fallait absolument respecter l'ordre des paramètres.

La nouvelle version de QGIS introduit les paramètres nommés (un peu comme ce qu'on peut trouver avec les paramètres nommés de Python). Ainsi, au lieu d'écrire l'expression suivante : substr('QGIS rocks !', 0, 4), vous pouvez écrire substr(input_string:='QGIS rocks !', startpos:=0, length:=4) ou encore substr(startpos:=0, input_string:='QGIS rocks !', length:=4).

Cela permet de mieux comprendre quels sont les paramètres utilisés et de modifier leur ordre d'apparition comme bon vous semble.

Amélioration des fonctions de calcul de dates et d'intervalles de temps

QGIS dispose d'une panoplie conséquente de fonctions qui gèrent les dates et les intervalles de temps (environ une douzaine plus les opérateurs).
Maintenant, les opérateurs sont plus "intelligents" :

  • Il est possible d'ajouter une heure (une heure sans date) à une date (une date sans heure) pour former une date complète (date+heure) sous la forme: date + heure.
  • L'opérateur - retourne maintenant des intervalles au lieu de dates/heures ou date complète, ce qui est plus simple à interpréter.
Fonctions d'agrégation

Un des derniers points qui manquait dans la gestion des expressions était les fonctions/opérateurs d'agrégation. En SQL, il s'agit d'opérateurs permettant d'effectuer des "calculs" selon un groupe de données (géré avec une clause GROUP BY). Comme le moteur d'expression s'apparente à un moteur SQL, il n'est pas surprenant de voir arriver des fonctions spécifiques permettant de gérer ces regroupements. L'intérêt est de pouvoir effectuer des calculs sur des données qui ne sont pas stockées dans des bases de données (des fichiers ShapeFile par exemple).

Prenons quelques exemples simples d'agrégations:

  • count("especes"): permet de compter toutes les valeurs de l'attribut "especes" dans la couche sur laquelle s'applique l'expression.
  • sum("population", "région"): on utilise la couche des départements avec un champ "population" par département et une colonne "région" qui indique à quelle région le département appartient et le résultat sera une liste de sommes de population par région.

La liste des fonctions d'agrégation simple est finalement assez fournie et devrait répondre à la majorité des besoins : compter, faire la somme, calculer la moyenne l'écart-type ou la médiane, trouver le minimum/maximum, concaténer, etc.

Une fonction d'agrégation plus généraliste est dédiée aux tables qui disposent de relations entre elles (définies au niveau de QGIS et non au niveau de la base de données). Elle se nomme relation_aggregate et se charge de réaliser l'agrégation sur une couche fille, à partir du nom de la relation.

Il existe enfin une fonction générique qui permet de réaliser une opération d'agrégation sur une couche différente de la couche sur laquelle s'applique l'expression. Il est alors possible de la combiner avec des données de la couche courante pour réaliser des calculs spécifiques. Par exemple, si vous désirez réaliser un filtre d'une couche sur un champ dont la valeur doit être supérieure à la moyenne d'un champ d'une autre couche.

Cette fonction se nomme simplement aggregate et s'utilise avec la syntaxe: aggregate("autre couche", "opération d'agrégation (sum/count/etc.)", "attribut/expression sur laquelle se porte l'agrégation").

Enfin, sachez que tous les calculs réalisés avec des agrégations sont mis en cache, si vous utilisez un regroupement plusieurs fois, un seul calcul sera effectué.

Traitements

Les outils de traitements ou de géo-traitements permettent de réaliser des manipulations chaînées sur des donnés, par exemple, retourner une couche de centroïdes sur une couche en entrée ou de calculer des bassins versants à partir d'une ou plusieurs couches rasters.

D'un point de vue interne, les traitements de QGIS sont intégralement gérés par une extension de cœur de projet (core) dénommée Processing et écrite en Python.

Suppression de fTools

fTools est le nom donné à une extension de cœur de projet (core) qui avait pour objet de proposer des outils de traitements spatiaux sur des couches vectorielles. Sa réalisation était assez ancienne et son usage est très répandu chez les utilisateurs de QGIS qui ont l'habitude de l'employer à travers le menu 'Vecteur'.

Néanmoins, avec le temps, son usage faisait vraiment doublon avec les géo-traitements de QGIS : depuis quelques versions, la majorité des traitements de fTools étaient disponibles dans le panneau des traitements et l'utilisateur pouvait alors être un peu dérouté par la présence de deux outils situés à deux endroits différents mais réalisant (à peu près) la même chose.

Du point de vue de la maintenance du code, c'était aussi beaucoup d'effort : il fallait maintenir et synchroniser des algorithmes semblables dans deux endroits différents du code. Pire, il arrivait parfois qu'un bug affecte l'un des deux outils mais pas l'autre. Il était donc temps de mettre fin à ce problème.

C'est donc le cas pour cette version : fTools a été retiré de QGIS. Néanmoins, comme son usage était très répandu, le menu Vecteur a été conservé pour ne pas dérouter les habitudes des utilisateurs de QGIS. Les entrées du menu redirigent simplement vers un géo-traitement précis. Les icônes de fTools ont également été reprises comme icônes spécifiques pour chaque traitement disponible (encore une fois, pour perturber le moins possible les utilisateurs).

Voilà un problème à peu près réglé (il peut rester quelques bugs de "migration"). Un autre module va sans doute connaître le même sort dans l'avenir : l'extension GdalTools qui réalise des géo-traitements rasters avec les utilitaires de GDAL et qui sont également présents sous forme de géo-traitements dans Processing.

GRASS7

La dernière version de QGIS disposait de quelques traitements GRASS7 supplémentaires (notamment les modules v.net gérant les couches vectorielles de réseau). Pour QGIS 2.16, c'est l'intégralité (il doit manquer un seul traitement sur la totalité de ce que GRASS7 propose) des traitements de GRASS7 qui ont été portés dans Processing mettant ainsi à disposition des utilisateurs plus de 300 traitements portant sur des couches rasters, vecteurs ou d'images. Il faut noter que GRASS reste une référence en matière de traitements sur les couches rasters.

Dans ce cas de figure, Processing agit comme une interface d'accès aux traitements GRASS en réalisant en arrière plan la création d'une base de données GRASS temporaire, l'injection des données à traiter, le lancement des traitements via des commandes internes GRASS (ce sont donc vraiment les binaires GRASS qui font le travail) et l'export des données à récupérer dans QGIS depuis la base de données GRASS temporaire.

Ces ajouts ne concernent que les traitements de GRASS dans sa version 7 et non dans sa version 6, simplement pour des raisons de coût de maintenance. Par ailleurs, la version stable actuelle de GRASS est la version 7 (même si on rencontre encore la version 6 dans de nombreuses distributions GNU/Linux stables, Debian Jessie pour ne pas la citer).

En plus de ces ajouts de modules, un premier jet de tests unitaires ont été intégrés pour les traitements GRASS7 (principalement sur les modules i.* et r.*). Au total, ce sont près de 115 modules qui disposent d'un test unitaire. Cela devrait permettre de mieux détecter les problèmes d'interaction entre Processing et GRASS lors des évolutions de GRASS. Ces tests unitaires sont très basiques : ils se contentent de lancer le traitement avec un jeu de données réduit et avec des paramètres par défaut. Mais, il faut bien commencer par quelque chose ! À l'avenir, on peut penser que chaque traitement GRASS7 de Processing disposera au moins d'un test unitaire.

Gestion de l'écriture de tables sans géométries

Processing gère maintenant l'écriture dans des tables sans géométrie. Cela permet de remplir des fichiers CSV par exemple. Pour l'instant, seul le traitement 'Refactoriser les champs' (qui permet de modifier la structure et le contenu d'une table attributaire en entrée) en bénéficie mais d'autres traitements devraient pouvoir utiliser facilement cette fonctionnalité, inscrite dans les classes de base de Processing.

Support des expressions dans les entrées des traitements

Jusqu'à présent, les expressions n'étaient pas disponibles dans Processing. C'est maintenant fait pour au moins quelques types de paramètres d'entrée (chaîne de caractères, nombre) ou de sortie. Dans ce cas, les expressions serviront à déterminer la valeur du paramètre. Cela peut être utile pour, par exemple, formater le nom du fichier de sortie de manière dynamique en fonction de la valeur d'un champ.

À vous la puissance des expressions dans vos géo-traitements !

Composeur d'impression

Le composeur d'impression de QGIS est l'interface graphique qui permet de gérer la mise en page d'une carte. En effet, QGIS présente essentiellement une vue cartographique qui est faite principalement pour interagir avec les données ce qui est très souvent incompatible avec les opérations de mise en page (qui affichent d'autres choses que la carte). Ce module très complet permet de créer facilement des cartes destinées à être imprimées sur papiers (ou en image/PDF).

Dessins de formes : polygones/polylignes

Dans cette version, le composeur permet de tracer des polygones et des polylignes directement dans la mise en page. Jusqu'à présent, on pouvait ajouter des formes (rectangle/cercle/ellipse), des fichiers SVG ou bitmaps, ou encore des flèches. On peut maintenant tracer des formes plus libres. Cela permet de mettre en valeur certaines données plus facilement : vous pouvez dessiner un polygone plus complexe pour mettre en valeur une zone précise sur une carte à imprimer (même s'il y a d'autres techniques pour le faire automatiquement).

Géoréférencement des cartes en sortie d'impression par défaut

QGIS permet de géoréférencer une impression de carte. Concrètement, les fichiers créés par le composeur d'impression peuvent être géo-référencés: les coordonnées de la d'emprise de la carte qu'ils représentent sont stockées directement dans le fichier (pour les formats TIFF et PDF). Cela permet d'ouvrir ces fichiers (dans QGIS mais également dans d'autres logiciels SIG) comme s'il s'agissait de couches rasters.

Auparavant, QGIS proposait de stocker les informations de géo-référencement dans un fichier dédié (world file). Maintenant, par défaut, la donnée est stockée dans les métadonnées du fichier en sortie (le fichier world est produit uniquement si l'option relative est cochée). Pas de révolution de ce côté mais une meilleure intégration de l'emprise spatiale dans toute carte produite par QGIS.

Plugins ou extensions

Les plugins ou extensions de QGIS sont des parties fonctionnelles supplémentaires qui s'appuient sur l'API de QGIS et qui offrent des fonctionnalités non couvertes par le cœur de projet (core), suivant le principe de Firefox et de ses greffons. L'API permet de (pratiquement) tout modifier dans QGIS au niveau de l'interface homme-machine ainsi que de lancer n'importe quelle action sur des données lisibles par QGIS. Le potentiel est donc très important.

Certaines extensions prennent de l'ampleur et finissent par être intégrées et gérées par l'équipe de développement de QGIS (comme Processing ou DBManager). Les autres extensions sont développées sur des dépôts tiers mais sont listées sur le dépôt officiel. Plus de 1000 greffons sont disponibles et sont directement installables depuis QGIS.

Refonte du plugin Globe

Pour cette version de QGIS, le greffon Globe a été revu. Il permet d'apporter une fenêtre de globe terrestre permettant d'avoir un rendu en (pseudo) 3D des données présentes dans le projet cartographique en cours sur un globe terrestre. C'est un peu le Google Earth en local de QGIS. Avec le temps, le plugin semblait prendre un peu d'âge et n'évoluait plus. Il a donc été remis au goût du jour.

Au menu des nouveautés :

  • Remise à niveau technique avec incorporation d'une nouvelle version de OSgEarth.
  • Adoption du nouveau moteur géométrique de QGIS (qui date d'il y a quelques versions maintenant).
  • Extrusions des objets de couche avec une dimension Z ou avec une expression.
  • Ajout d'un onglet de configuration dans les propriétés de la couche : cela permet de paramétrer la représentation de la couche dans le greffon (si ce dernier est activé) et de stocker ces paramètres dans le projet QGIS.

Informations sur la version 3.0 Informations générales

Comme nous l'avions déjà présenté dans les précédentes dépêches sur QGIS, l'objectif de la version 3.0 de QGIS est la migration vers la version 5 de Qt et la version 3 de Python.

Sachez qu’il est maintenant tout à fait possible de compiler QGIS avec Qt5 et Python3. Le résultat n'est, pour le moment, pas garanti en termes d’absence de bugs mais, depuis quelques mois, on peut avoir un binaire QGIS équipé de ces options qui fonctionne dans les grandes lignes.

Du point de vue du code, le dépôt Git présente dès maintenant 2 branches master:

  • master qui est la version 3.0.
  • master_2 qui contient des évolutions uniquement destinées à la version 2.x de QGIS (pour des corrections de bugs principalement).

On voit bien que tout est axé sur la version 3.0: c'est la branche par défaut !

Tester la version 3.0 de développement

Voici quelques instructions pour pouvoir disposer d'un QGIS sous Qt5 et Python3 avec la prise en charge de GRASS7 sous Debian Stretch.

Il vous faudra d'abord installer de nombreuses dépendances (oui, QGIS est un logiciel complexe qui fait beaucoup de choses en se reposant au maximum sur ce qui existe déjà):

# apt install build-essential cmake flex bison pyqt5-dev qttools5-dev qtpositioning5-dev libqt5svg5-dev libqt5webkit5-dev libqt5gui5 libqt5scripttools5 qtscript5-dev libqca-qt5-2-dev grass-dev libgeos-dev libgdal-dev libqt5xmlpatterns5-dev libqt5scintilla2-dev pyqt5.qsci-dev python3-pyqt5.qsci libgsl-dev txt2tags libproj-dev libqwt-qt5-dev libspatialindex-dev pyqt5-dev-tools qttools5-dev-tools qt5-default python3-future python3-pyqt5.qtsql python3-psycopg2 python3-yaml python3-pygments python3-owslib python3-nose2 python3-six python3-markupsafe python3-dateutil python3-jinja2 python3-httplib2 python3-tz grass grass-dev grass-doc

Il vous faut ensuite récupérer les sources de QGIS. Vous pouvez le faire simplement en clonant le dépôt git hébergé sur Github (attention, il est assez lourd):

$ git clone git://github.com/qgis/QGIS.git $ cd QGIS $ mkdir build-master $ cd build-master

Ensuite, reste à préparer la compilation, effectuer la dite compilation puis l'installation. QGIS repose sur CMake:

$ ccmake -D ENABLE_QT5:BOOL=TRUE \ -D PORT_PLUGINS:BOOL=TRUE \ -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/ \ -D WITH_ASTYLE:BOOL=TRUE \ -D WITH_INTERNAL_QWTPOLAR:BOOL=TRUE \ -D WITH_INTERNAL_YAML:BOOL=FALSE \ -D WITH_INTERNAL_PYGMENTS:BOOL=FALSE \ -D WITH_INTERNAL_OWSLIB:BOOL=FALSE \ -D WITH_INTERNAL_NOSE2:BOOL=FALSE \ -D WITH_INTERNAL_SIX:BOOL=FALSE \ -D WITH_INTERNAL_MARKUPSAFE:BOOL=FALSE \ -D WITH_INTERNAL_DATEUTIL:BOOL=FALSE \ -D WITH_INTERNAL_JINJA2:BOOL=FALSE \ -D WITH_INTERNAL_HTTPLIB2:BOOL=FALSE \ -D WITH_INTERNAL_QEXTSERIALPORT:BOOL=TRUE \ -D WITH_INTERNAL_PYTZ:BOOL=FALSE \ ..

Cette commande ouvre une interface ncurses qui vous permet d'affiner les options de compilation et de vérifier que vous disposez de toutes les dépendances. Confirmez avec la touche 'c' puis générez les Makefile avec la touche 'g'. L'option PORT_PLUGIN de CMake permet de déclencher le mécanisme de conversion des extensions en Python actuellement codées en Python2. Ce mécanisme est présenté dans le paragraphe ci-dessous. Les autres options (WITH_INTERNAL à FALSE) permettent d'utiliser les bibliothèques Python3 de votre distribution plutôt que celles qui sont livrées avec le code de QGIS.

On peut ensuite lancer la compilation et l'installation:

$ make -jX # X variable suivant le nombre de cores de votre CPU $ sudo make install

La compilation prend un temps non négligeable: compter environ 10 à 20 minutes sur une machine récente.

Ensuite, pour lancer QGIS, il vous faudra peut-être modifier la variable d'environnement LD_LIBRARY_PATH et y ajouter l'emplacement des bibliothèques partagées de QGIS (normalement dans /usr/local/lib) puis taper qgis.

Le mécanisme de conversion des plugins "core"

En ce qui concerne la conversion des scripts Python de Python2 vers Python3, un mécanisme de conversion automatique a été mis en place : lors de la compilation, le code des ensembles de QGIS sous Python2 (principalement les plugins de cœur d’application "core") est passé à la moulinette de l'outil 2to3. Il en résulte une cible sous Python3 directement utilisable. Pour utiliser ce mécanisme, il suffit de cocher l'option CMake PORT_PLUGINS (qui est automatiquement activée lorsqu'on compile avec l'option WITH_QT5 d'ailleurs).

Mais il n'y a pas que la conversion de Python2 vers Python3 à gérer : il y a également l'évolution de PyQt4 vers PyQt5 !

En utilisant la bibliothèque Python future et un peu de code, on obtient un ensemble de conversions automatiques qui gèrent également la transition PyQt4 vers PyQt5. Pour l'instant, le script fix_pyqt gère correctement le renommage des modules ainsi que le nom des méthodes.

Néanmoins, ce mécanisme n'est pas parfait (il faut bien laisser un peu de travail aux devs quand-même !) : lorsque des méthodes ou des fonctions changent de paramètres ou de retour, fix_pyqt ne gère rien. Il en résulte un résiduel assez important de bugs pas nécessairement faciles à trouver car, dans la majorité des cas, l'ensemble du plugin va se lancer correctement (pas de plantage au lancement) mais c'est uniquement l'activation d'une option précise qui va tout vraquer. Même avec de bons tests unitaires, c'est assez difficile à diagnostiquer… C'est cet ensemble de bugs qu'il faudra gérer et c'est pour cela qu'il y a de fortes chances que le calendrier de la version 3.0 soit décalé par rapport au rythme de publication habituel (qui n'est que de 4 mois).

Pour terminer sur ce port, disons-nous que passer à Python3 va sans doute nous permettre de mettre fin au problème majeur des plugins Python de QGIS : la gestion de l'unicode (mon petit doigt me dit que le simple fait d'avoir un nom de logiciel comme "Nødebo" devrait entraîner une bonne série de commits correctifs :-)) !

Conclusions

Cette version 2.16 continue à consolider le rôle de QGIS comme leader des SIG bureautiques libres. Les nouvelles fonctionnalités sont très nombreuses, sans parler des traditionnelles corrections de bugs. QGIS se place sans problème au niveau des meilleurs SIG (propriétaires et libres) et les professionnels y retrouveront des fonctionnalités qui faciliteront grandement leur travail. Signe qui ne trompe pas: la page des sponsors montre que le financement de QGIS se renforce de version en version et que les acteurs qui contribuent au projet sont de plus en plus nombreux et prêts à mettre un peu d'argent sur la table. Bien entendu, le budget n'a rien à voir avec celui d'un grand groupe mais cela démontre qu'on peut tout à fait financer un gros projet comme QGIS à plusieurs et ce, peu importe sa provenance géographique.

L'avenir s'ouvre également sur de bons auspices avec la version 3.0 qui prend un chemin sérieux. Il y a de grandes chances qu'elle devienne la prochaine version de QGIS et que la version 2.16 soit la dernière de la série 2.x même si un décalage de calendrier est fort probable (publication d'une version officielle tous les 4 mois). La version 3.0, en plus de la remise à niveau de l'environnement technique introduit également des modifications profondes dans l'API de QGIS. Mais ces modifications vont dans le bon sens: nous allons pouvoir nous débarrasser de tout le vieux code qui était nécessaire pour garantir une compatibilité de la chaîne QGIS dans la branche 2.x et nous appuyer sur des objets et des méthodes plus simples à utiliser et offrant un accès plus rapide aux dernières fonctions avancées des différents composants de QGIS. Par ailleurs, la version 3.0 ne sera pas seulement une mise à jour des principales bibliothèques de base (Qt5) mais elle présentera également de nombreuses nouvelles fonctionnalités, comme d'habitude.

Souhaitons aux développeurs que toutes leurs nouvelles implémentations fonctionnent du premier coup et que le code soit fluide sous le clavier !

Malgré les 200 contributeurs sur GitHub, le projet a toujours besoin de contributions dans différents secteurs. Venez nous rejoindre en fonction de vos compétences, vos talents ou votre volonté de nous aider !

  • Je suis développeur C+/Qt : c'est parfait, venez nous aider à améliorer le code et les algorithmes internes de QGIS. Le développement se déroule sur GitHub et n'oubliez pas de lire la documentation de développement.
  • Je suis développeur Python : c'est très bien, QGIS regorge de modules Python et d'extensions internes codées dans ce langage. Si vous n'y connaissez rien en SIG, vous pouvez nous aider en vous concentrant sur la qualité du code ou en écrivant des tests unitaires.
  • Je suis un utilisateur courant de QGIS : même si vous ne savez pas coder, vous pouvez facilement nous aider. Pour commencer, retenez que nous avons besoin de réaliser des tests approfondis lors de la phase de gel des fonctionnalités qui commence au bout de 3 mois de développement. À ce stade, les nouvelles fonctionnalités doivent être fortement testées avant que nous puissions publier la future version de production. Par ailleurs, il faudra également veiller à ce que ces nouvelles fonctionnalités ne cassent pas quelque-chose qui fonctionnait auparavant. Et pour cet ensemble de tests, rien ne vaut les vraies données, basées sur des cas concrets. Il vous faudra installer les versions compilées toutes les nuits et travailler sur vos données habituelles tout en faisant remonter tout problème via le bugtracker. Plus nous aurons d'utilisateurs pendant cette phase, moins il y aura de problèmes dans la publication de la nouvelle version (nous ne serons donc pas forcément obligés de publier une version corrective en un mois après la sortie de la nouvelle version). Votre rôle ici est très important car les développeurs n'ont forcément que des jeux de tests limités et ils sont concentrés sur la résolution de bugs pendant cette phase qui dure un seul mois. Merci pour votre implication dans les tests. Si vous avez de l'expérience métier, vous pouvez aider les utilisateurs QGIS qui posent des questions, notamment sur StackOverFlow.
  • Je suis étudiant en informatique ou dans les SIG: pour l'été prochain, si vous n'avez pas grand chose de prévu, sachez que QGIS bénéficie du programme Google Summer of Code. Je vous recommande de trouver un "mentor", membre du projet. Sachez que vous pouvez nous aider sur pas mal de points, y compris en dehors du code ou du domaine des SIG. Ainsi, par exemple pour cette année, un des projets QGIS du Summer of Code consiste à monter une bibliothèque partagée de styles de couches, permettant aux utilisateurs de QGIS de disposer d'une banque commune de représentations graphiques pour leurs projets.
  • Je suis bon en anglais technique (SIG et/ou informatique) : venez rejoindre l'équipe de traduction de QGIS. Nous sommes nombreux à être inscrits mais nous avons toujours besoin de forces vives pour faire en sorte que QGIS Desktop soit toujours 100 % traduit en français ou que le site web et la documentation restent à jour par rapport à la version en langue anglaise. Ceci est particulièrement vrai lors de la phase de gel des fonctionnalités. Les nouvelles fonctionnalités amènent souvent de la documentation interne ou des chaînes de caractères à traduire. Il faut de plus rester sur le qui-vive pendant toute cette phase car des modifications de texte peuvent intervenir même quelques heures avant la compilation finale. Il serait en effet bon d'atteindre régulièrement les 100 % de traduction de l'application bureautique (ce qui permet de dire à la communauté que QGIS est complètement traduit en français). Mais une fois que la version officielle est compilée et distribuée, il nous faut également beaucoup d'aide pour traduire correctement la page web des changements en image. Cette page est très importante pour les utilisateurs francophones de QGIS car elle permet de leur présenter toutes les nouvelles fonctionnalités dans leur langue maternelle, ce qui leur permet d'avoir une information plus claire sur ce que le nouveau QGIS peut leur apporter. Plus nous serons nombreux à être des traducteurs actifs, plus le travail lourd et fastidieux de traduction sera réparti et plus QGIS sera facilement traduit.
  • Je ne suis rien de tout ça !: pas de problème, vous pouvez nous aider sur de nombreux points. D'abord, vous pouvez faire un don au projet Votre argent ira abonder le financement de nouvelles fonctionnalités ou encore le programme de corrections de bugs. Si vous êtes DSI/décideur ou référent technique, n'hésitez pas à demander une étude d'évaluation de QGIS en interne si vous avez des projets informatiques qui intègrent de la géographie. Si vous êtes enseignant/scientifique, n'hésitez pas à faire la promotion de ce SIG libre que vos étudiants pourront installer facilement (et gratuitement) sur leurs machines personnelles. etc.
Télécharger ce contenu au format Epub

Lire les commentaires

Pages