Octobre / Octobre 2018

GNU/Linux Magazine 219

Humain ou robot ? Créez et testez votre chatbot !

  • Programmation d'un agent conversationnel en Python
  • Apprentissage des réponses sur un jeu de règles
  • Votre chatbot peut-il passer pour un humain ?
En savoir plus

7,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
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 €
GNU/Linux Magazine 266

GNU/Linux Magazine 266

Novembre / Décembre 2023
9,90 €
GNU/Linux Magazine 265

GNU/Linux Magazine 265

Septembre / Octobre 2023
9,90 €
SOMMAIRE

Actus & Humeur

p. 08  Le cerveau de Peter
p. 11  Script Shell de comparaison de deux arborescences

Système & Réseau 

p. 30  Testez votre infrastructure comme vous testez votre code avec Test Kitchen
p. 35  Générer vos conteneurs et machines virtuelles de manière automatisée avec Packer

IoT & Embarqué 

p. 40  Mise à jour d’un système Linux embarqué « Over The Air » : comment intégrer et utiliser « Mender » pour vos déploiements

Kernel & Bas niveau

p. 62  Comment démarrer manuellement le noyau Linux 

Libs & Modules

p. 72  Votre chatbot peut-il passer pour un humain ?

Mobile & Web

p. 82  Qt on the Web

Sécurité & Vulnérabilité

p. 92  PaSSHport, bastion SSH

édito

Avez-vous remarqué comme, étrangement, de plus en plus d'applications et de sites en ligne dysfonctionnent ? Je pense avoir enfin trouvé un élément de réponse à ce phénomène qui se généralise… mais avant de vous exposer mon hypothèse, je vous propose de revenir sur deux exemples concrets auxquels j'ai été confronté au cours de la même semaine.

Tout d'abord, je reçus un appel de détresse de ma mère qui ne parvenait pas à acheter des places d'opéra sur Internet. Rien que de très habituel : elle n'avait sans doute pas vu où cliquer ou avait dû se tromper de champ de formulaire… Je pris donc le temps de refaire la manipulation avec elle en utilisant chacun un navigateur différent à savoir Chromium (Google Chrome) et Firefox. Nous obtînmes le même résultat et nous retrouvâmes dans l'impossibilité de sélectionner une place sur le plan qui s'affichait (le clic ne produisait aucun évènement). Trouvant cela vraiment étrange, je décidai de tester sur un autre navigateur. Sur iPad avec Safari le résultat fut le même… mais sous Android avec Chrome (version Mobile 67), je pus achever la réservation.

Quelques jours après, je voulus effectuer une commande sur un site marchand. Il ne s'agissait pas d'un de ces monstres de la vente par correspondance, mais d'une enseigne de taille moyenne aux États-Unis. La commande se déroula sans accroc, le paiement également et mon colis fut expédié. Jusque-là pas de problème. C'est après que les complications apparurent : la commande partant de Los Angeles et n'étant pas un envoi prioritaire, au bout de quelques jours, comme nous en avons tous pris l'habitude, je cliquai sur un lien me permettant de suivre mon colis et j'aboutis sur une page... blanche ! Un petit problème de serveur, ça peut arriver et je décidai donc d'attendre le lendemain… pour un résultat identique. Me souvenant de mon expérience précédente, je tentai sans trop y croire une visualisation sur mon smartphone. Et là, ô miracle, les informations apparurent comme par enchantement !

On ne peut bien entendu pas tirer de généralités de ces deux expériences, mais elles soulignent un point important : bien souvent les applications et services ne sont pas purement et simplement buggées, elles ne sont pas testées ! Dans ces deux cas, on peut facilement imaginer qu'un seul navigateur a été employé et que la validation en mise en production a pu se produire de la manière suivante :

  • côté développeurs : « si ça marche chez moi c'est que ça marche chez tout le monde ! » :
  • côté client : « ils savent ce qu'ils font, ça doit fonctionner ».

Tester un programme n'est pas une activité plaisante, mais elle est nécessaire. Elle paraît pourtant être souvent négligée. Même lorsque j'indique à mes étudiants en développement web que les tests feront partie des critères de notation d'un projet, environ 50% d'entre eux ne teste absolument rien (que ce soient les saisies utilisateur ou l'exécution sur différents navigateurs). Pourtant, même lors de calculs basiques on peut s'assurer de la validité d'un résultat. En simplifiant à l'extrême, avec x + 1 = 2, on peut dire que x = 10… On s'aperçoit vite que 10 + 1 ne vaut pas 2, mais pour cela il faut prendre le temps de tester le résultat obtenu et peut-être encore plus important avoir l'humilité de se dire que l'on a pu faire une erreur : « Errare humanum est ».

La prochaine fois qu'une application dysfonctionne, pensez donc à tester des choses basiques puisque les tests ne sont plus à la mode. En attendant, vous pouvez toujours lire GNU/Linux Magazine et vous astreindre à tester TOUS vos codes...

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

Votre chatbot peut-il passer pour un humain ?
GNU/Linux Magazine n°219 Free

Pensez-vous que nous soyons capables de construire un chatbot, un agent conversationnel, qui soit capable d'interagir avec une personne au point de pouvoir passer (au moins un tout petit peu) pour un humain ? C'est ce que nous allons essayer de réaliser dans cet article.

Testez votre infrastructure comme vous testez votre code avec Test Kitchen
GNU/Linux Magazine n°219

Les nouvelles infrastructures sont désormais dans le Cloud, composées de conteneurs, machines virtuelles et autres images. Le nouveau mantra est « Infrastructure as Code » : votre infrastructure est « codée » dans des fichiers de configuration. « Code », car vous pouvez le développer, distribuer et versionner comme tout autre projet de développement. Il est donc logique que des systèmes de tests spécialisés pour ce type de développement particulier, comme Test Kitchen, aient vu le jour.

Script Shell de comparaison de deux arborescences
GNU/Linux Magazine n°219

Cet article présente la réalisation d'un shell script dont la fonction est la comparaison de deux arborescences. L'affichage colorisé des résultats permet, entre autres, de distinguer instantanément les fichiers identiques, les fichiers différents, et pour ces derniers : les fichiers les plus récents. Les explications détaillées du fonctionnement permettront au lecteur de renforcer ses compétences en réalisation de shell scripts.

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