HTTP/2 : multiplexage et compression, qu’est-ce que ça change ?

Introduction

Cet article est repris de mon ancien blog, et initialement publié en avril 2015 sous l’intitulé « HTTP/2 : ce qui change pour les développeurs et intégrateurs. » Je l’ai enrichi avec les dernières informations disponibles.

Définition : HTTP = Hyper Text Transfer Protocol. C’est le protocole utilisé pour le transfert d’informations entre les serveurs web et les navigateurs clients. Lire la suite de « HTTP/2 : multiplexage et compression, qu’est-ce que ça change ? »

Vous avez aimé ? Partagez 🙂

Perceptual Speed Index : définition et axes d’amélioration

Introduction

Le Perceptual Speed Index est un indice de performance de chargement de page qui indique à quelle vitesse le contenu d’une page commence à être visible. Plus le score est est proche de zéro, mieux c’est. L’outil d’audit Lighthouse utilise SpeedLine pour tester cet indice.

Pourquoi améliorer cet indice me demandez-vous ?

"Une étude Google montre la corrélation évidente entre le temps de chargement et le taux de rebond : pour un temps de chargement mobile qui passe de 1 seconde à 10 secondes, le taux de rebond augmente de 123%. Plus encore, 1 visite sur 2 est abandonnée au-delà de 3 secondes de chargement sur un site mobile en 3G." - source

Si vous en déduisez la même chose que moi, réduire la perception du temps de chargement fait baisser le taux de rebond et donc aide à l’amélioration du taux de conversion. Lire la suite de « Perceptual Speed Index : définition et axes d’amélioration »

Vous avez aimé ? Partagez 🙂

Auditer la performance d’une page web avec Lighthouse

Lighthouse est un outil open-source et automatique fourni par Google pour améliorer la qualité des pages Web, notamment les temps de chargement. Vous pouvez l’exécuter sur n’importe quelle page de votre site web, même celles nécessitants une authentification pour s’afficher. L’outil fournit différents audits dont :

  • Performance globale
  • Accessibilité
  • PWA (Progressive Web Apps)

Vous pouvez voir un exemple d’audit que j’ai réalisé ici (site leboncoin) : http://etienne-lesaffre.fr/exemples/www.leboncoin.fr_2017-10-03_15-04-23.html

Il existe trois méthodes pour exploiter Lighthouse. Tout d’abord, une extension pour le navigateur Chrome : Chrome DevTools. Vous pouvez également utiliser l’outil en lignes de commande ou tant que module Node. Vous indiquez à Lighthouse une URL qui exécute ensuite une série de tests et audits sur la page. Un rapport complet est ensuite généré en indiquant les scores et résultats de tous les éléments testés. Lire la suite de « Auditer la performance d’une page web avec Lighthouse »

Vous avez aimé ? Partagez 🙂

Machine Morale : dilemmes moraux pour les machines intelligentes

Initiative intéressante. Le MIT propose avec le site http://moralmachine.mit.edu/hl/fr de juger des cas moraux devant lesquels des machines intelligentes (principalement des voitures autonomes) pourraient être confrontées. En dernier recours, faut-il foncer dans un mur et tuer les occupants de la voiture ou dévier la trajectoire et écraser un piéton ? Lire la suite de « Machine Morale : dilemmes moraux pour les machines intelligentes »

Vous avez aimé ? Partagez 🙂

Centrale domotique avec Raspberry et Home Assistant

Introduction

Home Assistant est une solution open source pour domotiser votre habitat. Il en existe beaucoup d’autres comme Jeedom ou Domoticz. Néanmoins, pour les avoir essayer, je trouve que Home Assistant est la meilleure solution du moment. Simple, léger, très facile à prendre en main. Comme pour Jeedom, il existe de nombreux « composants » que l’on peut activer pour faire cohabiter différents appareils. Lire la suite de « Centrale domotique avec Raspberry et Home Assistant »

Vous avez aimé ? Partagez 🙂

Configurer un Raspberry Pi sans clavier ni écran

La plupart du temps, surtout sur des projets DIY ou IoT, le Raspberry Pi est utilisé sans écran ni clavier. C’est donc une contrainte de devoir sortir un vieux clavier usb, un cable HDMI et de brancher le tout sur un écran ou une télévision. Il existe désormais une méthode pour activer le SSH et configurer le WIFI avant même la première utilisation de votre petit ordinateur préféré. Lire la suite de « Configurer un Raspberry Pi sans clavier ni écran »

Vous avez aimé ? Partagez 🙂

Introduction aux ChatBots et l’ANI : Artificial Narrow Intelligence

Definition

L’Artificial Narrow Intelligence est une intelligence artificielle qui se concentre sur une seule tâche contrairement à l’AI (Artificial Intelligence) qui est une machine avec la capacité d’appliquer l’intelligence à n’importe quel problème, plutôt qu’un problème spécifique.

Siri est un bon exemple d’ANI. Siri opère dans une gamme limitée prédéfinie, il n’y a pas d’intelligence véritable, pas de conscience de soi.

Les chatbots, ou agents conversationnels, sont les interfaces permettant d’exploiter une ANI. Lire la suite de « Introduction aux ChatBots et l’ANI : Artificial Narrow Intelligence »

Vous avez aimé ? Partagez 🙂

Lancement du Raspberry Pi Zero W : wifi et bluetooth intégrés

La fondation Raspberry a lancé fin février, 5 ans après la sortie du premier modèle Pi, une version « wireless » du Pi Zero. Il se nomme Zero W, avec vous l’avez deviné, W qui signifie Wireless. En effet, cette nouvelle mouture embarque la connectivité wifi et bluetooth nativement. La puissance reste la même que sa version précédente. Le tout pour £9 seulement.

Principales caractéristiques

  • 802.11 b/g/n wireless LAN
  • Bluetooth 4.1
  • Bluetooth Low Energy (BLE)
  • 1GHz, CPU simple coeur
  • 512MB RAM
  • Mini HDMI et USB On-The-Go ports
  • alimentation par Micro USB
  • HAT-compatible 40-pin header
  • Composite video
  • connecteur caméra CSI

Avec ceci, de nouveaux boitiers officiels sont également disponibles. Ils offrent différentes ouvertures sur le couvercle selon l’utilisation que vous désirez faire de votre nano ordinateur.

Ce nouveau modèle promet donc de facilité encore un peu plus la mise en oeuvre de projets IoT ou domotique. Le tout encore une fois pour un coup très maitrisé.

En bonus, voici un comparatif de la consommation électrique de chaque modèle de la famille Raspberry (tests réalisés par RaspiTV) :

 

Vous avez aimé ? Partagez 🙂

Reconnaissance d’objets avec TensorFlow

TensorFlow est une librairie pour le machine learning et l’intelligence logiciel. Nous allons aujourd’hui l’utiliser avec le language Python mais vous pouvez également l’utiliser en C.

Vidéo de présentation :

Je suis sous Mac, et pour installer la librairie j’ai utilisé les commandes suivantes :

$ sudo easy_install pip

$ sudo easy_install --upgrade six

Ensuite, il faut choisir la bonne version à installer :

# Ubuntu/Linux 64-bit, CPU only, Python 2.7 $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl # Ubuntu/Linux 64-bit, GPU enabled, Python 2.7
# Requires CUDA toolkit 7.5 and CuDNN v5. For other versions, see "Install from sources" below. $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp27-none-linux_x86_64.whl
# Mac OS X, CPU only, Python 2.7: $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0-py2-none-any.whl
# Mac OS X, GPU enabled, Python 2.7: $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.10.0-py2-none-any.whl
# Ubuntu/Linux 64-bit, CPU only, Python 3.4 $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp34-cp34m-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 3.4
# Requires CUDA toolkit 7.5 and CuDNN v5. For other versions, see "Install from sources" below. $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp34-cp34m-linux_x86_64.whl
# Ubuntu/Linux 64-bit, CPU only, Python 3.5 $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.10.0-cp35-cp35m-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled, Python 3.5
# Requires CUDA toolkit 7.5 and CuDNN v5. For other versions, see "Install from sources" below. $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0-cp35-cp35m-linux_x86_64.whl
# Mac OS X, CPU only, Python 3.4 or 3.5: $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-0.10.0-py3-none-any.whl
# Mac OS X, GPU enabled, Python 3.4 or 3.5: $ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/mac/gpu/tensorflow-0.10.0-py3-none-any.whl

Il ne reste plus qu’à installer. Selon que vous êtes sous Python 2 ou 3, voici les commandes :

# Python 2 $ sudo pip install --upgrade $TF_BINARY_URL

# Python 3 $ sudo pip3 install --upgrade $TF_BINARY_URL

Nous sommes maintenant prêts pour faire un premier test avec une photo ou une image que vous aurez trouvé sur internet.

Allons dans le répertoire ou la librairie est installée. Dans mon cas, elle se situe ici (sous Mac) :

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/

Vous pouvez situer l’emplacement en utilisant la commande suivante :

locate tensorflow

Cette commande, qui fonctionne aussi sous Mac ou Linux, vous liste les emplacements ou « tensorflow » est trouvé. Déplacez vous jusqu’au bon répertoire. Tapez ensuite cette commande pour faire un test :

sudo python classify_image.py

Vous devriez obtenir le résultat suivant :

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.88493) indri, indris, Indri indri, Indri brevicaudatus (score = 0.00878) lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00317) custard apple (score = 0.00149) earthstar (score = 0.00127)

Par défaut, c’est une image de panda qui est identifiée. Nous allons pouvoir maintenant tester avec nos propres photos. J’ai pris une photo chez moi. Il s’agit d’une guitare et la photo est de qualité plutôt moyenne.

La voici :

guitare

C’est assez sombre, et franchement je ne m’attendais pas à ce que le script puisse reconnaitre un objet sur cette photo. Et pourtant …

En tapant la commande qui suit, Tensorflow a su reconnaitre l’objet principal de la photo :

sudo python classify_image.py --image_file /Users/maxduke/Desktop/test.jpg

test.jpg est évidemment le fichier jpeg de ma photo. Le script m’a renvoyé le résultat suivant :

electric guitar (score = 0.96822)

acoustic guitar (score = 0.00692)

stage (score = 0.00334)

pick, plectrum, plectron (score = 0.00106)

microphone, mike (score = 0.00057)

Comme vous pouvez le constater, le script est certain à 96% qu’il s’agit d’une guitare électrique. C’est presque incroyable mais ça fonctionne. J’ai fait une cinquantaine de tests, et TensorFlow a retrouvé 2 fois sur 3 le bon objet 🙂

Ca laisse beaucoup de place à l’imagination. Comment se servir d’un tel script ? Je suis en ce moment en train de concevoir un robot avec un Raspberry, et ça me donne pas mal d’idées … Et si mon robot pouvait reconnaitre mon chat et ainsi pouvoir interagir avec lui ?

Je reviendrais certainement avec d’autres articles sur le sujet. En attendant, amusez-vous bien.

Vous avez aimé ? Partagez 🙂

C.H.I.P : nano ordinateur complet à 9 dollars

Les nano ordinateurs ont le vent en poupe. Les plus connus et les plus vendus sont les Arduino et Raspberry Pi. Un petit nouveau nommé C.H.I.P devrait connaitre le succès avec son prix de vente à 9 dollars. Presque le double du Pi Zero me direz-vous … et c’est vrai. Mais vous avez beaucoup plus. Dans à peine 4cm x 6 cm vous aurez :

  • Processeur 1 Ghz
  • Processeur graphique Mali 400
  • 512Mo de RAM DDR3
  • 4Go de stockage interne
  • Wifi / Bluetooth 4.0
  • Port USB
  • Sorties aux normes I2C, SPI, UART et GPIO

Il vous faudra ajouter une petite carte d’extension pour un port HDMI (15 dollars) ou VGA (10 dollars). Une protection plastique vous coutera 2 dollars. Le tout prêt à fonctionner car le système d’exploitation est déjà installé. Il s’agit d’un noyau linux optimisé pour le Chip. Vous pouvez le pré-commandé dès aujourd’hui, sa livraison est prévue pour novembre 2016.

 

 

Vous avez aimé ? Partagez 🙂