Niveau de complexité

Introduction

LED (image: Adafruit)

Quelles peuvent être les niveaux de complexité d’un système (ou d’une combinaison de systèmes) permettant de faire clignoter, ou commuter une LED ? Voici un petit aperçu de ce que l’on pourrait voir comme une progression se pliant aux besoins (voir les devançant…) de l’utilisateur.

Niveau 0

Montage NE555 – exemple

Une LED clignote avec une électronique : un chip 555, associé à 2 résistances et un condo pour la base de temps du clignotement.

Niveau 1

Un Arduino (ou tout autre module) fait clignoter la LED à 50% avec une boucle software comportant 2 attentes, et une inversion de la sortie active ou arrêtée. Il faut retoucher le code source pour changer la période allumé/éteinte, le compiler et le recharger.

Exemple de programme Arduino: blink.ino (partiel)

Niveau 2

Des boutons de commande contrôlent la séquence : plus ou moins rapide. Les paramètres de boucle et de n° de sortie utilisée sont dans des variables, qui sont lues de la mémoire flash par le programme. Un bouton permet d’enregistrer la config ainsi modifiée. Le programme gère les interruptions, sans forcément être multitâche.

Niveau 3

Le module a une liaison série ou IP en SSH, à laquelle une console permet d’envoyer des commandes. Le programme a un mini interpréteur, qui réagit à des commandes série ou en SSH : ‘+’ et ‘-‘, ‘s’ = sauver ; ‘r’ = relire les temps, voire de modifier le rapport cyclique. On n’oubliera pas le help, avec le caractère ‘ ?’. Le programme est multitâche.

Niveau 4

Le module a un serveur de pages WEB. Une page contient des boutons et des champs permettant de régler les variables, de les enregistrer et de les sauver. Ceci à distance du module. Idéalement, ce mode d’action est compatible avec le niveau 2 et comporte les boutons hardware pour une action locale

Niveau 5A

Le module a un serveur WEB, une liaison sécurisée, une base de donnée (DB), une synchro NTP pour une mise à l’heure exacte. Il enregistre les événements, tels que les arrêt/démarrages du système, les connexions. Les manipulations sont dans la base de données. Il envoie un email d’alerte lorsque des tentatives d’intrusions sont faites.

source: selftaughtcoders.com

Niveau 5B

Le module fait partie d’un ensemble interconnecté. Il reçoit les paramètres selon son n° ou son nom de module. Tous sont enregistrés dans une DB centrale. Des logs centralisés sont consultables, ainsi que l’état du réseau. Des informations historiques peuvent être consultées.

Conclusion

Il n’y en n’a pas. La complexité élevée demande des compétences de programmation élargies et fait appel à des techniques qu’il faut dominer et mettre en œuvre. Elle demande plus de puissance, de la connectivité ; mais amène de la souplesse à l’utilisateur. Et son lot d’erreurs, de possibilités d’intrusion. Il s’agit de choisir le niveau d’abstraction et de réglage… avec du bon sens.

Yves Masur (8/2018)

10 ans de Google

Au bas de vos pages de recherche Google ces temps-ci on trouve ce texte : “Google fête ses 10 ans : célébrez cet anniversaire avec nous !”. Le lien nous emmêne à une timeline retraçant l’histoire de cette boite extraordinaire, depuis la rencontre des deux fondateurs jusqu’aux tous derniers produits.

Pour tenir compte de la fantastique croissance exponentielle de l’entreprise, les deux dernières années sont décrites mois par mois.

Une date dont je me souviens c’est le 18 août 2004, quand Google est entrée en bourse en offrant 19 605 052 actions à 85 $ pièce. Je m’étais demandé si ça valait le coup d’en acheter quelques unes, et puis après tout, non. En novembre 2007 l’action valait quasiment $750 et elle en vaut encore $450 aujourd’hui. 529% en 4 ans, ça fait 51.7% par an… y’a pire …

les 10 meilleures applications Web

Webware a organisé un vote des internautes sur les meilleures applications Web 2.0. 2 Millions de personnes ont ainsi choisi

Lire plus