FR 3038401 A1 20170106 FR 1556190 A 20150701 1 La présente invention se rapporte à un procédé de configuration et à un procédé de commande d'un système de modules d'exécution. La présente invention concerne en outre un système de modules d'exécution interconnectés. Il est connu de l'état de la technique de faire fonctionner des appareils sous forme de modules par un assemblage mécanique de plusieurs modules ayant des fonctions différentes, la configuration d'assemblage desdits modules définissant la fonctionnalité globale du système. La flexibilité d'un tel système est limitée et ne permet pas l'exécution d'opérations complexes. La présente invention a pour objet de résoudre tout ou partie des inconvénients mentionnés ci-dessus. À cet effet, la présente invention concerne un procédé de configuration d'un système de modules d'exécution interconnectés, chacun des modules d'exécution du système de modules d'exécution comportant une machine virtuelle et au moins un actionneur et/ou un capteur et/ou une interface utilisateur et/ou un système de traitement de données, comprenant les étapes consistant à : disposer d'un référentiel d'état du système de modules d'exécution interconnectés, indiquant la nature de chacun des modules d'exécution, l'état de chacun des modules d'exécution sur la base d'une variable représentative d'un état de fonctionnement de l'au moins un module d'exécution ou une mesure d'une grandeur physique par un capteur de l'au moins un module d'exécution, et au moins une connexion entre les modules d'exécution ; disposer d'un macro-programme utilisateur comprenant au moins un programme utilisateur ; définir au moins un programme utilisateur du macro-programme utilisateur exécutable sur un module d'exécution déterminé comprenant au moins une règle d'opération définissant au moins une opération à réaliser, la réalisation de ladite au moins une opération correspondant à la génération d'un ordre de commande à destination d'un actionneur et/ou d'une interface utilisateur et/ou d'un système de traitement de données de ce module d'exécution de ce module d'exécution, et/ou à destination d'au moins un module d'exécution du système de modules d'exécution interconnectés ; envoyer l'au moins un programme utilisateur vers au moins un module d'exécution déterminé par l'intermédiaire d'au moins une 3038401 2 liaison de communication, l'au moins un module d'exécution étant agencé pour exécuter le programme utilisateur. Grâce aux dispositions selon l'invention, l'au moins un programme utilisateur peut être envoyé à l'au moins un module d'exécution et exécuté dès 5 réception par ledit module d'exécution, grâce à la machine virtuelle. En particulier, la machine virtuelle permet l'exécution immédiate d'une règle d'opération reçue au cours d'une période de fonctionnement du système de modules d'exécution. On entend par exécution immédiate d'une règle d'opération, une exécution réalisée dès réception de la règle d'opération par l'au moins un module d'exécution. La règle 10 d'opération est interprétée puis exécutée dès sa réception par l'au moins un module d'exécution. Ainsi, le système de module d'exécution est flexible et peut s'adapter à un changement du macro-programme utilisateur. Il n'est pas nécessaire de reprogrammer ou de redémarrer le système de module d'exécution pour que les 15 modules d'exécution exécutent un programme utilisateur modifié. Grâce à ces dispositions, le système ne nécessite pas de connexion au réseau internet. En outre, ces dispositions permettent l'allègement de l'occupation du réseau, car seulement les informations utiles sont transmises. Ainsi, la réactivité du 20 système de modules est améliorée, et la consommation d'énergie est ainsi diminuée. Ce fonctionnement permet en outre d'alléger la charge de calcul pour les différents modules d'exécution en la répartissant. Selon un aspect de l'invention, l'opération est réalisée en fonction d'au moins une condition déterminée par une interface de configuration ou par un ordre 25 de commande en provenance d'au moins un module d'exécution du système de modules d'exécution sur la base d'une valeur de la variable représentative d'un état de fonctionnement d'au moins un module d'exécution du système de modules d'exécution, ou d'une mesure d'une grandeur physique par un capteur d'au moins un module d'exécution. 30 Selon un aspect de l'invention, l'au moins un module d'exécution est agencé pour évaluer la réalisation de l'au moins une condition de l'au moins une règle d'opération en fonction de l'au moins une valeur de la variable représentative, et pour réaliser l'au moins une opération en fonction de l'évaluation la réalisation de l'au moins une condition. 3038401 3 Une condition définit un critère de test correspondant à une opération devant être réalisée lorsque le critère de test de la condition est rempli. Le critère de test peut notamment être défini en fonction de variables représentatives. Selon un aspect de l'invention, l'au moins une opération est réalisée sur 5 la base de réception de données locales ou en fonction de données en provenance d'au moins un module d'exécution du système de modules d'exécution interconnectés. Selon un aspect de l'invention, l'au moins un module d'exécution est agencé pour évaluer la réalisation de l'au moins une opération par le système de 10 traitement de données. Selon un aspect de l'invention, le système de traitement de données est assuré par une unité de contrôle électronique. Selon un aspect de l'invention, le procédé de configuration comprend une étape de définition d'un état du système de modules d'exécution, dans laquelle 15 on active des modules d'exécution déterminés et on définit des liaisons de communication déterminées. Selon un aspect de l'invention, le procédé de configuration comprend une étape de définition d'au moins un programme utilisateur. Selon un aspect de l'invention, on définit au moins un programme 20 utilisateur dans un code source. Selon un aspect de l'invention, le procédé de configuration comprend une étape consistant à générer l'au moins un programme utilisateur dans un code intermédiaire, à partir du code source. On entend par code intermédiaire un code indépendant d'un module d'exécution ou de toute plateforme matérielle. On entend 25 plus particulièrement par code intermédiaire un programme compilé dans un code exécutable par une machine virtuelle, par exemple le « bytecode ». Plus particulièrement, le procédé de configuration comprend une étape consistant à compiler l'au moins un programme utilisateur en code intermédiaire à partir du code source. 30 Selon un aspect de l'invention, on envoie l'au moins un programme utilisateur vers l'au moins un module d'exécution sous forme de code source et de code intermédiaire. Grâce aux dispositions selon l'invention, le code source du programme destiné à l'au moins un module est stocké dans ledit module d'exécution. Ainsi, un 35 utilisateur n'ayant pas accès à un terminal ayant été utilisé pour définir un programme utilisateur, peut accéder au code source en le requérant auprès de l'au moins un 3038401 4 module d'exécution, et ainsi modifier le programme utilisateur. Grâce à ces dispositions, le système de modules d'exécution est souple et son utilisation est facilitée. En outre, l'utilisation d'une machine virtuelle permet de s'affranchir des 5 contraintes liées au choix du langage utilisé pour le code source. En effet, le code source est compilé dans un code intermédiaire exécutable par la machine virtuelle quelque soit le langage du code source utilisé. Selon un aspect de l'invention, le procédé de configuration comprend au moins une étape de configuration d'une interface de commande dans laquelle on 10 définit la correspondance entre au moins une interaction d'interface et la détermination de l'au moins une condition et/ou de l'au moins une opération. Selon un aspect de l'invention, le procédé de configuration comprend une étape dans laquelle, suite à une interaction d'interface, on envoie un programme utilisateur ainsi modifié vers l'au moins un module d'exécution. 15 Selon un aspect de l'invention, le procédé de configuration comprend une étape de mise en oeuvre d'une communication sans fil grâce à un module portail entre l'interface de configuration et l'au moins un module d'exécution ou bien entre deux modules d'exécution du système de modules d'exécution. Selon un aspect de l'invention, la communication sans fil est mise en 20 oeuvre par un protocole de communication sans fil de type conforme à la norme IEEE 802.11 / WIFI. Selon un aspect de l'invention, le procédé de configuration comprend une étape de mise en oeuvre d'une connexion sans fil grâce à un module portail entre le système de modules d'exécution et un système externe de modules d'exécution. 25 Selon un aspect de l'invention, la communication sans fil est mise en oeuvre par un protocole de communication sans fil de type WIFI, ou de type conforme à la norme réseau UMTS ou de type conforme à toute autre norme réseau. La présente invention concerne en outre un procédé de commande d'au moins un module d'exécution d'un système de modules d'exécution interconnectés, 30 l'au moins un module d'exécution comportant au moins un actionneur et/ou un capteur et/ou une interface utilisateur et/ou un système de traitement de données, comprenant les étapes consistant à : A. disposer d'au moins un programme utilisateur comprenant au moins une règle d'opération définissant au moins une opération à 35 réaliser, la réalisation de ladite au moins une opération correspondant à la génération d'un ordre de commande à 3038401 5 destination d'un actionneur et/ou d'une interface utilisateur et/ou d'un système de traitement de données de ce module d'exécution, et/ou à destination d'au moins un module d'exécution du système de modules d'exécution interconnectés ; 5 puis B. exécuter l'au moins un programme utilisateur. Selon un aspect de l'invention, l'opération est réalisée en fonction d'au moins une condition déterminée par une interface de configuration ou par un ordre de commande en provenance d'au moins un module d'exécution du système de 10 modules d'exécution sur la base d'une valeur de la variable représentative d'un état de fonctionnement d'au moins un module d'exécution du système de modules d'exécution, ou d'une mesure d'une grandeur physique par un capteur d'au moins un module d'exécution. Selon un aspect de l'invention, l'étape B comprend les sous-étapes 15 consistant à : évaluer la réalisation de l'au moins une condition de l'au moins une règle d'opération en fonction de l'au moins une valeur de la variable représentative ; puis réaliser l'au moins une opération en fonction de l'évaluation 20 de la réalisation de l'au moins une condition. Selon un aspect de l'invention, l'au moins une opération est réalisée sur la base de réception de données locales ou en fonction de données en provenance d'au moins un module d'exécution du système de modules d'exécution interconnectés. 25 Selon un aspect de l'invention, l'au moins un module d'exécution est agencé pour évaluer la réalisation de l'au moins une opération par le système de traitement de données. La présente invention concerne également un système de modules d'exécution interconnectés comportant une multitude de modules d'exécution, 30 chacun comprenant une unité de contrôle électronique, le système de modules d'exécution interconnectés comprenant en outre : - au moins une interface de configuration agencée pour définir au moins un programme utilisateur comportant au moins une règle d'opération ; 3038401 6 au moins un premier module d'exécution parmi la multitude de modules d'exécution agencé pour interpréter et exécuter l'au moins un programme utilisateur ; au moins un deuxième module d'exécution parmi la multitude de 5 modules d'exécution agencé pour communiquer avec l'au moins un premier module par une interface de communication ; l'au moins une règle d'opération définissant au moins une opération à réaliser, et la réalisation de ladite au moins une opération correspondant à la 10 génération d'un ordre de commande à destination de l'actionneur et/ou interface utilisateur de l'au moins un premier module d'exécution et/ou de l'au moins un deuxième module d'exécution. Selon un aspect de l'invention, l'opération est réalisée en fonction d'au moins une condition déterminée sur la base d'une la variable représentative d'un état 15 de fonctionnement ou d'une mesure d'une grandeur physique par un capteur de l'au moins un premier et/ou de l'au moins un deuxième module d'exécution parmi la multitude de modules d'exécution. Selon un aspect de l'invention, le système de module d'exécution comprend un module portail permettant de réaliser un envoi et/ou une réception des 20 données à destination et/ou en provenance du système de modules d'exécution. Selon un aspect de l'invention, le module portail est agencé pour interpréter et exécuter au moins un programme utilisateur. Selon un aspect de l'invention, l'au moins un premier module d'exécution et au moins un deuxième module d'exécution comprennent un interpréteur, agencé 25 pour interpréter au moins un programme utilisateur. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lumière de la description qui va suivre et à l'examen des figures ci-annexées, dans lesquelles : la figure 1 représente l'architecture générale du système de modules 30 d'exécution ; la figure 2 représente une interface programmateur ; la figure 3 représente un éditeur d'interface de commande ; la figure 4 représente une interface de commande ; la figure 5 représente le fonctionnement d'un module d'exécution ; 35 la figure 6 représente un procédé de configuration du système de modules d'exécution. 3038401 7 Sur l'ensemble de ces figures, des références identiques ou analogues désignent des organes ou ensemble d'organes identiques ou analogues. Sur la figure 1 est représenté un système de modules d'exécution. Le système de modules d'exécution comprend, dans ce mode de réalisation trois 5 modules d'exécution 3, 5, 7. Le module d'exécution 3 est par exemple un module comprenant un capteur de température, le module d'exécution 5 est par exemple un module actionneur d'un ventilateur et le module d'exécution 7 est par exemple un module actionneur d'une LED. Les modules d'exécution 5 et 7 communiquent grâce à une interface de communication 9. Dans ce mode de réalisation, l'interface de 10 communication 9 met en oeuvre un protocole de communication sans fil, par exemple de type conforme à la norme IEEE 802.11 / WIFI. Les modules d'exécution 3, 5, 7 se présentent sous la forme de boîtiers. Le système de modules d'exécution comprend en outre un module portail 11. Le module portail 11 et les modules d'exécution 3, 5, 7 communiquent 15 grâce aux liaisons de communication 13, 15, 17 respectivement. Le module portail 11 permet la mise en oeuvre d'un protocole de communication sans fil, par exemple de type conforme à la norme IEEE 802.11 / WIFI. Le module portail 11 pourrait également être utilisé pour connecter le système de modules d'exécution à un autre système de module d'exécution similaire. 20 Le système de modules d'exécution comprend en outre une interface de configuration 19. Les modules d'exécution 3, 5 et 7 communiquent avec l'interface de configuration 19 par l'intermédiaire du module portail 11 dans ce mode de réalisation. Le module portail 11 et l'interface de configuration 19 communiquent grâce à une 25 liaison de communication 21. Les modules d'exécution 3, 5, 7, le module portail 11 et l'interface de configuration 19 comprennent chacun une unité de contrôle électronique permettant ainsi le traitement de données par un système de traitement de données. Selon un autre mode de réalisation, les modules d'exécution 3, 5, 7 et 30 l'interface de configuration 19 pourraient communiquer directement, sans module portail 11. La liaison de communication 21 comprend par exemple une interface mettant en oeuvre un protocole de communication sans fil, par exemple de type conforme à la norme IEEE 802.11 / WIFI, de type conforme à la norme réseau UMTS 35 ou de type conforme à toute autre norme réseau. 3038401 8 L'interface de configuration 19 peut notamment être réalisée comme une interface Web hébergée sur un serveur et accessible à distance ou localement par un terminal de type ordinateur fixe ou terminal portable tel qu'un ordinateur portable, une tablette ou un ordiphone. 5 L'interface de configuration 19 permet à l'utilisateur de configurer le système de modules d'exécution. L'interface de configuration 19 permet ainsi à l'utilisateur de définir un macro-programme utilisateur 20 comprenant un ensemble de règles d'opération. L'interface de configuration 19 comprend une interface programmateur 10 31, représentée en figure 2. Les modules d'exécution 3, 5, 7, ainsi que le module portail 11, apparaissent sur l'interface programmateur 31. L'interface programmateur 31 permet de sélectionner l'un des modules d'exécution 3, 5, 7 ou le module portail 11 afin d'accéder à une fenêtre de programmation propre à chaque module d'exécution 3, 5, 15 7 ou au module portail 11. Par exemple, en figure 2, une fenêtre 33 correspondant au module portail 11 est ouverte, dénommée « Gateway0 ». Une fenêtre 35 correspondant au module d'exécution 7, dénommée « Led00 », est également ouverte. Les fenêtres 33, 35 comprennent chacune une première sous-fenêtre 20 33a, 35a respectivement, dans lesquelles l'utilisateur peut définir un programme utilisateur comprenant des règles d'opération, grâce à un éditeur de texte. La sous-fenêtre 33a permet de définir des règles d'opération concernant le module portail 11. La sous-fenêtre 35a permet de définir des règles d'opération concernant le module d'exécution 7. 25 Chacune des fenêtres 33, 35 comprennent également une deuxième sous-fenêtre 33b, 35b respectivement, dénommées ici « Help ». Les deuxièmes sous-fenêtres 33b, 35b comprennent chacune un menu déroulant dénommé « TBrix » permettant de sélectionner l'un des modules d'exécution 3, 5, 7 ou le module portail 11 à propos duquel l'utilisateur souhaite définir une règle d'opération. 30 Les deuxièmes sous-fenêtres 33b, 35b comprennent en outre un menu déroulant dénommé « Variables », permettant de sélectionner une variable représentative à propos de laquelle l'utilisateur souhaite définir une règle d'opération. Par exemple, une première variable représentative VR1 est dénommée « input1 », et est destinée à être définie par l'utilisateur. La variable représentative 35 VR1 peut correspondre à un état de fonctionnement d'un module d'exécution, par exemple à l'état de fonctionnement du module d'exécution 5, actionneur d'un 3038401 9 ventilateur ou du module d'exécution 7, actionneur d'une LED. Un état de fonctionnement du module d'exécution 5 ou du module d'exécution 7 peut être soit l'état de marche soit l'état d'arrêt. Une deuxième variable représentative est par exemple dénommée 5 « te m peratu re », et correspond à des mesures de grandeurs physiques réalisées par le module d'exécution 3 capteur de température. Selon d'autres modes de réalisation, les variables représentatives peuvent correspondre à des mesures de grandeurs physiques réalisées par d'autres types de capteur, par exemple, des capteurs de luminosité, d'humidité, etc. 10 Une troisième variable représentative VR3 est par exemple dénommée « temps », et correspond à des mesures de grandeurs physiques réalisées par une horloge ou par un chronomètre. Les deuxièmes sous-fenêtres 33b, 35b comprennent également un menu déroulant dénommé « Operations », permettant de sélectionner une opération 15 préprogrammée à exécuter en fonction d'une condition définie par l'utilisateur. Des opérations préprogrammées peuvent avoir été programmées préalablement à la configuration du système de modules d'exécution par l'utilisateur. Des opérations préprogrammées peuvent avoir été programmées par le fabricant du système de modules d'exécution préalablement à sa vente. Des opérations 20 préprogrammées peuvent être issues d'un téléchargement à partir d'un réseau, par exemple, le réseau internet. L'utilisateur peut ainsi définir des règles d'opération. En figure 2, trois exemples de règles d'opération R1, R2, R3 ont été décrites. Une règle d'opération, par exemple la règle d'opération R1, comprend une 25 condition Cl définissant un critère de test et une opération Al correspondante devant être réalisée lorsque le critère de test de la condition Cl est rempli. La règle d'opération R1 est à appliquer par le module portail 11. Les règles d'opération R2 et R3 comprennent des éléments similaires désignés par la suite par les mêmes références que les éléments de R1, dont le chiffre 30 « i» est remplacé par le chiffre « 2)> ou « 3 » respectivement. Les règles d'opération R2 et R3 ont un fonctionnement similaire à la règle d'opération Ri. Les règles d'opération R2 et R3 sont à appliquer par le module d'exécution 7. Les conditions Cl, C2, C3 sont définies ici en fonction d'une variable représentative, d'une valeur seuil à laquelle la variable représentative sera comparée 35 et d'un critère de test. 3038401 10 Les règles d'opération R1, R2, R3 comprennent également chacun au moins une opération Al, A2, A3 respectivement, à réaliser si les conditions Cl, C2 ou C3 respectivement sont remplies. À titre d'exemple, il est possible de définir de façon simple une règle 5 d'opération Ri. La condition Cl est définie par la variable représentative VR2, « temperature », que l'utilisateur a sélectionné dans le menu déroulant « Variables », par une valeur seuil de « 20 », et par le critère de test « > », signifiant « supérieur ». L'utilisateur peut ensuite définir l'opération Al qu'il souhaite voir se 10 réaliser lorsque la condition Cl est remplie. L'utilisateur sélectionne une opération à réaliser par le module portail 11. Dans cet exemple, l'opération est définie en fonction du module d'exécution 7, « Led00 » et en fonction d'une variable représentative VR4 de l'état de fonctionnement du module d'exécution 7. 15 L'opération Al définie est donc d'envoyer au module d'exécution 7 la valeur « on » de la variable représentative VR4. Ainsi, la règle d'opération R1 peut se lire : « si la mesure de température réalisée par le module d'exécution 3 capteur de température reçue est supérieure à la valeur 20, on envoie la valeur ON au module d'exécution 7» 20 Il est ainsi possible de définir des règles multiples concernant le système de modules d'exécution 3, 5, 7. De la même manière, la règle d'opération R2, appliquée au module d'exécution 7 se lit « si la valeur de la variable représentative VR4 reçue, dénommée « inputl », est égale à « ON », on allume la LED ». 25 De la même manière, la règle d'opération R3, appliquée au module d'exécution 7 se lit « si la valeur de la variable représentative VR4 reçue, dénommée « inputl », est égale à « OFF », on éteint de la LED ». Les règles d'opération R1, R2, R3 peuvent alors être envoyées vers le module portail 11 et les modules d'exécution 3, 5, 7 par le bouton 32. Le module 30 portail 11 peut ensuite envoyer à chaque module d'exécution 3, 5, 7 le programme utilisateur le concernant. Un bouton 34 permet de télécharger dans l'interface de configuration les programmes présents dans le module portail 11 et/ou les modules d'exécution 3, 5, 7. La barre 36 indique l'adresse réseau vers laquelle on envoie les règles 35 d'opération, ou depuis laquelle on télécharge les règles d'opération présentes dans le 3038401 11 système de modules d'exécution. Dans ce mode de réalisation, il s'agit de l'adresse réseau du module portail 11. L'interface de configuration 19 comprend en outre une interface de commande 37 et un éditeur d'interface de commande 39. 5 L'éditeur d'interface de commande 39 est représenté en figure 3. L'éditeur d'interface de commande 39 comprend une fenêtre 41, dénommée « boîte à outils » comprenant une liste de type d'éléments d'interaction 44 permettant à l'utilisateur de définir des interactions d'interface. On entend par élément d'interaction, tout type de boutons, de curseurs, etc, avec lesquels l'utilisateur peut 10 interagir. On entend par interaction d'interface une interaction entre l'utilisateur et l'interface de commande. Une interaction d'interface peut par exemple être une action de l'utilisateur de cliquer sur un bouton ou de déplacer un curseur. Les interactions d'interfaces se produisent donc entre l'utilisateur et l'interface de configuration 19 et plus particulièrement l'interface de commande 37, représentée en 15 figure 4. Les interactions d'interfaces correspondent à la détermination et/ou à la modification par l'utilisateur de règles d'opération. L'éditeur d'interface de commande 39 comprend également une fenêtre 43, dénommée « Propriétés ». La fenêtre 43 affiche les différents paramètres d'un élément d'interaction préalablement sélectionné. La fenêtre 43 permet en outre de 20 modifier les paramètres de l'élément d'interaction sélectionné voir de les interfacer avec les valeurs issues des TBRIX. L'éditeur d'interface de commande 39 est agencé pour programmer les éléments d'interaction 44 choisis. En sélectionnant un élément d'interaction, on peut ouvrir une fenêtre de 25 programmation. Par exemple, en figure 3, une fenêtre 45 de programmation du l'élément d'interaction dénommé « Beton() » est ouverte. La fenêtre 45 comprend une première sous-fenêtre 45a, dans laquelle l'utilisateur peut définir des règles d'opération concernant l'élément d'interaction « Button0 ». L'élément d'interaction « Button0 » est un bouton. La sous-fenêtre 45a est similaire aux sous-fenêtres 33a et 30 35a. La définition des règles d'opération concernant les éléments d'interface 44 est réalisée de la même manière que la définition de règles d'opération concernant les modules d'exécution 3, 5, 7. La fenêtre 45 comprend une deuxième sous-fenêtre 45b dénommée « Help », similaire aux sous-fenêtres 33b et 35b. Le fonctionnement de la deuxième 35 sous-fenêtre 45b est similaire au fonctionnement des deuxièmes sous-fenêtres 33b, 35b. 3038401 12 La première sous-fenêtre 45a comprend un programme utilisateur comportant une règle d'opération R4. La règle d'opérationR4 comprend une condition C4 et une opération A4 à réaliser si la condition C4 est remplie. La règle d'opération R4 est définie de façon similaire aux règles d'opération R1, R2 et R3. 5 La condition A4 est définie par une interaction entre l'utilisateur et l'interface de configuration 19. Par exemple, la condition C4 correspond à la réalisation de l'interaction « Click ». La règle d'opération R4 se lit « si l'interaction « Click » est réalisée, alors on envoie la valeur ON de la variable représentative VR4 au module d'exécution 7 ». 10 La règle d'opération R4 peut être chargée vers le module portail 11 ou l'un des modules d'exécution 3, 5 ou 7 par le bouton 32. Le bouton 34 permet de télécharger dans l'interface de configuration la définition d'interface préexistante et les programmes utilisateur présents dans le module portail 11 et/ou les modules d'exécution 3, 5, 7, permettant d'éditer 15 l'interface de commande. La barre 36 indique l'adresse réseau vers laquelle on envoie les règles d'opération, ou depuis laquelle on télécharge les règles d'opération présentes dans le système de module d'exécution. Dans ce mode de réalisation, il s'agit de l'adresse réseau du module portail 11. 20 L'interface de commande 37, représentée en figure 4, comprend les boutons 44 choisis et programmés dans l'éditeur d'interface de commande 39. Les boutons 44 de l'interface de commande peuvent également avoir été programmés antérieurement et être téléchargés à partir du module portail 11. Dans un autre mode de réalisation, les boutons 44 de l'interface de commande peuvent également avoir 25 été téléchargés à partir de l'un ou des modules d'exécution 3, 5, 7. Les boutons 44 permettent à l'utilisateur d'interagir avec le système de modules d'exécution. Grâce aux boutons 44, l'utilisateur peut en effet définir ou modifier une règle d'opération concernant un module d'exécution. L'interface de configuration permet donc de définir au moins un 30 programme utilisateur, composé des règles d'opération R1, R2, R3, R4 définies dans l'interface de configuration 19. L'interface de configuration 19 est affichée sur un terminal de type ordinateur fixe ou terminal portable tel qu'un ordinateur portable, une tablette ou un ordiphone (non représenté). 35 Le macro-programme utilisateur 20 est programmé dans un code source, par exemple en langage Java ou C. 3038401 13 Lors de l'envoi des programmes utilisateur vers le module portail 11 et les modules d'exécution 3, 5, 7, les programmes utilisateur sont compilés dans un code intermédiaire. On entend par code intermédiaire un code indépendant d'un module d'exécution ou de toute plateforme matérielle. On entend plus 5 particulièrement par code intermédiaire un programme compilé dans un code exécutable par une machine virtuelle, par exemple le « bytecode ». Les programmes utilisateur dans le code intermédiaire sont ensuite envoyés vers le module portail 11 et/ou l'au moins un module d'exécution 3, 5, 7 concerné. 10 Comme représenté en figure 5, chaque module d'exécution 3, 5, 7 et le module portail 11 exécute une machine virtuelle 51 qui elle-même exécute le code intermédiaire issu de la compilation du macro-programme utilisateur 20. Lorsqu'un module d'exécution 3, 5, 7 ou le module portail 11 reçoit un programme utilisateur dans un code intermédiaire, celui-ci est transmis vers la 15 machine virtuelle 51 qui l'exécute, pilotant ainsi le module d'exécution 3, 5 ou 7 ou le module portail 11. Le programme utilisateur en code intermédiaire peut ainsi être remplacé, modifié en cours de fonctionnement du système de modules d'exécution, sans nécessité de redémarrer ou de reprogrammer les modules d'exécution 3, 5, 7 et/ou le module portail 11 concerné(s). 20 L'utilisation d'une machine virtuelle 51 permet de s'affranchir des contraintes liées au choix du langage utilisé pour le code source. En effet, le code source est compilé dans un code intermédiaire exécutable par la machine virtuelle quelque soit le langage du code source utilisé. En outre, les programmes utilisateur sont envoyés vers le module portail 25 11 et/ou au moins un module d'exécution 3, 5, 7 concerné, dans le code source. Ainsi, si un utilisateur n'a pas accès au serveur sur lequel ont été définis et stockés les programmes utilisateur en code source, il pourra, sur requête, récupérer le code source à partir du module portail 11 et/ou au moins un module d'exécution 3, 5, 7 concerné. L'utilisateur pourra ainsi modifier les programmes utilisateur. Grâce à 30 ces dispositions, le système de modules d'exécution est souple et son utilisation est facilitée. Les modules d'exécution 3, 5, 7, le module portail 11 et l'interface de configuration 19 comprennent en outre chacun un micro-processeur agencé pour exécuter au moins un programme utilisateur les concernant. 35 Ainsi, l'utilisation du système de modules d'exécution comprend une pluralité d'étapes, représentées en figure 6. 3038401 14 Dans une étape El, on définit un état du système par l'intermédiaire de l'interface programmateur 31. On active ou non des modules d'exécution 3, 5, 7 et le module portail 11. On définit également les liaisons de communication 9, 13, 15, 17 entre ces modules d'exécution 3, 5, 7 et entre chacun des modules d'exécution 3, 5, 7 5 le module portail 11. Dans une étape E2, on définit les règles d'opération R1, R2, R3 applicables aux modules d'exécution 3, 5, 7 et au module portail 11. Dans une étape E3, on sélectionne des boutons 44, correspondant chacun à une interaction entre l'utilisateur et l'interface de configuration 19. On 10 définit également les règles d'opération applicables aux boutons 44. Dans une étape E4, on charge les programmes utilisateur vers le module portail 11 et les modules d'exécution 3, 5, 7. Dans une étape E5 l'ensemble du système de modules d'exécution exécute le macro-programme utilisateur. 15 Optionnellement, à la place des étapes El, E2 et E3, dans une étape El' on se connecte au système de module d'exécution, puis télécharge au moins un programme utilisateur depuis les modules d'exécution 3, 5, 7 et le module portail 11 vers l'interface de configuration 19. Optionnellement, il est possible pour l'utilisateur de modifier le programme utilisateur ainsi téléchargé. 20 Optionnellement dans une étape E6, après l'étape E5, l'utilisateur peut réaliser une interaction avec l'interface de configuration 19 et plus particulièrement avec au moins un des éléments d'interaction 44 de l'interface de commande 37. Dans une étape E7, l'opération correspondant à l'interaction d'interface est réalisée par le module d'exécution 3, 5, 7 ou le module portail 11 correspondant, 25 en cours de fonctionnement du système grâce à la machine virtuelle Si. Bien entendu, la présente invention ne se limite pas au mode de réalisation décrit et représenté, fourni à titre d'exemple illustratif et non limitatif. 30 REVENDICATIONS1. Procédé de configuration d'un système (1) de modules d'exécution (3, 5, 7) interconnectés, chacun des modules d'exécution (3, 5, 7) du système (1) de modules d'exécution (3, 5, 7) comportant un machine virtuelle et au moins un actionneur et/ou un capteur et/ou une interface utilisateur et/ou un système de traitement des données, comprenant les étapes consistant à: disposer d'une interface de configuration (31) de modules d'exécution (3, 5, 7) interconnectés, indiquant la nature de chacun des modules d'exécution (3, 5, 7), l'état de chacun des modules d'exécution (3, 5, 7) sur la base d'une variable représentative (VR1, VR2, VR3, VR4) d'un état de fonctionnement de l'au moins un module d'exécution (3, 5, 7) ou une mesure d'une grandeur physique par un capteur de l'au moins un module d'exécution (3, 5), et au moins une liaison entre les modules d'exécution ; disposer d'au moins un macro-programme utilisateur (20) comprenant au moins un programme utilisateur ; définir au moins un programme utilisateur du macro-programme utilisateur (20) exécutable sur un module d'exécution déterminé comprenant au moins une règle d'opération (R1, R2, R3, R4) définissant au moins une opération (A1, A2, A3, A4) à réaliser, la réalisation de ladite au moins une opération (A1, A2, A3, A4) correspondant à la génération d'un ordre de commande à destination d'un actionneur et/ou d'une interface utilisateur et/ou d'un système de traitement de données de ce module d'exécution de ce module d'exécution, et/ou à destination d'au moins un module d'exécution (3, 5, 7) du système de modules d'exécution (3, 5, 7) interconnectés ; envoyer l'au moins un programme utilisateur vers au moins un module d'exécution déterminé (3, 5, 7) par l'intermédiaire d'au moins une liaison de communication, l'au moins un module d'exécution étant agencé pour exécuter le programme utilisateur. 2. Procédé de configuration selon la revendication 1, dans lequel l'opération est réalisée en fonction d'au moins une condition (Cl, C2, C3, C4) déterminée par une interface de configuration (19) ou par un ordre de commande en provenance d'au moins un module d'exécution (3, 5, 7) du système de modules d'exécution sur la base d'une valeur de la variable représentative (VR1, VR2, VR3, VR4) d'un état de fonctionnement d'au moins un module d'exécution (3, 5, 7) du système (1) de modules d'exécution (3, 5, 7), ou d'une mesure d'une grandeur physique par un capteur d'au moins un module d'exécution (3, 5, 7). - 3038401 16 3. Procédé de configuration selon la revendication 2, dans lequel l'au moins un module d'exécution est agencé pour évaluer la réalisation de l'au moins une condition (Cl, C2, C3, C4) de l'au moins une règle d'opération (R1, R2, R3, R4) en fonction de l'au moins une valeur de la variable représentative (VR1, VR2, VR3, VR4), et pour réaliser l'au moins une 5 opération (A1, A2, A3, A4) en fonction de l'évaluation la réalisation de l'au moins une condition (Cl, C2, C3, C4). 4. Procédé de configuration selon l'une des revendications précédentes, dans lequel l'au moins une opération (A1, A2, A3, A4) est réalisée sur la base de réception de 10 données locales ou en fonction de données en provenance d'au moins un module d'exécution (3, 5, 7) du système (1) de modules d'exécution interconnectés. 5. Procédé de configuration selon la revendication 4, dans lequel l'au moins un module d'exécution est agencé pour évaluer la réalisation de l'au moins une opération (A1, 15 A2, A3, A4) par le système de traitement de données. 6. Procédé de configuration selon l'une des revendications précédentes, comprenant une étape de définition d'un état du système de modules d'exécution (3, 5, 7), dans laquelle on active des modules d'exécution (3, 5, 7) déterminés et on définit des 20 liaisons de communication déterminées (13, 15, 17). 7. Procédé de configuration selon l'une des revendications précédentes, comprenant au moins une étape de configuration d'une interface de commande (37) dans laquelle on définit la correspondance entre au moins une interaction d'interface et la 25 détermination de l'au moins une condition (Cl, C2, C3, C4) et/ou de l'au moins une opération (A1, A2, A3, A4). 8. Procédé de configuration selon la revendication 7, comprenant une étape dans laquelle, suite à une interaction d'interface, on envoie un programme utilisateur ainsi 30 modifié vers l'au moins un module d'exécution (3, 5, 7). 9. Procédé de configuration selon l'une des revendications précédentes, comprenant une étape de mise en oeuvre d'une communication sans fil grâce à un module portail (11) entre l'interface de configuration et l'au moins un module d'exécution (3, 5, 7) 35 ou bien entre deux modules d'exécution (3, 5, 7) du système de modules d'exécution. 10. Procédé de configuration selon l'une des revendications précédentes, comprenant une étape de mise en oeuvre d'une connexion sans fil grâce à un module portail 3038401 17 (11) entre le système (1) de modules d'exécution et un système externe de modules d'exécution. 11. Procédé de commande d'au moins un module d'exécution (3, 5, 7) d'un 5 système (1) de modules d'exécution interconnectés, l'au moins un module d'exécution (3, 5, 7) comportant au moins un actionneur et/ou un capteur et/ou une interface utilisateur et/ou un système de traitement des données, comprenant les étapes consistant à : A. disposer d'au moins un programme utilisateur comprenant au moins une règle d'opération (R1, R2, R3, R4) définissant au moins une 10 opération (A1, A2, A3, A4) à réaliser, la réalisation de ladite au moins une opération (A1, A2, A3, A4) correspondant à la génération d'un ordre de commande à destination d'un actionneur et/ou d'une interface utilisateur et/ou d'un système de traitement de données de ce module d'exécution, et/ou à destination d'au moins un module d"exécution (3, 15 5, 7) du système de modules d'exécution (3, 5, 7) interconnectés ; puis B. exécuter l'au moins un programme utilisateur. 12. Procédé de commande selon la revendication 11, dans lequel l'opération est réalisée en fonction d'au moins une condition (Cl, C2, C3, C4) déterminée par une 20 interface de configuration ou par un ordre de commande en provenance d'au moins un module d'exécution du système de modules d'exécution sur la base d'une valeur de la variable représentative (VR1, VR2, VR3, VR4) d'un état de fonctionnement d'au moins un module d'exécution (3, 5, 7) du système (1) de modules d'exécution (3, 5, 7), ou d'une mesure d'une grandeur physique par un capteur d'au moins un module d'exécution (3, 5, 7). 25 13. Procédé de commande selon la revendication 12, dans lequel l'étape B comprend les sous-étapes consistant à : - évaluer la réalisation de l'au moins une condition (C1, C2, C3, C4) de l'au moins une règle d'opération (R1, R2, R3, R4) en fonction de 30 l'au moins une valeur de la variable représentative (VR1, VR2, VR3, VR4) ; puis - réaliser l'au moins une opération (A1, A2, A3, A4) en fonction de l'évaluation la réalisation de l'au moins une condition (Cl, C2, C3, C4). 35 14. Procédé de commande selon l'une des revendications 11 à 13, dans lequel l'au moins une opération (A1, A2, A3, A4) est réalisée sur la base de réception de données 30-38401 18 locales ou en fonction de données en provenance d'au moins un module d'exécution (3, 5, 7) du système de modules d'exécution interconnectés. 15. Procédé de commande selon l'une des revendications 11 à 14, dans lequel 5 l'au moins un module d'exécution est agencé pour évaluer la réalisation de l'au moins une opération (A1, A2, A3, A4) par le système de traitement de données. 16. Système de modules d'exécution interconnectés comportant une multitude de modules d'exécution (3, 5, 7), chacun comprenant une unité de contrôle électronique, le 10 système de modules d'exécution interconnectés comprenant en outre : au moins une interface de configuration (19) agencée pour définir au moins un programme utilisateur comportant au moins une règle d'opération (R1, R2, R3, R4), - au moins un premier module d'exécution parmi la multitude de modules 15 d'exécution (3, 5, 7) agencé pour interpréter et exécuter l'au moins un programme utilisateur, - au moins un deuxième module d'exécution parmi la multitude de modules d'exécution (3, 5, 7) agencé pour communiquer avec l'au moins un premier module par une interface de communication, 20 l'au moins une règle d'opération (R1, R2, R3, R4) définissant au moins une opération (A1, A2, A3, A4) à réaliser, la réalisation de ladite au moins une opération (A1, A2, A3, A4) correspondant à la génération d'un ordre de commande à destination de l'au moins un premier module d'exécution et/ou de l'au moins un deuxième module d'exécution. 25 17. Système de modules d'exécution interconnectés selon la revendication 16, dans lequel l'opération est réalisée en fonction d'au moins une condition (C1, C2, C3, C4) déterminée sur la base de la variable représentative (VR1, VR2, VR3, VR4) d'un état de fonctionnement ou d'une mesure d'une grandeur physique par un capteur de l'au moins un 30 premier et/ou de l'au moins un deuxième module d'exécution (3, 5, 7) parmi la multitude de modules d'exécution (3, 5, 7). 18. Système de module d'exécution selon l'une des revendications 16 ou 17, comprenant un module portail (11) permettant de réaliser un envoi et/ou une réception des 35 données à destination et/ou en provenance du système de modules d'exécution (3, 5, 7).