Graph Any Data with Cacti!

For the past few years, I've been trying to understand how to make graphs using RRDtool (Round-Robin Database tool) after failing miserably to understand MRTG (Multi-Router Traffic Grapher) before that. The thing I like about RRDtool is that it's newer and supports a wider variety of data sources. more>>

Be Kind, Buffer!

I like to tweet. Not like a bird (well, not usually), but tweeting on Twitter. I like to post silly pictures and say silly things. Unfortunately, a few things usually happen:

  • I take a bunch of photos within minutes of each other.

  • I want to post to Twitter and Facebook. more>>

[Sondage] Quel(s) autre(s) magazine(s) lisez-vous en dehors de GNU/Linux Magazine ?

Nous aimerions en savoir un peu plus sur vos habitudes de lecture, aussi si vous avez quelques instants à nous consacrer, le petit sondage ci-dessous vous permettra de sélectionner jusqu’à 3 publications. N’hésitez pas à nous indiquer en commentaire les autres titres que vous lisez si ceux-ci ne figurent pas dans cette liste. Merci de votre participation 🙂

Quel(s) autre(s) magazine(s) lisez-vous en dehors de GNU/Linux Magazine ?

 

Textiles intelligents - Verrières en Anjou (49) Le 18 mai 2017

L'objectif de ce workshop est d'apporter un éclairage sur les technologies et les nouveaux usages des textiles intelligents.

Depuis quelques années, la filière textile française a entrepris une mutation vers les textiles techniques et intelligents. Equipés de capteurs, communicants, ces nouveaux textiles vont permettre d'adresser de nouveaux usages dans de nombreux secteurs : le sport, la santé, le bien-être, la sécurité des personnes...

Grâce à ces capteurs intégrés, ils sont déjà capables de réagir à l'état physiologique du sportif ou du travailleur. Communicants, ils peuvent transmettre une alerte en cas de risque. Ces textiles intelligents sont aussi présents dans la voiture avec l'apparition de fonction de mesure de pression, de température…

Programme

Textiles intelligents, pour quels usages ?
Philippe MORIN - IFTH

E-Thread : la puce électronique intégrée dans un fil textile
Emmanuel ARENE - PRIMO1D

Intégration électronique dans le textile
Jérôme COLIN - EOLANE

Réservez votre soirée du 18 mai 2017 !

Ce workshop est organisé par We Network en partenariat avec CAP'TRONIC et l'IFTH.

Inscription en ligne

Lieu :
WE NETWORK
7 rue du Bon Puits
Saint Sylvain d'Anjou
49480 VERRIERES EN ANJOU

Date :
Jeudi 18 mai de 17h à 19h30

Contacts :
Anne LEROUX, WE NETWORK - 02 41 73 98 08
Jean-Philippe ENEAU - CAP'TRONIC - 06 88 44 89 49

Preparing Data for Machine Learning

When I go to Amazon.com, the online store often recommends products I should buy. I know I'm not alone in thinking that these recommendations can be rather spooky—often they're for products I've already bought elsewhere or that I was thinking of buying. How does Amazon do it? more>>

openHAB

Partners Canonical, openHAB Foundation and Azul Systems have collaborated hard to drive development of the new openHAB 2.0 smart-home platform as a snap package. An alternative to Apple Homekit and Samsung SmartThings, openHAB from openHAB Foundation is completely free and open source, and acts as a control hub for home IoT setups. more>>

L’édito de GNU/Linux Magazine n°204 !

Il est parfois édifiant de constater à quel point une idée simple peut nous faciliter la vie. Cette idée apparaît comme par enchantement et l’on se demande comment on a pu vivre jusque-là sans elle… et surtout comment on a fait pour ne pas l’avoir avant, cette satanée idée ! Prenons un exemple tout simple : lorsque l’on travaille sur un Raspberry Pi et que l’on écrit un article sur un PC, on a deux claviers, deux souris et deux écrans. Immanquablement, lorsque l’on souhaite écrire sur le Raspberry Pi on utilise le clavier… du PC ! Ce qui conduit à des résultats quelque peu aléatoires… Lorsque l’on souhaite déplacer la souris du PC, on utilise la souris du Raspberry Pi ce qui l’amène généralement, de rage, à prendre son envol sur quelques dizaines de centimètres (ce qui permet de comprendre l’utilité du câble qui relie la souris à l’ordinateur…), etc. Alors qu’en fait, on pourrait utiliser un bête commutateur USB et un commutateur HDMI qui existent depuis bien longtemps (les plus fortunés pouvant mÍme se tourner directement vers des switchs KVM pour Keyboard-Video-Mouse) ! Il fallait juste avoir l’idée au bon moment…

Les machines ne peuvent malheureusement (ou plutôt heureusement) pas anticiper, prédire ces idées qui nous font défaut. Par contre, il est possible statistiquement de déterminer le prochain mot auquel vous allez penser. En effet, en analysant un ensemble de documents, on peut calculer la probabilité pour un mot d’apparaître connaissant le mot précédent (ou les n précédents). La qualité des documents utilisés pour « l’apprentissage » est donc essentielle ! Vous n’obtiendrez pas la même précision suivant que vous allez employer :

  • des documents hétérogènes avec par exemple des textes en anglais du XVIIIe siècle, des textes en français du XVIe siècle et des textes en italien du XVe siècle ;

  • ou des documents homogènes issus de la même époque et du même domaine.

Dans le premier cas, vous allez réaliser une « grosse soupe » en mélangeant des époques, des langues et certainement des domaines (articles de presse, poésie, théâtre, etc.) et vous allez l’utiliser pour déterminer le prochain mot d’une phrase en français du XXIe siècle : un tirage purement aléatoire vous demandera moins de travail pour un taux de réussite à peu près équivalent.

Par contre dans le second cas, en travaillant de manière précise à l’élaboration de la base de documents, vous pourrez obtenir des résultats intéressants qui ne devront rien au hasard.

Ce mois-ci nous vous proposons d’étudier ce processus de prédiction dans son ensemble, depuis la création de la « base d’apprentissage » jusqu’à la proposition d’un mot devant compléter une phrase.

Vous pourrez également découvrir dans ce magazine comment réceptionner et décoder des trames RDS (mais oui, le RDS : les données numériques transmises sur les ondes FM), comment fonctionne le mécanisme d’allocation mémoire aléatoire du kernel et bien d’autres choses encore !

Je vous laisse prendre connaissance de ce contenu assez dense, je vous souhaite une bonne (lecture | année | soirée | journée)* et je vous retrouverai avec plaisir le mois prochain !

* Avec certains historiques de mots (comme « je vous souhaite une bonne »), la prédiction peut être difficile à effectuer… 😉

Tristan Colombo

Retrouvez GNU/Linux Magazine n°204 chez votre marchand de journaux, sur notre boutique en ligne et sur notre plateforme de lecture en ligne Connect

Omesh Tickoo and Ravi Iyer's Making Sense of Sensors (Apress)

In today's data-driven world, we are surrounded by sensors collecting various types of data about us and our world. more>>

Journée Technique : les nouveaux outils au service de la mesure pour la production - Paris Le 20 juin 2017

L'industrie de demain n'est rien sans la métrologie intuitive : la métrologie 4.0. En effet, grâce aux objets connectés (IoT) la mesure en flux de production est possible, et elle permet d'optimiser et de gagner en temps et en productivité.

De nouveaux outils permettent d'optimiser et d'ajuster au mieux la production, à l'aide de mesure toujours plus près, toujours plus rapide.

Lors de cette journée technique, nous verrons quels sont les principaux nouveaux outils, objets connectés et logiciel pour optimiser au mieux sa production.

Programme :

- 9h30 - ACCUEIL DES PARTICIPANTS

- 9h45 - OUVERTURE ET INTRODUCTION
Marine ESCUILLIE - Collège Français de Métrologie,
François HENNEBELLE - UNIVERSITE DE BOURGOGNE,
Martine VAN NUFFELEN - IMPLEX

- 10h10 - QUELS OBJETS CONNECTES POUR L'INDUSTRIE ?
Nom à confirmer - CAPTRONIC

- 10h40 - LE ROBOT DE MESURE SUR LIGNE DE PRODUCTION
Nom à confirmer

- 11h15 - PAUSE

- 11h30 - LA METHODE MSP
Nom à confirmer

- 12h00 - DEJEUNER

- 13h30 - LE CONTROLE HORS-LIGNE DE PIECES ET OPTIMISATION
Nom à confirmer

- 14h00 - OPTIMISATION DES MESURES PAR SCANNER D'ENVIRONNEMENT ET GESTION DES MESURES
Nom à confirmer

- 14h30 - PAUSE

- 14h50 - QUEL GAIN DE PRODUCTIVITE POUR L'INDUSTRIE ?
Nom à confirmer

- 15h20 - RETOUR D'EXPERIENCE
Nom à confirmer

- 16h15 - CONCLUSION DE LA JOURNEE

- 17h00 - FIN DE LA JOURNEE

Lieu de l'événement :

NOVOTEL Gare de LYON
2 rue Hector Malot
75012 PARIS

Contact :

Michel MARCEAU - 01 69 08 24 90

Inscription à la journée :

Adhérent CFM..................210 €
Non adhérent...................420 €
Tarif TTC avec TVA 20%

CAP'TRONIC est partenaire de cet événement. Si vous êtes adhérent CAP'TRONIC, nous vous offrons la possibilité de prendre en charge vos frais de participation.
Pour cela, merci de contacter Céline GONCALVES par mail goncalves@captronic.fr ou par téléphone au 01 69 08 93 47.
Cette offre est valable pour les 5 premiers inscrits (1 personne par PME)

Rencontre professionnelle : La sécurité des données à l'ère du cloud computing et des objets connectés - Aubervilliers (93) Le 8 juin 2017

Dans un contexte d'utilisation des objets connectés (IoT) dans l'entreprise, comment assurer la protection du patrimoine de l'entreprise par la bonne utilisation de ces objets et du cloud en considérant les aspects humains et technologiques ?

Au cours de cette conférence, les intervenants répondront à ce questionnement et partageront leurs retours d'expériences en considérant les thématiques liées à la protection du patrimoine, les bonnes pratiques à mettre en œuvre pour se protéger et limiter les risques tout en découvrant de nouvelles opportunités d'évolution et de marchés.

Programme prévisionnel

- 15h00 – 15h30 : Accueil Conférence - café

- 15h30 – 17h45 : Les bonnes pratiques pour protéger le patrimoine économique et scientifique de votre entreprise

  • Maîtrise des informations stratégiques et anticipation des risques
  • Intelligence économique
  • Participation à des salons et déplacements à l'étranger
  • Cybercriminalité – e-Réputation – Réseaux sociaux – Cloud computing
  • Utilisation des objets connectés

- 17h45 – 18h30 : Table Ronde : Retour d'expérience : Comment gérer les objets connectés dans la pratique, la place du Cloud, les attentes du services d'un prestation, actions et solutions concrètes.

- 18h30 - 20h : Cocktail et visite de l'espace CoWorking

Lieu de l'événement :

Plaine Coworking, Bât 521,
10 Rue Waldeck Rochet,
93300 Aubervilliers

Accès :

- RER B La Plaine-Stade de France
- RER D Stade de France
- Metro ligne 12 Front Populaire
- Bus 139, 239, 302, 512
- Parking (Indigo : 5 Rue Pasteur, 93300 Aubervilliers)

Contact :

Christophe BRICOUT : 06 43 59 74 97

Date limite des inscriptions : avant le 24 mai 2017

Inscription gratuite mais obligatoire en remplissant le formulaire ci-dessous.

Hackable n°18 est chez votre marchand de journaux !

Le 18ème numéro de Hackable arrive aujourd’hui en kiosque avec en vedette un double article détaillant la modification d’un interphone/portier afin de le vider de ses tripes et de lui donner des fonctionnalités hors du commun : une connectivité VoIP permettant de relayer les « appels » directement sur un téléphone fixe, un smartphone ou une application de téléphonie, mais aussi de converser avec votre visiteur où que vous soyez et même, si besoin, de lui ouvrir à distance !

Eric Le Bras, auteur de l’article, nous présente en détail son projet domotique construit autour d’une Orange Pi Zero (mais facilement transposable sur Raspberry Pi ou n’importe quelle autre carte du même type), point par point, en couvrant à la fois les aspects matériels et logiciels, les problèmes et les solutions adaptées.

Ce n’est pas là, bien sûr, le seul projet de ce numéro. Vous y découvrirez aussi qu’il est parfaitement possible de piloter un affichage vidéo VGA à l’aide d’une carte Arduino UNO et de quatre malheureuses résistances, de contrôler le démarrage d’un PC ou un autre équipement, à distance, via le réseau filaire (Arduino + shield Ethernet) ou en Wifi (ESP8266/NodeMCU), d’utiliser une sortie audio Bluetooth avec votre Raspberry Pi en ligne de commandes…

Nous sortirons également une peu des sentiers battus dans ce numéro en nous penchant sur FreeDOS, une version à jour, compatible et en logiciel libre du bon vieux DOS, permettant de redonner vie à un ancien PC pour profiter à nouveau des bons vieux logiciels et jeux d’antan.

Mais ce n’est pas tout, voici le sommaire complet de ce qui vous attend dans ce numéro de mai/juin :

  • Équipement
    • p.04 : Dessoudez, changez et récupérez des composants
  • Ardu’n’co
    • p.14 : Démarrez votre PC à distance avec une carte Arduino ou ESP8266
    • p.30 : Recyclez un vieil écran VGA et utilisez-le avec votre Arduino
  • En couverture
    • p.42 : Créez votre portier audio connecté
    • p.56 : Portier audio connecté : installation et configuration
  • Embarqué & Informatique
    • p.74 : Ajoutez une sortie audio Bluetooth à votre Raspberry Pi
  • Démontage, Hacks & Récup
    • p.82 : DOS n’est pas mort ! Il va même très bien !
  • Repère & Science
    • p.94 : Jonglez avec les versions de Raspbian pour profiter des applications les plus récentes

Nous pouvez trouver ce numéro en vente chez votre marchand de journaux dès aujourd’hui ainsi que sur notre boutique en ligne.

Les offres d’abonnement sont également disponibles au format papier, PDF et lecture en ligne.

[GNU/Linux Magazine n°204] Références et notes de l’article « Radio Data System : analyse du canal numérique transmis par les stations radio FM commerciales… »

Retrouvez ici la liste des références qui accompagnent l’article « Radio Data System (RDS) : analyse du canal numérique transmis par les stations radio FM commerciales, introduction aux codes correcteurs d’erreur », publié dans GNU/Linux Magazine n°204 :

[1] BARISANI A. et BIANCO D., « Hijacking RDS-TMC Traffic Information signals », Phrack 64 (5), 2011 sur http://phrack.org/issues/64/5.html#article, et son archive http://dev.inversepath.com/rds/

[2] LI L., XING G., SUN L., HUANGFU W., ZHOU R., et ZHU H., « Exploiting FM radio data system for adaptive clock calibration in sensor networks », Proc. of the 9th ACM International Conference on Mobile systems, applications and services, p. 169 à 182, 2011.

[3] SYMEONIDIS D., « RDS-TMC spoofing using GNU Radio », Proc. 6th Karlsruhe Workshop on Software Radios, p. 87 à 92, mars 2010, avec une copie fournie par l’auteur de ce papier placée sur http://jmfriedt.free.fr/Symeonidis.pdf

[4] FERNANDES E., CRISPO B., et CONTI M., « FM 99.9, Radio Virus: Exploiting FM Radio Broadcasts for Malware Deployment », IEEE Trans. on Information Forensics and Security 8 (6), p.1027 à 1037, 2013.

[5] GNURadio : http://gnuradio.org

[6] GNU/Octave : http://www.gnu.org/software/octave

[7] Communication Toolbox : http://octave.sourceforge.io/communications/overview.html

[8] Le repliement est un effet de l’échantillonnage périodique à intervalles de temps
discrets 1/fe, qui suppose que le spectre entre fe/et fe/se répète tous les fe. De ce fait lors de la décimation d’un facteur N, toutes les composantes spectrales du signal comprises entre fe/(2N) et fe/se ramènent entre fe/(2N) et fe/(2N) par translations par pas de fe/(2N). Cet effet est évité en précédant la décimation d’un filtre passe-bas qui élimine efficacement toute composante du signal au-dessus de fe/(2N).

[9] Nous avions introduit le Xlating FIR Filter comme un bloc implémentant une étape fondamentale de la démodulation, à savoir transposition en fréquence, filtrage passe-bas et décimation [10]. Pour rappel, le filtre passe-bas a pour vocation d’atténuer les composantes spectrales du signal après transposition en fréquence au-dessus de la fréquence d’échantillonnage atteinte suite à la décimation : sans ce filtre, tous les signaux au-dessus de la nouvelle fréquence d’échantillonnage se retrouveraient dans la bande de base par repliement spectral lors de la décimation et pollueraient la séquence de traitement qui suit.

[10] FRIEDT J.-M., « La réception de signaux venus de l’espace par récepteur de télévision numérique terrestre », Open Silicium n°13, décembre 2014/janvier-février 2015.

[11] https://bitbucket.org/azimout/gr-rds/

[12] https://github.com/bastibl/gr-rds

[13] European Standard EN 50067, « Specification of the radio data system (RDS) for VHF/FM sound broadcasting in the frequency range from 87,5 to 108,0 MHz », avril 1998, disponible sur http://www.interactive-radio-system.com/docs/EN50067_RDS_Standard.pdf ou pour sa version américaine http://www.nrscstandards.org/DocumentArchive/NRSC-4%201998.pdf

[14] TRETTER S.A., « Communication System Design Using DSP Algorithms, With Laboratory Experiments for the TMS320C30 », Chap. 6 « Double-Sideband Suppressed-Carrier Amplitude Modulation and Coherent Detection », Springer, 1995.

[15] FRIEDT J.-M, CABODEVILA G., « Exploitation de signaux des satellites GPS reçus par récepteur de télévision numérique terrestre DVB-T », Open Silicium n°15, juillet-septembre 2015

[16] http://www.mathworks.com/examples/simulink-communications/mw/rtlsdrradio_product-RBDSSimulinkExample-rbds-rds-and-radiotext-plus-rt-fm-receiver

[17] FRIEDT J.-M, GOAVEC-MÉROU G., « La réception radiofréquence définie par logiciel (Software Defined Radio –SDR) », GNU/Linux Magazine n°153, octobre 2012, p.4 à 33.

[18] WESLEY PETERSON W. et WELDON E.J., « Error-Correcting Codes », 2nd Ed., MIT Press, 1996.

[19] TOPPING P., « RDS decoding for an HC11-controlled radio », Motorola AN495/D, 1994.

[20] GUIDON Y., « Comprendre les générateurs de nombres pseudo-aléatoires », GNU/Linux Magazine n°81, p. 64 à 76, 2006.

[21] DUMAS J. G., ROCH J. L., VARRETTE S., et TANNIER E., « Théorie des codes : compression, cryptage, correction », Dunod, 2007.

[22] HILL R. A., « A First Course in Coding Theory », Oxford University Press, 1990.

[23] PATROIS N., « Réparer un code QR », GNU/Linux Magazine n°198, novembre 2016

[24] http://descanso.jpl.nasa.gov/performmetrics/profileDSCC.html fait apparaître les modes de codage dans les gains significatifs de bande passante de communication, tandis que la Fig. 7-11 (page 477) de https://history.nasa.gov/SP-4227/Chapter07/Chapter07.PDF indique la chute du taux d’erreur avec les améliorations sur les modes de codage de canal.

[25] Notes du cours du MIT 6.02, BALAKRISHNAN H. et VERGHESE G., « Introduction to EECS II : Digital Communication Systems », chapitre 6 : « Linear Block Codes : Encoding and Syndrome Decoding », disponible sur https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-02-introduction-to-eecs-ii-digital-communication-systems-fall-2012/readings/MIT6_02F12_chap06.pdf, 2012

[26] TSIMBALO E., FAFOUTIS X. et PIECHOCKI R., « Fix it, don’t bin it! CRC error correction in Bluetooth Low Energy », Proc. 2nd IEEE World Forum on Internet of Things (WF-IoT), 2015 sur http://eis.bris.ac.uk/~xf14883/files/conf/2015_wfiot_crc.pdf

[27] MEYR H., MOENECLAEY M., FECHTEL S.A ., « Digital Communication Receivers: Synchronization, Channel Estimation, and Signal Processing », John Wiley & Sons, 1998.

[28] CUBUKCU E., « Root Raised Cosine (RRC) Filters and Pulse Shaping in Communication Systems », 2012, sur https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20120008631.pdf

[29] BARRY J. R., LEE E. A. et MESSERSCHMITT D. G., « Digital Communication », Springer, 2004.

[30] http://www.dsplog.com/2008/04/22/raised-cosine-filter-for-transmit-pulse-shaping/ qui fournit un script GNU/Octave pour expérimenter avec le filtre RRC.

GNU/Linux Magazine n°204 vous attend en kiosque, sur notre boutique ainsi que sur notre plateforme de lecture en ligne Connect

Comment protéger les villes intelligentes ?

MISC consacre son nouveau dossier aux smart cities. Découvrez dans ce nouveau numéro les vulnérabilités des villes intelligentes, la sécurité des infrastructures de vidéosurveillance, l’utilisation de l’open data à l’échelle des villes… En dehors de ce dossier thématique, ce numéro 91 vous apprendra à sensibiliser vos collaborateurs à la sécurité par le jeu, automatiser la gestion des réseaux à grande échelle avec SDN, découvrir des mécanismes de persistance WMI, auditer la sécurité de vos applications iOS avec Needle ou encore faire le point sur la sécurité des terminaux mobiles par le biais des messageries sécurisées. MISC n°91 est disponible dès aujourd’hui en kiosque, sur notre boutique ainsi que sur notre plateforme de lecture en ligne Connect !

Au sommaire

Forensic Corner

p. 04 Détecter la persistance WMI

Malware Corner

p. 10 Botnet low cost

Pentest Corner

p. 20 Auditer la sécurité d’une application iOS avec Needle

Dossier

p. 30 Préambule

p. 31 Introduction au concept de smart city

p. 36 Le point sur la cybersécurité des systèmes de vidéosurveillance

p. 42 Les systèmes de vidéosurveillance et l’IoT : protocoles et vulnérabilités

p. 50 De l’Open data à la ville intelligente

Réseau

p. 54 SDN ou comment le réseau s’automatise à grande échelle

Système

p. 64 Sécurité des terminaux mobiles

Organisation & Juridique

p. 74 Les messageries sécurisées : enjeux sociétaux

p. 78 Faites vos jeux !

Créez votre interphone connecté !

L’article phare de ce nouveau numéro de Hackable vous guidera dans la création de votre interphone connecté. Vous y apprendrez notamment à connecter votre interphone au net, renvoyer les appels sur votre smartphone et même à ouvrir à distance à vos visiteurs. Parallèlement à ce dossier, Hackable vous réserve également bien d’autres découvertes et expérimentations comme l’utilisation d’un haut-parleur Bluetooth pour smartphone avec votre Raspberry Pi, la résurrection d’un vieux PC grâce à FreeDOS, un état des lieux des différentes techniques et équipements pour dessouder des composants… Pour découvrir cela plus en détail, rendez-vous chez votre marchand de journaux, sur notre boutique et sur notre plateforme de lecture en ligne Connect

Au sommaire

Équipement

p. 04 Dessoudez, changez et récupérez des composants

Ardu’n’co

p. 14 Démarrez votre PC à distance avec une carte Arduino ou ESP8266

p. 30 Recyclez un vieil écran VGA et utilisez-le avec votre Arduino

En couverture

p. 42 Créez votre portier audio connecté

p. 56 Portier audio connecté : installation et configuration

Embarqué & Informatique

p. 74 Ajoutez une sortie audio Bluetooth à votre Raspberry Pi

Démontage, Hacks & Récup

p. 82 DOS n’est pas mort ! Il va même très bien !

Repère & Science

p. 94 Jonglez avec les versions de Raspbian pour profiter des applications les plus récentes

Prédisez les saisies de vos utilisateurs !

Et si la prédiction n’était plus le domaine réservé des oracles ? L’article phare de GNU/Linux Magazine vous apprend à prédire les saisies de vos utilisateurs avant qu’ils ne sachent eux-mêmes quoi écrire. Tout partira d’un corpus de documents à partir duquel vous calculerez les probabilités d’apparitions des mots et pourrez ainsi prédire les prochains mots d’une phrase. Mais si jouer les oracles ne vous emballe pas, vous pourrez toujours découvrir à travers ce nouveau numéro comment utiliser la programmation fonctionnelle en C++, implémenter votre objet connecté en Python sur Raspberry Pi, construire une structure objet « with »… en shell ou encore réceptionner et décoder des trames RDS avec GNU/Octave… Tout cela et bien d’autres articles vous attendent dès maintenant en kiosque, sur notre boutique et sur notre plateforme de lecture en ligne Connect !

Au sommaire

Actus & Humeur

p. 06 Principaux changements et améliorations de Django 1.10

IA, Robotique & Science

p. 12 Radio Data System (RDS) : analyse du canal numérique transmis par les stations radio FM commerciales, introduction aux codes correcteurs d’erreur

Système & Réseau

p. 38 Déployez Kubernetes sur vos Raspberry Pi avec Kubeadm

IoT & Embarqué

p. 48 Programmez votre objet connecté RPi avec Python

Kernel & Bas niveau

p. 56 Programmation fonctionnelle en C++

Hack & Bidouille

p. 64 « Paie Ton Patch !™ » : Weboob

Libs & Modules

p. 70 Conctructions « with » en langage… bash !

p. 80 Et si la prédiction n’était plus le domaine réservé des oracles ?

Mobile & Web

p. 86 Créez votre propre saveur Markdown

Sécurité & Vulnérabilité

p. 92 Address Space Layout Randomization

Prédisez les saisies de vos utilisateurs !

Et si la prédiction n’était plus le domaine réservé des oracles ? L’article phare de GNU/Linux Magazine vous apprend à prédire les saisies de vos utilisateurs avant qu’ils ne sachent eux-mêmes quoi écrire. Tout partira d’un corpus de documents à partir duquel vous calculerez les probabilités d’apparitions des mots et pourrez ainsi prédire les prochains mots d’une phrase. Mais si jouer les oracles ne vous emballe pas, vous pourrez toujours découvrir à travers ce nouveau numéro comment utiliser la programmation fonctionnelle en C++, implémenter votre objet connecté en Python sur Raspberry Pi, construire une structure objet « with »… en shell ou encore réceptionner et décoder des trames RDS avec GNU/Octave… Tout cela et bien d’autres articles vous attendent dès maintenant en kiosque, sur notre boutique et sur notre plateforme de lecture en ligne Connect !

Au sommaire

Actus & Humeur

p. 06 Principaux changements et améliorations de Django 1.10

IA, Robotique & Science

p. 12 Radio Data System (RDS) : analyse du canal numérique transmis par les stations radio FM commerciales, introduction aux codes correcteurs d’erreur

Système & Réseau

p. 38 Déployez Kubernetes sur vos Raspberry Pi avec Kubeadm

IoT & Embarqué

p. 48 Programmez votre objet connecté RPi avec Python

Kernel & Bas niveau

p. 56 Programmation fonctionnelle en C++

Hack & Bidouille

p. 64 « Paie Ton Patch !™ » : Weboob

Libs & Modules

p. 70 Conctructions « with » en langage… bash !

p. 80 Et si la prédiction n’était plus le domaine réservé des oracles ?

Mobile & Web

p. 86 Créez votre propre saveur Markdown

Sécurité & Vulnérabilité

p. 92 Address Space Layout Randomization

Quelle est la valeur de votre vie numérique ?

Disposez-vous actuellement des outils nécessaires pour protéger au mieux votre vie numérique ? Le nouveau Linux Pratique vous propose un article complet sur le sujet en mettant en pratique deux solutions efficaces : KeePass qui vous permettra de protéger vos mots de passe et TrueCrypt qui vous servira à chiffrer vos fichiers. Parallèlement à cet article phare, côté tutoriels, vous découvrirez comment créer votre police de caractères, réaliser une image ISO Debian composée des paquets de votre choix, brancher votre ampli de guitare sous Linux, etc. La Raspberry Pi, quant à elle, est toujours à l’honneur avec un article consacré à l’autre système phare mis en avant par la Fondation, à savoir RISC OS et l’application RaspManager qui vous permettra de gérer votre nano-ordinateur à distance. Ce numéro 101 vous attend d’ores et déjà chez votre marchand de journaux, mais aussi sur notre boutique et notre plateforme de lecture en ligne Connect. Bonne lecture !

Au sommaire

Actualités & Nouveautés

p. 06 L’essentiel de l’actualité Linux et open source

p. 07 Rencontre avec les initiateurs des projets CopyPeste et OpenFaceTracker, vainqueurs de la Student Demo Cup

Logithèque & Applicatif

p. 12 Créer votre fonte symbole

p. 18 Green recorder : réalisez des screencasts en toute simplicité

p. 18 Nuclear : écoutez toute la musique que vous aimez

p. 19 Photofilmstrip : réalisez un diaporama vidéo à partir de vos photos

p. 19 Framaslides : créez vos présentations en ligne

p. 20 Brancher son ampli de guitare yamaha thr10 sous linux

Système & Personnalisation

p. 28 Créer sa propre ISO Debian en incluant les paquets que l’on veut

p. 32 Protégez votre vie privée avec KeePass et VeraCrypt

Programmation & Scripts

p. 43 Exercism : n’apprenez plus un langage tout seul !

Web & Réseau

p. 48 Générer un site statique avec Lektor

p. 55 Partagez vos documents de manière sécurisée et auto-hébergée avec Privatebin

Terminal & Ligne de commandes

p. 61 Avec Extundelete, récupérez un répertoire effacé !

Entreprise & Organisation

p. 64 Sécurité procédurale : mise en œuvre de la norme 27001 en entreprise

Mobilité & Objets connectés

p. 72 Omni Notes : gérez vos notes de façon efficace

p. 73 Loop : maintenez vos bonnes résolutions sur le long terme

Réflexion & Société

p. 74 Organiser un brainstorming géant : l’innovation participative en pratique avec Nova-Ideo

Cahier Raspberry Pi & Débutant Linux

p. 84 Personnaliser son terminal

p. 90 Plongez au cœur des années 80 avec votre Raspberry Pi et RISC OS

p. 96 Gérez votre Raspberry Pi depuis votre smartphone avec Raspmanager

Low Power Wireless: 6LoWPAN, IEEE802.15.4 and the Raspberry Pi

The Internet of Things (IoT) is one of the new kids on the block. It promises connection of sensors and actuators to the internet, for data to flow both ways, and once on the internet, to become part of new and exciting business systems, reaching up into the realms of big data and artificial intelligence. more>>

CodeLathe's Tonido Personal Cloud

CodeLathe counts Dropbox and OneDrive as competitors to its Tonido Personal Cloud storage service. While the former can cost anywhere from $50 and up per year to store a TB of data, CodeLathe's cross-platform Tonido for the desktop is fully free, and storage space is limited only by users' hard drive capacities. more>>

Wrapping Up the Mars Lander

In my last few articles ("Let's Go to Mars with Martian Lander" and "Mars Lander, Take II: Crashing onto the Surface"), I've been building a variant on the classic video game Lunar Lander, with a few simplificatio more>>

MultiTaction's MT Canvus-Connect

"A new era in visual collaboration" is the promise of MT Canvus-Connect, MultiTaction's new real-time collaboration software that enables visual touchscreen collaboration across remote locations in real time. more>>

Android Candy: Facebook Everything?!?!

When Facebook decided its messenger app would be an entirely separate program from its regular app, I was ticked off. I didn't want to have a second application in order to send private messages. It seemed like a needless extra step. And, I stuck by that opinion until I realized I could integrate regular SMS and MMS messages into Facebook Messenger. more>>

How to Fix the Edge

In December 2016, Peter Levine of the venture firm Andreessen Horowitz published a post with a video titled "Return to the Edge and the End of Cloud Computing" In it, he outlines a pendulum swing between centralized and distributed computing that goes like this: more>>

Découverte de l’OS Zephyr

Introduction

Zephyr est un projet open source visant à créer un OS indépendant ouvert conçu pour l’IoT. Il évolue donc dans le même monde que Contiki, MynewtOS, RIOT OS et nombreuses autres solutions. Le marché de l’IoT étant en plein essor, les développeurs d’applications ont besoin d’un système sur lequel baser leurs solutions innovantes. Ces systèmes doivent répondre aux contraintes suivantes :

  • Être léger, de façon à tourner sur des plateformes matérielles limitées, dont le coût doit être le plus bas possible ;
  • Consommer peu, ces devices pouvant rester plusieurs années sans intervention humaine, fonctionnant sur batterie ;
  • Fournir une connectivité performante ;
  • Répondre aux problématiques de sécurité soulevées par l’explosion du marché “connecté”.

Zephyr est une solution nouvelle à tous ces problèmes, apparue en 2015 au sein de Wind River sous le nom de Rocket OS. Depuis un peu plus d’un an, le projet se nomme Zephyr et est passé sous la gouvernance de la Linux Foundation.

Dans cet article, je vous propose de faire un tour de son fonctionnement et de ses particularités. Nous étudierons d’abord le design de cette solution et ce qu’il implique face à ses concurrents. Nous irons, ensuite, mettre la main sur les sources et verrons comment un développeur peut utiliser Zephyr pour son propre projet, ou y contribuer, en prenant l’exemple d’un travail en cours chez Smile-ECS.

Buts du projet

Zephyr centre son développement sur les points suivants :

  • La légèreté (empreinte mémoire la plus faible possible) ;
  • La sécurité ;
  • Un travail collaboratif et ouvert ;
  • Une modularité élevée, face à la multitude de solutions rigides et différentes déjà présentes sur le marché.

Zephyr arrive en effet assez tard sur le marché des “RTOS” axés IoT; l’un des constats affichés lors de sa création était la fragmentation des solutions sur le marché. Toutes ont des empreintes mémoire minimes, mais diffèrentes en connectivité, en device management, voire même en raccordement au cloud (Mbed et Contiki offrant des environnements de déploiement sur lesquels se baser).

Zephyr vise en priorité la couche système pour les devices terminaux de l’IoT : capteurs, wearables et autres petits objets connectés.

Un système sécurisé et ouvert : les arguments posés sont l’ouverture et l’organisation du projet, qui doivent diminuer au maximum la difficulté pour quiconque d’y porter une nouvelle plateforme et de profiter de la robustesse de l’OS sans avoir à se poser de questions.

Communauté

Une des différences notables entre Zephyr et d’autres OS créés pour l’IoT est la manière dont le projet est géré: deux comités de pilotage, administratif et technique, supervisent et guident son avancée. L’administratif gère les perspectives commerciales, le marketing et la visibilité sur le marché. Le côté technique, consiste en une hiérarchie de mainteneurs sur le même modèle que Linux, avec au sommet des lead architects.
Le TSC (Technical Steering Comitee) fait le pont entre ces deux pôles, et produit la roadmap concrète du projet.

Actuellement, il faut être employé(e) d’une des entreprises soutenant le projet pour faire partie d’un comité de pilotage, moyennant participation financière. Les sociétés ayant co-fondé le projet (Intel, NXP, et Linaro) ont été rejointes plus tard par d’autres industriels, comme Nordic Semiconductors dernièrement.

La communauté est très active et utilise principalement des mailings lists pour communiquer. Elle s’appuie sur Jira pour détailler sa roadmap et affecter des membres aux différentes tâches à accomplir. On y soumet son travail via des patches (avec Gerrit) aux mainteneurs des sous-systèmes de l’OS, comme sous Linux. Bien que le but affiché ne soit pas de copier Linux dans une nouvelle version plus légère “from scratch”, plusieurs mécanismes en sont inspirés de part l’efficacité de leur modèle, comme nous continuerons à le voir dans cet article.

Particularités

Voyons tout de suite les différences “haut niveau” entre Zephyr et un projet feature-rich comme Contiki qui existe depuis une dizaine d’années.

Zephyr Contiki
Licence Apache-2.0 BSD-3
Gérance Hiérarchique: Linux Foundation & comités de pilotage +
contributions individuelles
Horizontale: contributions individuelles
Largeur mot-mém. 32 bit 8 / 16 / 32 bit
Architectures ARC, ARM, NIOS-2, RISCV-32, x86, Xtensa 6502, 8051, ARM, AVR, MSP430, PIC32, RL78, x86
Taille (stack IP comprise) ~ 30Ko ROM ~ 30Ko ROM
Multi-thread Oui Oui
Dynamique Non: format binaire, ressources allouées statiquement, pas de runtime Oui: format ELF + modules chargeables dynamiquement, ressources allouées stat. ou dyn., runtime
Stacks réseau IPv4/6 (native: en cours), BLE IPV4/6 (native: uIP + RIME), BLE
Protocoles réseau+ COAP, MQTT, HTTP, DHCP, RPL, 6LoWPAN COAP, HTTP, DHCP, RPL, 6LoWPAN, Telnet, FTP

On constate que Zephyr propose déjà un certain nombre de fonctionnalités et une empreinte mémoire similaire à l’un des ténors du marché, malgré son jeune âge. On notera l’utilisation d’une licence permissive
souvent jugée comme la plus facile à manier aujourd’hui, Apache-2.0.

Choix de conception

Zephyr est un unikernel, aussi appelé “library-based OS”: le code de l’application et celui du kernel sont unis dans un même binaire à la compilation. Un seul espace d’adressage existe ; il n’y a donc pas de notion de niveau de privilège. Les fonctionnalités, elles, sont choisies avant la compilation, dans le but de n’utiliser que le strict nécessaire. Ce choix a plusieurs conséquences :

  • Pas de perte de performances due aux changements de contexte ;
  • Sécurité améliorée du point de vue des allocations mémoire 100% dynamiques qui deviennent impossibles ;
  • Diminution de l’empreinte mémoire ;
  • Impossible de ne changer qu’un module sur un device distant devant être mis à jour: il faut re-flasher un nouveau binaire.

Fonctionnalités

Connectivité :

  • Une stack IPv6 d’abord copiée sur celle de Contiki (uIP), puis une stack natif (en cours)
  • Une stack IPv4 natif
  • Une stack BLE natif, actuellement 4.2, en cours d’adaptation pour la version 5

Par rapport à ses concurrents, Zephyr reste un peu en retard et surtout manque de possibilités au niveau du device management. Contiki offre un bon contre-exemple, avec une gestion de son parc de devices facilitée par une plateforme dédiée, Thingsquare. Les comités de pilotage sont cependant conscients de l’importance de cette fonctionnalité ; espérons bientôt voir l’apparition de nouveautés de ce côté.

Sécurit é:

  • Bibliothèque cryptographique basée sur TinyCrypt 2
  • Protection de pile (canari)
  • Binaire statique
  • TLS/DTLS

On remarque que pour l’instant, Zephyr offre surtout des possibilités de sécurisation au niveau device. L’ajout d’un support pour TLS est récemment venu renforcer la sécurité au niveau communication. Le TSC a également exprimé le souhait de permettre d’intégrer facilement au kernel des solutions arch-specific telles que Secure Boot dans le futur.

API kernel :

  • Threads coopératifs ou préemptibles (round-robin à priorités dynamiques)
  • Interruptions et workqueues, ces dernières permettant d’imiter la partie bottom-half des drivers Linux
  • Clocks et timers
  • Memory pools allouées statiquement, API “malloc
  • Sémaphores & mutexes, alertes (similaires aux signaux dans Linux)
  • Message queues, mailboxes, structures de données classiques (LIFO, FIFO, etc.), pipes
  • Choix entre API polling (synchrone) ou asynchronous (avec interruptions)

Pas de surprises ici, on trouve les services classiques exposés par un OS. On notera la similarité de certains services avec ceux de Linux.

Sous-systèmes joints au kernel :

  • Gestion de l’énergie (kernel “tick-less”, API spécifique)
  • Stack Bluetooth
  • Stack USB
  • Stack IP
  • Shell minimaliste
  • Framework de test
  • 2 “lib C” au choix: une basée sur la newlibC et une vraiment minimaliste (minimal)
  • API générique d’utilisation de capteurs

Les sous-systèmes sont développés en parallèle; ils sont critiques au succès d’un OS “IoT” et se posent par-dessus le noyau de base, qui pèse moins de 10 Ko en lui-même. La stack IP rajoute typiquement 20 Ko à la taille du système compilé avec l’application.

Utilisation concrète

Clonons le dépôt Git du projet :

git clone https://gerrit.zephyrproject.org/r/zephyr && cd zephyr

L’arborescence des sources évoque celle du kernel Linux:

  • Le cœur du système se trouve dans kernel/
  • Les parties spécifiques à chaque architecture matérielle dans arch/,
  • Les drivers divers (UART, GPIO…) dans drivers/,
  • Les sous-systèmes évoqués précédemment ont leur place dans subsys/,
  • Le code venant de l’extérieur (bibliothèques HAL notamment) dans ext/,
  • La documentation générée dans doc/

Vous pouvez générer la documentation de la façon suivante, à partir de la racine du projet :

zephyr-setup-envmake htmldocs

Puis pour ouvrir la doc sur un navigateur Web :

votre_navigateur_favori doc/_build/html/index.html

Que vous souhaitiez utiliser Zephyr comme OS pour votre projet ou que vous vouliez contribuer (en portant une nouvelle plateforme matérielle par exemple), la documentation vous sera utile, et garantie à jour par rapport à celle du site Web qui peut être un peu en retard.

Enfin, impossible de construire une application ou de contribuer sans les bons outils ! Le SDK Zephyr regroupe toutes les chaînes de compilation croisée nécessaires. Elles ont été générées avec Yocto par des membres de la communauté. On y trouve aussi OpenOCD, le support pour GDB et de quoi faire tourner l’OS sous QEMU. Vous pouvez trouver le SDK ici : https://www.zephyrproject.org/downloads

Zephyr imite complètement Linux sur ces outils :

  • Le système de build est Kbuild
  • Le système de configuration est Kconfig

C’est un des points forts de Zephyr : quelqu’un qui est déjà habitué à manipuler le kernel Linux retrouve rapidement ses marques. Un avantage retrouvé aussi lorsqu’il s’agit d’écrire un nouveau driver ou de porter sur une nouvelle plateforme. Pour un retour d’expérience récent (parmi les premiers!) sur l’utilisation de Zephyr, je vous recommande la conférence de Fabien Parent, de BayLibre, que vous pouvez trouver facilement
sur YouTube: https://www.youtube.com/watch?v=XUJK2htXxKw

Côté applicatif : comment builder ?

La documentation répertorie les boards supportées actuellement par Zephyr. Si vous n’y trouvez pas la vôtre et que vous y tenez absolument, je vous invite à lire la sous-section suivante, qui explique comment
contribuer au projet.

La section “Getting Started” de la documentation est très complète et permet de se mettre en jambes rapidement. Dans cet article, nous allons prendre l’exemple “Hello World” disponible dans les sources pour étudier
comment compiler une application.

D’abord, aller aux sources du mini-projet :

cd samples/hello_world/

Un simple ls nous permet de distinguer :

  • Un Makefile
  • Des fichiers de configuration *.conf
  • Un fichier de configuration testcase.ini
  • Des sources, dans src/

Les deux variables qui vont nous intéresser pour compiler sont BOARD et CONF_FILE. La première, vous vous en doutez, permet de sélectionner une board parmi toutes celles que vous trouverez à la racine du projet, dans boards/ (il suffit d’y copier le nom d’un sous-dossier correspondant à la board voulue). La seconde indique le fichier de configuration haut niveau (par défaut, “prj.conf”) à utiliser. Par exemple, compilons “Hello World” pour QEMU :

make BOARD=qemu_x86

Notez que nous n’avons pas précisé CONF_FILE et ici prj.conf est vide. Zephyr a donc utilisé la configuration par défaut pour cette board, sans rien y changer. Les fichiers résultants se trouvent dans output/qemu_x86/,
notamment le binaire zephyr.bin qui, sur un vrai device, aurait été déployable. Il est d’ailleurs très petit :

ls -lh outdir/qemu_x86/zephyr.bin
-rwxr-xr-x 1 geleg smileusers 8,9K avril 11 11:48 outdir/qemu_x86/zephyr.bin

On peut ensuite tester simplement le software généré :

make BOARD=qemu_x86 run
Using /home/geleg/zephyr as source for kernel
GEN ./Makefile
CHK include/generated/version.h
CHK misc/generated/configs.c
CHK include/generated/generated_dts_board.h
CHK include/generated/offsets.h
To exit from QEMU enter: 'CTRL+a, x'
[QEMU] CPU: qemu32
qemu-system-i386: warning: Unknown firmware file in legacy mode: genroms/multiboot.bin
***** BOOTING ZEPHYR OS v1.7.99 - BUILD: Apr 11 2017 09:48:32 *****
Hello World! x86

Si vous souhaitez modifier les options de compilation du système, plusieurs choix s’offrent à vous. Ils font tous la même chose (modifier le fichier .config) mais n’ont pas la même priorité au moment de compiler :

  • La configuration de base se trouve dans le fichier .config. C’est aussi là que sera inscrite la config finale. En donnant une valeur à BOARD, on demande d’utiliser la config par défaut pour cette board, écrite par la personne qui en a fait le portage.
  • Vous pouvez modifier à la main .config, ou utiliser menuconfig (interface graphique avec ncurses, comme pour Linux). Ceci permet d’éditer les valeurs du .config.
  • Vous pouvez écrire un fichier .conf et le pointer dans le Makefile, ou utiliser CONF_FILE. Il édite aussi les valeurs du .config.

L’ordre d’utilisation de menuconfig, .conf, etc. détermine qui aura le dernier mot sur les options de configuration en conflit. Il faut juste voir le .conf comme une extension au .config de base avant de passer la main à d’éventuelles modifications manuelles.

Pour plus d’infos, je vous invite à lire la section “Application Development Primer” dans la doc.

Côté contributeur : comment modifier ?

Un travail en cours chez Smile-ECS : le portage de Zephyr sur la populaire board “SensorTag” de Texas Instruments.

Il s’agit d’un device embarquant pléthore de capteurs MEMS capable de communiquer en Bluethooth (low energy), mais aussi 802.15.4 dont 6LoWPAN et ZigBee sont des implémentations possibles.

Il y a deux facettes à ce travail de portage : celle du SoC (System on Chip) et celle de la board complète. Ceci va nous permettre de faire un tour des sources de l’OS pour y voir plus clair.

Comme dit plus haut, le code générique de l’OS se situe dans kernel/. Ce répertoire contient à la fois les mécanismes internes (e.g. la gestion des threads) et l’implémentation de l’API externe, du moins sur la partie générique.

Tout ce qui va dépendre de l’architecture et plus particulièrement du SoC va se trouver dans arch/. Ainsi, pour porter le SoC CC2650 de Texas Instruments utilisé dans le SensorTag, qui est un cœur ARM Cortex-M3. Il a fallu descendre dans arch/arm/soc/ et créer un sous-répertoire dédié. Chaque SoC utilise son propre code, mais parfois les constructeurs de hardware groupent par familles leurs produits, qui dérivent d’une même variation.
Dans Zephyr, on gère ça par un répertoire intermédiaire. Dans mon cas, après discussion avec le mainteneur d’un SoC voisin, le CC3200, j’ai décidé d’utiliser le sous-répertoire “ti_simplelink” qui existait déjà. Tout code mis en commun (e.g. le Cortex-M3 très répandu) se trouve dans arch/arm/core.

Le code du SoC est utilisé par deux portions de Zephyr : le code propre à la board et les drivers.

Au moment de l’écriture de ces lignes, Zephyr est en train de passer à l’utilisation des Device Trees, devenus courants chez les utilisateurs ARM de Linux. Le code de boards/ (multiplexage des pins de la board) est donc destiné à se déplacer vers des fichiers .dts dans dts/ (visible depuis la racine). Cet article n’est pas le lieu pour une introduction à cet outil, mais la documentation de Linux est la meilleure référence à ce jour :

http://www.kernel.org/doc/Documentation/devicetree/

Rapidement : il s’agit d’un langage descriptif du hardware permettant d’écrire des drivers génériques et de dissocier le kernel des spécificités de la plateforme.

Les drivers implémentent les interfaces publiques exposées dans include/: uart.h, gpio.h, etc.  Le modèle Linux est utilisé, avec une struct de pointeurs sur fonctions pour l’API bas niveau,
qu’un driver haut-niveau du kernel appellera via des wrappers. En revanche, on n’y trouve pas de notion de driver en mode “caractère” ou “bloc”; Zephyr n’a pas de système de fichier et encore moins de devfs.

Si vous souhaitez utiliser du code tiers déjà fourni pour implémenter un driver, il faudra le placer dans /ext/hal/. La politique de Zephyr sur les HAL semble encore floue. N’hésitez donc pas à signaler votre intention sur la mailing list au préalable.

Pour résumer, un contributeur souhaitant (peut-être par besoin) utiliser Zephyr sur sa plateforme passera le plus clair de son temps dans les répertoires arch/arm/soc et drivers/. Actuellement, la politique du projet pour soumettre un patch de portage demande au minimum :

  • UART
  • GPIO
  • Générateur de nombres aléatoires, si présent en hardware
  • Contrôleur d’interruptions

Les devices ARM doivent désormais y ajouter le support du Device Tree, bien qu’il s’agisse encore pour l’instant d’une option de compilation et que peu de choses changent avec son utilisation.

Au niveau des tests, plusieurs applications existent dans samples/ et tests/ pour vérifier le comportement d’un driver ou évaluer la connectivité. Grâce aux fichiers de configuration, ils sont facilement modifiables.
Il est très facile de les sortir hors de l’arborescence du projet puisque sourcer le script zephyr-setup-env suffit pour configurer et builder.

Perspectives d’évolution

Pour conclure, voyons brièvement les buts de Zephyr dans un futur proche. Zephyr tend actuellement vers la version 1.8, pour fin mai 2017.

De nombreuses boards s’ajoutent progressivement à la liste des plateformes supportées par Zephyr. Les architectures micro-contrôleurs 8-bit ou proches, qu’un concurrent comme Contiki sait gérer, lui manquent encore. Récemment, Zephyr a ajouté du support pour les Cortex-M0/M0+, ce qui laisse entrevoir une percée dans cette gamme de machines.

La stack IP réécrite nativement doit se compléter, ainsi que du travail sur l’efficacité du 6LoWPAN.

Le projet offre déjà une excellente documentation et un SDK complet, mais les utilisateurs sous Windows sont actuellement obligés d’utiliser une couche de compatibilité Linux; des réflexions sont en cours pour leur faciliter la vie avec des outils plus cross-platformes.

Liens externes

Vous pouvez trouver diverses informations sur le projet sur son site Web :
https://www.zephyrproject.org/

Enfin, inscrivez-vous à une mailing list si vous souhaitez vous tenir au courant des progrès :
https://lists.zephyrproject.org/mailman/listinfo

À nouveau disponible en kiosque : le guide spécial Kernel

Vous l’avez manqué ? Sachez que notre hors-série « Kernel » est de retour en kiosque dès aujourd’hui ! Ce guide pratique vous permettra de plonger au coeur de votre système GNU/Linux. Pour rappel, vous y découvrirez notamment comment recompiler et adapter le noyau à votre PC, 5 cas concrets de développement noyau, le fonctionnement de l’hyperviseur KVM et enfin, comment sécuriser l’accès à vos services à l’aide de SELinux. Ce numéro spécial vous attend donc à nouveau chez votre marchand de journaux, mais aussi sur notre plateforme de lecture en ligne Connect ainsi que sur notre boutique

Au sommaire

Débutez

p. 08 Généralités sur le noyau Linux

p. 12 Adaptez le noyau à votre ordinateur

Expérimentez

p. 22 Cas n°1 : Intéractions entre espace utilisateur, noyau et matériel

p. 40 Cas n°2 : Cloisonnement des processus au sein du noyau Linux

p. 48 Cas n°3 : Comment déboguer le noyau

p. 54 Cas n°4 : Modification des appels systèmes du noyau Linux

p. 78 Cas n°5 : Un cas concret : correction du pilote Hitachi StarBoard en 64 bits

Virtualisez

p. 88 KVM : focus sur l’implémentation d’un hyperviseur dans Linux

Sécurisez

p. 104 La sécurité du noyau avec SELinux

Annexe

p. 122 Index

À nouveau disponible en kiosque : le guide spécial Kernel

Vous l’avez manqué ? Sachez que notre hors-série « Kernel » est de retour en kiosque dès aujourd’hui ! Ce guide pratique vous permettra de plonger au coeur de votre système GNU/Linux. Pour rappel, vous y découvrirez notamment comment recompiler et adapter le noyau à votre PC, 5 cas concrets de développement noyau, le fonctionnement de l’hyperviseur KVM et enfin, comment sécuriser l’accès à vos services à l’aide de SELinux. Ce numéro spécial vous attend donc à nouveau chez votre marchand de journaux, mais aussi sur notre plateforme de lecture en ligne Connect ainsi que sur notre boutique

Au sommaire

Débutez

p. 08 Généralités sur le noyau Linux

p. 12 Adaptez le noyau à votre ordinateur

Expérimentez

p. 22 Cas n°1 : Intéractions entre espace utilisateur, noyau et matériel

p. 40 Cas n°2 : Cloisonnement des processus au sein du noyau Linux

p. 48 Cas n°3 : Comment déboguer le noyau

p. 54 Cas n°4 : Modification des appels systèmes du noyau Linux

p. 78 Cas n°5 : Un cas concret : correction du pilote Hitachi StarBoard en 64 bits

Virtualisez

p. 88 KVM : focus sur l’implémentation d’un hyperviseur dans Linux

Sécurisez

p. 104 La sécurité du noyau avec SELinux

Annexe

p. 122 Index

 

Tor Security for Android and Desktop Linux

Introduction

Internet service providers in the United States have just been given the green light to sell usage history of their subscribers by S J Res 34, more>>

Simple Server Hardening, Part II

In my last article, I talked about the classic, complicated approach to server hardening you typically will find in many hardening documents and countered it with some specific, simple hardening steps that are much more effective and take a only few minutes. more>>

Mender

The new production release of Mender 1.0, an open-source tool for updating embedded devices safely and reliably, is now available. more>>

VMKings' VPS Hosting Solution

The management team of cloud provider VMKing, as developers themselves, found standard virtual servers not to be well tailored to the developer community—too much or too little space, insufficient security and no support for their preferred Linux OS(!). more>>