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 ?

Plus de détails

7,90 € TTC

 
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

A propos du magazine
Logo

Le magazine de référence technique pour les développeurs et les administrateurs sur systèmes UNIX, open source & embarqué !

Pionnier dans son domaine, GNU/Linux Magazine est depuis 1998 une véritable référence technique pour pour tous les développeurs et administrateurs sur systèmes Unix, open source et embarqués. Le premier magazine français 100 % Linux se démarque grâce à une ligne rédactionnelle résolument technique et pédagogique. Chaque mois de nombreux thèmes sont abordés permettant de toucher à différents domaines de l’informatique, que ce soit de l’intelligence artificielle, de la sécurité, de l’embarqué, du système/réseau ou du hack.

Nouveaux produits