Trucs technologiquement geeks...

Ceci est mon blog "geek" qui parle de trucs techniques, de développement, de web, de bases de données... mais je n'écris plus tellement sur ces sujets en français.

Ceci dit, vous pouvez toujours aller consulter mon geek blog en anglais

Domotique KNX : Introduction

Domotique KNX : Introduction

Vous vous apprêtez à faire construire une maison ou un appartement et vous voulez l'équiper en domotique. Voici ce que vous devez savoir sur la norme KNX, à la fois pour comprendre le devis de votre installateur mais aussi pour savoir ce que vous pouvez raisonnablement lui demander ou non...

KNX (aussi appelé "Konnex") est la norme d'interconnexion d'équipements domotiques multi-marques la plus répandue au monde et tout particulièrement en Europe (la France est un peu à la traine en termes d'adoption). A ce jour, 412 fabricants proposent du matériel compatible et il existe plus de 68.000 installateurs certifiés. Tout cet écosystème est géré par la KNX Association.

KNX est une solution essentiellement filaire, c'est à dire que la majorité des équipements seront liés entre eux par un câble que l'on passe dans les mûrs. C'est lourd à planifier et à installer, mais c'est très fiable et il n'y a pas besoin de changer des piles en permanence.

Le bus KNX

Dans l'absolu, le protocole KNX permet aux matériels participants de communiquer entre eux sur différents médias: paire torsadée, radio-fréquence, réseau Ethernet/IP, courant-porteur, infra-rouge... Toutefois, le plus utilisé est le câble bus KNX qui ressemble à un câble téléphonique ou câble réseau de couleur verte. Ce câble vert est aussi communément appelé câble KNX. Ce câble contient 2 paires torsadés de 2 fils (0,8 mm): la première paire (fils rouge + noir) est le bus de communication; la seconde paire (fils blanc + jaune) peut avoir divers usages (alimentation supplémentaire, connexion d'extensions propriétaires, paire de secours au cas où le rouge+noir devenait défaillant...)

A noter: vous trouverez parfois aussi le terme EIB (European Installation Bus) qui est la version originale (crée en 1987) du bus KNX.

Dans une installation KNX typique, tous vos interrupteurs sont reliés à ce câble vert (et non pas au 230 V). Ils envoient un télégramme sur le bus lorsque l'on appuie sur un bouton. Un même interrupteur peut ainsi avoir plusieurs touches, chaque touche pouvant envoyer un ou plusieurs télégrammes différents sur le bus. Sur ce même bus KNX, vous pouvez connecter des détecteurs de mouvement, des détecteurs de CO2, des thermostats, etc. Tous peuvent également envoyer et recevoir des télégrammes sur le bus. De manière générale ces élément sont appelés des capteurs.

Les capteurs sont en général auto-alimentés par le bus KNX (Courant Continu 29 volts). Cela est possible grâce à une alimentation de bus placée dans votre tableau électrique. Dans la norme KNX, chaque capteur doit consommer au maximum 10 mA. Si un élément a besoin de plus (par exemple: une station météo), on peut utiliser les fils blanc+jaune pour fournir une alimentation supplémentaire.

Selon le nombre de participants à notre installation, il existe des alimentations plus ou moins puissantes, par exemple 320 mA ou 640 mA pour 32 ou 64 participants. La longueur maximum entre l'alimentation et le participant le plus éloigné est de 350m. Il est possible de mettre 2 alimentations maximum par ligne de bus KNX (voir plus bas pour les lignes et les coupleurs).

Les actionneurs

Envoyer des télégrammes sur le bus n'est utile que si quelqu'un les reçoit et y réagit. C'est là qu'interviennent les actionneurs (ou acteurs). Il s'agit typiquement de boitiers intégrés au tableau électrique, reliés eux aussi au bus KNX et qui, lorsqu'ils reçoivent un certain télégramme vont ouvrir ou fermer un relais. Cela va permettre d'allumer ou d'éteindre une lampe par exemple. Ces actionneurs sont typiquement vendus en boitiers intégrant 4, 8 ou 16 relais pour une seule carte électronique.

Il existe également des actionneurs pour lampes "dimmables" ("variateurs"), pour volets roulants (souvent appelés "jalousies" dans la terminologie KNX) ou pour vannes de chauffage (ces derniers vont typiquement recevoir des télégrammes de la part des thermostats).

Afficheurs

Divers types d'afficheurs peuvent être connectés au bus, allant de petits écrans LCD de signalisation jusqu'à de grands écrans tactiles couleur permettant de commander toutes les fonctions de la maison. Il s'agit toujours du même principe, les états affichés correspondent aux télégrammes reçus et lorsque l'écran est tactile, des télégrammes précis sont envoyés pour chaque action.

Passerelles

Il existe aussi des passerelles Homekit ou Alexa par exemples, qui permettent alors d'envoyer des télégrammes depuis un téléphone ou par commande vocale.

La programmation

Aucun comportement n'est prédéfini. Par défaut, lorsque l'on branche les interrupteurs et les actionneurs tous ensemble sur le bus, ils ne savent pas communiquer entre eux et ne savent donc rien faire d'utile.

L'installateur doit donc utiliser un logiciel spécial appelé ETS et fourni par la KNX Association (1000 € HT -- cher pour un particulier mais rentable pour un installateur). ETS permet d'assigner une adresse physique à chaque participant (interrupteurs, actionneurs...). Ces adresses physique sont un peu comme les adresses IP de l'Internet. Elles permettent à chaque appareil d'avoir une adresse unique. Typiquement 1.1.1, 1.1.2, 1.1.3, etc.

Ensuite, l'installateur va définir des comportements au sein de chaque appareil participant et en particulier l'envoi et la réception de télégrammes sur des adresses de groupe. Par exemple, sur une même adresse de groupe, on pourrait avoir 3 touches sur 3 interrupteurs différents et un actionneur. Chaque touche peut envoyer un télégramme qui fera basculer l'actionneur entre on et off. L'actionneur peut, lui aussi, émettre un télégramme de retour d'état sur cette même adresse de groupe. Ainsi les 3 interrupteurs peuvent, par exemple, allumer ou éteindre une LED d'état correspondant à l'état de l'actionneur.

Lorsqu'un participant envoie un télégramme sur une adresse de groupe, ce télégramme sera "vu"/"entendu" par tous les participants du bus, mais seuls ceux qui sont programmés pour réagir à l'adresse de groupe en question vont réagir à ce télégramme (les autres participants vont l'ignorer).

Intelligence décentralisée

L'une des particularités du système KNX est qu'il ne nécessite pas de "centre nerveux", c'est-à-dire pas d'ordinateur central qui pourrait tomber en panne et mettre à mal tout le système. Chaque participant communique directement avec les autres et chacun intègre sa propre intelligence. Si l'un d'eux tombe en panne, la panne est typiquement limitée aux fonctions de ce seul appareil.

Le revers de la médaille de cette décentralisation est que chaque participant doit intégrer son propre microprocesseur et son propre logiciel, ce qui augmente sensiblement le prix de chaque composant.

Il est possible d'ajouter des "serveurs" ou des "modules de fonctions logiques" à une installation pour obtenir des fonctions complexes, mais ce n'est pas une obligation (contrairement à ce que le discours commercial de certains fabricants ou installateurs aimerait vous laisser croire).

Topologie

Une ligne de bus KNX peut avoir 64 participants (n°0 à 63) en plus de l'alimentation de bus. Cette ligne de bus peut être installée physiquement de manière linéaire (aller d'un interrupteur vers le suivant, etc), en étoile, ou un mélange des deux (arborescence). L'électricien peut faire à peu près n'importe quoi (sauf faire des boucles) pour relier les participants lors de l'installation, ce qui a des avantages (pour lui) et des désavantages (pour vous, sur le long terme -- il vaudrait mieux avoir une configuration 100% en étoile pour un maximum de souplesse à l'avenir).

La longueur maximale du bus est de 1 km, mais en pratique la limite est de 350m par rapport à l'alimentation. La vitesse de communication est de 9600 bps, ce qui est ridiculement faible (comparé à un réseau Ethernet opérant à 1 Gbps soit 1 000 000 000 bps) mais acceptable car les télégrammes sont ridiculement compacts (parfois 1 bit de charge utile, maximum 16 octets de charge utile). C'est grâce à cette faible vitesse que l'on peut opérer avec des topologies très diverses et des longueurs de câbles très grandes.

Si vous avez besoin de plus de 64 participants, vous pouvez installer des répéteurs de lignes (bricolage, un peu comme les répéteurs WiFi) ou bien des coupleurs de ligne branchés à une ligne principale (maximum 15 coupleurs de ligne). Dans le cas de coupleurs de ligne, chaque ligne aura sa propre alimentation.

Sur une nouvelle ligne, les adresses physiques seront différentes. Par exemple:

  • Ligne 1 (par exemple la ligne principale): 1.1.1, 1.1.2, 1.1.3, etc.
  • Ligne 2 (par exemple la ligne "RF"): 1.2.1, 1.2.2, 1.2.3, etc.

Vous pouvez aller encore plus loin avec des coupleurs de zone, mais c'est hors du contexte d'une maison individuelle. (On aurait des adresses du type 2.1.1, 2.1.2, 2.1.3, etc.)

En revanche, ce qui sera plus courant dans une maison individuelle sera d'avoir des coupleurs supplémentaires entre le bus KNX et le réseau Ethernet/IP, un coupleur RF (pour utiliser des télécommandes sans fil), éventuellement une interface USB... et une passerelle vers HomeKit ou Alexa... dont je vous reparlerai au prochain épisode si il y a des intéressés ;)

Comment tester son débit ADSL/Fibre

Comment tester son débit ADSL/Fibre

Aujourd'hui on m'a raccordé à la fibre. La fibre jusqu'à l'appart (FTTH - Fiber To The Home) enfin... en 2012, c'est pas trop tôt :p

Anyways, je voulais donc savoir ce qu'on gagne par rapport à l'ADSL... et là je me rends compte qu'il y a très peu de solutions de test de bande passante vraiment efficace.

En fait on ne sait jamais trop si la bande passante/le débit mesuré est limité par les équipements du côté de l'opérateur (Orange dans mon cas) ou bien par les serveurs du site de test de débit. Ceci dit, voici les solutions de test les plus crédibles que j'ai trouvées à ce jour:

Post complet »

Débit ADSL et "atténuation"

Débit ADSL et "atténuation"
Débit ADSL chez moi
Débit ADSL et "atténuation"
Débit ADSL au bureau

Orange vient de m'activer l'ADSL dans mon bureau, qui est dans l'immeuble juste à côté de chez moi.

Avec exactement la même livebox, le même contrat et à 25 mètres de distance, j'ai un debit descendant de 20 Mbps au lieu de 16 Mbps. Je ne me plains pas, mais ce que je trouve étrange, c'est qu'apparemment, l'atténuation descendante est la même dans les 2 cas! Plus étrange encore, l'atténuation montante est supérieure (donc plus mauvaise) sur la ligne la plus rapide.

A se demander si le débit est fixé automatiquement ou bien si c'est un technicien qui prends le risque d'en mettre plus ou moins à l'installation selon son évaluation de la marge de sécurité qu'il reste avant qu'on ne perde plein de paquets... ?

En tout cas je garde ces copies d'écran de la livebox pour venir re-comparer dans quelques mois et voir si quelque chose à changé... ;)

Les URL, c'est pas pour les chiens!

Les URL, c'est pas pour les chiens!

Suite à un problème de synchro, je suis en train de passer en revue tous mes bookmarks... et je me rends compte que les trois quarts de mes vieux bookmarks (période 2002 à 2005) vers des sites français sont cassés... erreur 404... alors que concernant les sites US, c'est à peine 20%.

Encore une fois, les français brillent par leur totale incompréhension du web...

Les adresses web, les URL, oui vous savez les trucs qui commencent par http:// là... c'est important ces trucs là... à chaque fois que vous les changez sur votre site, eh bien vous perdez des visiteurs... qui comme moi vous avaient mis dans leur signets... et je ne parle pas de la page principale de votre site, je parle des pages tout au fond de votre site! Celles que vous négligez, mais celles qui intéressent en réalité les internautes...

Pire encore, il y a surement des liens vers ces pages depuis d'autres sites... ces liens là se retrouvent cassés...

Quel gâchis!

PS: la solution existe, elle s'appelle redirections 301. Cherchez donc sur Google ;)

Design web: étape par étape

Design web: étape par étape

Parfois, ça fait du bien de récapituler... ;)

EtapeCe qui est faitCe qui est livré Par qui?
Conception Le concepteur propose un concept, une structure générale pour le site, y compris une arborescence de navigation. Il est particulièrement important de connaître le nombre de niveaux d'arborescence avant de commencer le design des menus de navigation! Croquis, schémas, organigrame Client / SEO / Interaction designer / DA
Design graphique Un graphiste propose un ou plusieurs styles graphiques en tenant comptes des contraintes exprimées à l'étape précédente. Fichier image "à plat" pour validation client DA / Graphiste
Maquette Un graphiste finalise un design graphique ("pixel perfect") qui correspond au pixel près à ce que le site donnera dans un navigateur web typique. Fichier PSD calé au pixel près, calques séparés Graphiste
Découpage

Le fichier PSD est découpé en images indépendantes, soit par zones, soit par calques ou encore une combinaison des deux, envue de l'étape d'intégration.
Diverses icônes sont rassemblées en un seul fichier pour l'optimisation des temps de chargement (techniques des "sprites"). Ce fichier inclue également les versions "roll over" des icônes ou boutons.

Plusieurs fichiers PNG, GIF et/ou JPG Graphiste / Intégrateur
Intégration Une page HTML statique est crée avec des contenus d'exemple "lorem ipsum", les éléments graphiques sont positionnés et tous les styles sont appliqués par CSS. Les rollovers sont gérés dans le fichier CSS.
On obtient une page HTML qui, une fois ouverte dans un navigateur, ressemble en tous points à la Maquette d'origine. Les rollovers fonctionnent.
Page HTML ou XHTML statique, accompagnée d'une feuille de style CSS et d'images PNG, GIF ou CSS. Graphiste / Intégrateur / SEO
Dévelopement client side Un dévelopeur rajoute les éléments javascripts dynamiques tels que menus déroulants, onglets montrant des contenus interactifs, animations, et autres "gadgets" potentiels. Même page HTML que précédemment augmentée d'un fichier Javascript (.js) Développeur client side / Interaction designer / SEO
Dévelopement server side Un développeur réalise l'interfaçage avec la base de données, par exemple en PHP. Les contenus "lorem ipsum" sont remplacés par de vrais contenus en temps réel. Les champs de recherche permettent de lancer des recherches. C'est également à cette étape que sont rajoutés les interfaces AJAX telles que: suggestions de recherche d'après les premiers caractères tapés... Le fichier .html devient un fichier .php . Pour le voir fonctionner il faut le placer sur un serveur web. Développeur sever side / Développeur client side / Interaction designer / SEO