7,90 € TTC
p. 06 Installez simplement la dernière version de Python avec Pyenv
p. 10 Enquête dans les méandres du système... ou l’aventure humaine de la chasse aux bugs
p. 14 L’apprentissage par renforcement pour créer des bots autonomes
p. 30 La peinture sur spectre radiofréquence, et l’effet capture de la modulation en fréquence
p. 44 Infrastructure As Code sous AWS avec Terraform
p. 56 KF5 en embarqué, couple improbable...
p. 64 Les mystères de l’ioctl()
p. 72 Les tribulations d’un programmeur Linux dans la Sierra Apple
p. 78 Une clé USB de secours toujours à portée de main
p. 82 Créer son propre ORM pour Node.js
p. 94 Cloisonner une application simplement avec NsJail
Voici de retour la controverse sur la révision du droit d’auteur dans l’Union Européenne. Il y a quelques jours, 147 associations européennes ont publié une lettre ouverte (https://savecodeshare.eu/) demandant la suppression ou la réécriture de l’article 13 de la proposition de réforme devant être votée à la fin du mois de juin. Actuellement voilà la teneur de l'article (le texte de la Proposition sur le droit d’auteur dans le marché numérique peut être consulté dans son intégralité en [1]) :
« Les prestataires de services de la société de l'information qui stockent un grand nombre d'œuvres ou d'autres objets protégés chargés par leurs utilisateurs et qui donnent accès à ces œuvres et autres objets prennent, en coopération avec les titulaires de droits, des mesures destinées à assurer le bon fonctionnement des accords conclus avec les titulaires de droits en ce qui concerne l'utilisation de leurs œuvres ou autres objets protégés ou destinées à empêcher la mise à disposition, par leurs services, d'œuvres ou d'autres objets protégés identifiés par les titulaires de droits en coopération avec les prestataires de services. Ces mesures, telles que le recours à des techniques efficaces de reconnaissance des contenus, doivent être appropriées et proportionnées. Les prestataires de services fournissent aux titulaires de droits des informations suffisantes sur le fonctionnement et la mise en place des mesures, ainsi que, s'il y a lieu, des comptes rendus réguliers sur la reconnaissance et l'utilisation des œuvres et autres objets protégés. »
Ainsi, en l'état, ce texte oblige toutes les plateformes à une certaine censure. Que l’on protège les auteurs, cela est plutôt une bonne chose. Par contre, en demandant aux « prestataires de service de la société de l’information », comme les plateformes de partage de code, de mettre en place des systèmes automatiques de filtrage, tout contenu pourra être censuré sans autre forme de procès.
Comme aucun programme de filtrage de code ne sera jamais fiable à 100% du fait des développeurs/licences multiples, de nombreux faux positifs risquent d’émerger et de ralentir l’évolution de différents projets. Ainsi, qu'adviendra-t-il d'un projet N contenant des fragments de code issus de projets N2, N3, etc., chacun possédant une licence différente ? Ne risquons-nous pas de nous retrouver avec un nouveau NPM-gate [3] ? Pour rappel, la société Npm Inc. qui gère npm supprima arbitrairement un module à la demande d’une société (pour une similarité de nom), ce qui provoqua l’ire de l’auteur dudit module qui supprima toutes ses contributions, ce qui entraîna l’échec de la construction de nombreux projets open source.
Étrangement, GitHub qui, d'après ses conditions d'utilisation (« We reserve the right at any time from time to time to modify or discontinue, temporarily or permanently, the Website (or any part of it) with or without notice ») s'autorise une forme de censure, s’est ému récemment à ce sujet [2]. Mais GitHub Inc. vaut-il mieux que Npm Inc. ?
Cet article 13 tant décrié et qu'il faut combattre nous permet donc également de nous rappeler qu'en partageant notre code sur une plateforme telle que GitHub, nous sommes tributaires d'une société qui peut à tout moment modifier, effacer un projet ou simplement cesser son activité. Le risque de censure n'est pas le fait d'un programme de filtrage automatique massif, mais est dès à présent réel.
Nous sommes nombreux à utiliser ces plateformes très pratiques, le tout est d'être conscient des dangers... GNU/Linux Magazine, en revanche, est un magazine et présente donc moins de risques :-) … je vous souhaite une bonne lecture !
[1] Proposition de directive du parlement européen et du conseil sur le droit d’auteur dans le marché numérique : https://eur-lex.europa.eu/legal-content/FR/TXT/?uri=CELEX:52016PC0593&qid=1525240660076
[2] The GitHub blog, « EU wants to require platforms to filter uploaded content (including code) » : https://blog.github.com/2018-03-14-eu-proposal-upload-filters-code/
[3] KOÇULU A., « I’ve just liberated my modules » : http://azer.bike/journal/i-ve-just-liberated-my-modules/
Tristan Colombo
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
Pour créer des programmes capables de résoudre des problèmes sans leur avoir donné de méthode précise, il faut nécessairement faire appel au machine learning. Quand il s'agit d'apprendre en explorant un environnement, on passe au reinforcement learning, sujet de cet article.
Nous avons tous été confrontés, lors d'un dîner en famille, chez des amis au fameux « Ah, au fait, mon ordinateur ne démarre plus. Tu peux jeter un coup d’œil rapidement ? ». Malheureusement, il est rare de se déplacer avec une boîte à outils, l'ensemble des logiciels dont nous pourrions avoir besoin pour diagnostiquer ou réparer une machine. Pourquoi ne pas créer alors un « bracelet clé USB » contenant des distributions ou des programmes ?
Comment durcir simplement notre système, quand ce dernier fait, et doit faire, tourner des applications tierces non maîtrisées ? Ce type de problématique s'est retrouvé au cœur de l'actualité quand est apparue la faille affectant ImageMagick. Comment limiter son champ d'action quand on connaît son périmètre fonctionnel pour un cas d'utilisation ?