Juin / Juin 2018

GNU/Linux Magazine 216

Machine learning & apprentissage automatique

  • Découvrez le reinforcement learning
  • Comparez différents algorithmes avec le toolkit OpenAI Gym
  • Les pièges à éviter pour utiliser le framework Serpent.AI
En savoir plus

7,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
GNU/Linux Magazine 274

GNU/Linux Magazine 274

Mars / Avril 2025
9,90 €
GNU/Linux Magazine 273

GNU/Linux Magazine 273

Janvier / Février 2025
9,90 €
GNU/Linux Magazine 272

GNU/Linux Magazine 272

Novembre / Décembre 2024
9,90 €
GNU/Linux Magazine 271

GNU/Linux Magazine 271

Septembre / Octobre 2024
9,90 €
GNU/Linux Magazine 270

GNU/Linux Magazine 270

Juillet / Août 2024
9,90 €
GNU/Linux Magazine 269
9,90 €
GNU/Linux Magazine 268

GNU/Linux Magazine 268

Mars / Avril 2024
9,90 €
GNU/Linux Magazine 267

GNU/Linux Magazine 267

Janvier / Février 2024
9,90 €
sommaire 

Actus & Humeur

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

IA, Robotique & Science

p. 30  La peinture sur spectre radiofréquence, et l’effet capture de la modulation en fréquence

Système & Réseau 

p. 44  Infrastructure As Code sous AWS avec Terraform

IoT & Embarqué 

p. 56  KF5 en embarqué, couple improbable...

Kernel & Bas niveau  

p. 64  Les mystères de l’ioctl()
p. 72  Les tribulations d’un programmeur Linux dans la Sierra Apple

Hack & Bidouille  

p. 78  Une clé USB de secours toujours à portée de main

Mobile & Web 

p. 82  Créer son propre ORM pour Node.js

Sécurité & vulnérabilité 

p. 94  Cloisonner une application simplement avec NsJail

édito

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

Le magazine de référence technique pour les développeurs sur systèmes open source et les ingénieurs R&D !

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...

L'apprentissage par renforcement pour créer des bots autonomes
GNU/Linux Magazine n°216

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.

Les tribulations d'un programmeur Linux dans la Sierra Apple
GNU/Linux Magazine n°216

Après développement d'applications domotiques basées sur des échanges de datagrammes pour divers hôtes (Raspberry Pi, ESP-12, smartphone Android) et divers langages (C++, Python, Java), on finit par être confronté au portage de ces applications dans l'univers Apple ; il est alors naturel de se tourner vers le langage Swift et sa librairie « Foundation » (le langage Swift créé par Apple et rendu public en 2014 est passé en open source en décembre 2015).L'utilisation du protocole UDP conduit à mettre en œuvre les « CFSocket » de la libraire « Foundation » avec leur fonction de rappel (callback) associée pour la réception des datagrammes. On est alors amené à manipuler des pointeurs (UnsafePointer et autres variantes du langage Swift) vers divers objets ce qui n'est pas évident a priori. Cet article est destiné à faire partager ce retour d'expérience.

Installez simplement la dernière version de Python avec Pyenv
GNU/Linux Magazine n°216

Python est sorti le 28 mars dernier en version 3.6.5, notre système de mise à jour maison nous en a informé sur le champ [1]. Pourtant ce programme ne fait pas tout et pour la gestion des environnements virtuels, il existe un petit bijou de simplicité...

Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2025 - LES EDITIONS DIAMOND