FR 2811183 A1 20020104 FR 0008567 A 20000630 1 2811183 La présente invention concerne un système de communication d'un équipement d'automatisme sur un réseau global de type Internet, Intranet ou Extranet, permettant d'implémenter une fonction serveur WEB et une fonction client WEB à l'intérieur d'une application d'automatisme, grâce à au moins un bloc fonction WEB pouvant interagir avec le programme de l'application d'automatisme. La présente invention concerne également un équipement d'automatisme intégrant un tel système de communication ainsi qu'un outil de programmation capable de paramétrer des blocs fonction WEB. Ce système de communication peut s'appliquer à toute application appartenant au domaine des automatismes industriels, des automatismes du bâtiment ou du contrôle/commande des réseaux électriques de distribution. Sous le terme "équipement d'automatisme", on désignera ci-après un automate programmable, une station de contrôle/commande, une commande numérique ou tout équipement pouvant contenir et dérouler un programme contrôlant une application d'automatisme. Il est connu qu'un tel équipement d'automatisme puisse intégrer un serveur WEB de façon à pouvoir échanger des données relatives à cet équipement d'automatisme avec un client WEB distant, tel qu'un navigateur, connecté à un réseau global de type Internet, Intranet ou Extranet, conforme à la norme TCP/IP, appelé ci- après réseau TCP/IP. Ces fonctionnalités sont décrites notamment dans les documents WO9913418, US6061603 et US5805442. Les données relatives à l'équipement d'automatisme sont alors mises en forme et expédiées par le serveur WEB, par exemple sous forme de pages HTML ou XML. Il est également possible qu'un serveur WEB implanté dans un équipement d'automatisme charge un programme, généralement appelé Applet, dans un client WEB, lequel programme se déroule dans le client WEB de façon à échanger avec le serveur WEB de l'équipement d'automatisme des requêtes transportées par le protocole TCP/IP. Cependant, ces solutions ne permettent pas au concepteur d'une application d'automatisme de maîtriser les données échangées sur le réseau TCP/IP. Un équipement d'automatisme déroule en effet un programme, appelé programme application, dans le but de commander et de contrôler une application d'automatisme, notamment au moyen d'entrées et de sorties. Par contre, le concepteur de l'application d'automatisme n'a pas la possibilité à partir du programme application, de créer une communication client-serveur sur le réseau TCP/IP. Or, dans certains cas, il serait souhaitable de pouvoir, directement à partir d'un programme application, communiquer sur un réseau TCP/IP afin de recevoir des commandes ou des requêtes de la part d'un client WEB distant et de répondre à ces 2 2811183 requêtes, en maîtrisant les données échangées sur le réseau TCP/IP. De plus, il serait intéressant qu'un programme application puisse se comporter comme un client WEB actif et être capable d'envoyer des requêtes et de recevoir des données d'un serveur WEB distant. On peut ainsi mettre en place une communication sur un réseau TCP/IP entre le programme d'une application d'automatisme et un serveur WEB / client WEB distant ou même entre deux programmes d'applications d'automatisme distantes. Pour cela, I'invention décrit un système de communication d'un équipement d'automatisme sur un réseau TCP/IP qui comprend des moyens d'échanges pour implémenter une fonction serveur WEB ou une fonction client WEB à l'intérieur d'un programme application d'une application d'automatisme chargé dans l'équipement d'automatisme, ces moyens d'échanges comportant au moins un bloc fonction WEB qui peut interagir avec le programme application, celui-ci pouvant être écrit dans un ou plusieurs langages conformes à la norme IEC1131-3. Le système de communication comprend au moins un bloc fonction WEB réception pour implémenter une fonction serveur WEB et/ou au moins un bloc fonction WEB émission pour implémenter une fonction client WEB dans un programme application. Le système de communication comprend également une interface HTTP frontale dans l'équipement d'automatisme capable de faire d'une part l'acheminement des messages provenant du réseau TCP/IP vers un bloc fonction WEB réception identifié par une adresse URL, et d'autre part l'acheminement des messages provenant d'un bloc fonction WEB émission vers une adresse URL sur le réseau TCP/IP. L'invention décrit également un équipement d'automatisme intégrant un tel système de communication ainsi qu'un outil de programmation permettant à un concepteur d'une application d'automatisme de visualiser, d'insérer, de supprimer, de modifier et de paramétrer au moins un bloc fonction WEB intégré dans un programme application. D'autres caractéristiques et avantages vont apparaître dans la description détaillée qui suit en se référant à un mode de réalisation donné à titre d'exemple et représenté par les dessins annexés sur lesquels: - la figure 1 représente un premier exemple de communication d'un équipement d'automatisme suivant un système de communication conforme à l'invention avec un appareil client, - la figure 2 représente un deuxième exemple de communication dans lequel un équipement d'automatisme communique avec un équipement à la fois client et serveur, 3 2811183 - la figure 3 montre un troisième exemple de communication entre deux équipements d'automatisme, - les figures 4 et 5 détaillent respectivement un bloc fonction WEB réception et un bloc fonction WEB émission dans une représentation de type schémas à contacts. La figure 1 montre un équipement d'automatisme 10 communiquant avec un appareil 40 sur un réseau TCP/IP 50. L'équipement d'automatisme 10 comprend une interface HTTP 15 frontale et un programme application 20. L'appareil 40 comprend un module client 41, qui peut être un navigateur WEB, capable d'émettre sur le réseau TCP/IP 50 des requêtes 51 conformes au protocole HTTP, contenant une adresse URL destinataire et de recevoir des réponses 52 conformes au protocole HTTP. Le contenu d'une requête HTTP 51 ou d'une réponse HTTP 52 peut être codé sous différentes formes, telles que par exemple une trame XML, une trame URL encodé ("URL encoded"), une trame HTML, WML, SOAP ou d'autres formats ASCII ou binaires. La figure 2 montre un équipement d'automatisme 10 communiquant d'une part avec un module client WEB 31 capable d'émettre sur le réseau TCP/IP 50 des requêtes HTTP 51 et de recevoir des réponses HTTP 52, et d'autre part avec un module serveur WEB 32 capable de recevoir des requêtes HTTP 51 en provenance du réseau TCP/IP 50 et de renvoyer des réponses HTTP 52. Les modules client WEB 31 et serveur WEB 32 peuvent éventuellement appartenir à un même équipement 30 connecté au réseau TCP/IP 50 et comportant, par exemple, une application ERP (Enterprise Resource Planning). La figure 3 montre deux équipements d'automatisme 10,10' qui communiquent entre eux sur un réseau TCP/IP 50. Chaque équipement d'automatisme 10,10' comprend une interface HTTP 15,15' frontale et un programme application 20,20'. Un programme application 20,20' est chargé de faire du contrôle/commande d'une application d'automatisme au moyen d'entrées/sorties pilotées par ce programme application. Il est élaboré par un concepteur et est écrit dans un ou plusieurs langages intégrant notamment des schémas à contacts (LD), des diagrammes fonctionnels en séquence (SFC), des listes d'instructions (IL), de la programmation structurée (ST) ou des blocs fonctions (BF). Ces langages sont de préférence conformes à la norme IEC1131-3, de façon à faciliter la programmation par un concepteur automaticien, ne maîtrisant pas forcément les langages informatiques. 4 2811183 Un des objets de l'invention est d'intégrer dans un programme application 20 (respectivement 20') des moyens d'échanges permettant au concepteur du programme application d'ouvrir une communication sur le réseau TCP/IP 50. Pour cela, le système de communication décrit dans l'invention comprend au moins un bloc fonction WEB 21,22 (respectivement 21',22') configurable et pouvant interagir avec le programme application (respectivement 20') d'un équipement d'automatisme 10 (respectivement 10'). Selon un mode de réalisation préféré, on peut envisager deux types distincts de blocs fonction WEB: un premier type est appelé bloc fonction WEB réception 21 (respectivement 21') et permet d'implémenter une fonction serveur WEB dans le programme application 20 (respectivement 20') et un second type est appelé bloc fonction WEB émission 22 (respectivement 22') et permet d'implémenter une fonction client WEB dans le programme application 20 (respectivement 20'). Ainsi, grâce à un bloc fonction WEB réception 21, le programme application 20 d'un équipement d'automatisme 10 est en attente d'une requête HTTP 51 émanant d'un client WEB, tel qu'un module client WEB 31, 41 ou un bloc fonction WEB émission 22' d'un programme application 20' d'un équipement d'automatisme 10', et renvoie une réponse HTTP 52 à cette requête 51. Grâce à un bloc fonction WEB émission 22, le programme application 20 d'un équipement d'automatisme 10 peut prendre l'initiative d'émettre une requête 51 vers un module serveur WEB 32 ou vers un bloc fonction WEB réception 21' d'un programme application 20', et attend une réponse HTTP 52 à cette requête 51. Selon l'invention, les blocs fonction WEB sont intégrés dans le programme application 20 qui peut être écrit dans un ou plusieurs langages conformes à la norme IEC1131-3. Les blocs fonction WEB sont inspirés des blocs fonction de communication définis dans la norme IEC1131-5. Ainsi, dans les figures 4 et 5, un bloc fonction WEB réception 21 et un bloc fonction WEB émission 22 sont symbolisés graphiquement avec le formalisme d'un langage de type schémas à contacts (LD). Ils comportent un nom de service ou identification 214,224 et sont dotés de paramètres d'entrée 212,222 et de paramètres de sortie 213,223 qui sont connectés logiquement avec des éléments du programme application 20, telles que les variables 215,216,225,226. Les paramètres d'entrée 212,222 correspondent à des ordres ou à des commandes donnés par le programme application 20 au bloc fonction WEB 21,22 et les paramètres de sortie 213,223 correspondent à des comptes-rendus ou à des résultats donnés par le bloc fonction WEB 21,22 au programme application 20. 2811183 En référence à un exemple de réalisation présenté en figure 4, les paramètres d'entrée 212 d'un bloc fonction WEB réception 21 comportent: une entrée de type booléen RESP ("Respond") qui, au moment du passage à l'état VRAI, provoque l'envoi d'une réponse 52 à une requête 51. Dans lI'exemple de la figure 4, cette entrée est connectée à un contact d'une variable du programme application 20 appelée SEND ANSWER 215, de telle sorte l'état de l'entrée RESP du bloc fonction WEB 21 est égal à l'état de cette variable SEND ANSWER, - une entrée de type booléen EN_R ("Enable Receive") qui, lorsqu'elle est à I'état VRAI, valide la prise en compte de la réception d'une requête par le bloc fonction WEB 21, - une ou plusieurs entrées IN_1 à IN_n contenant différents paramètres qui seront renvoyés dans la réponse 52 vers le client WEB émetteur de la requête 51. De même, les paramètres de sortie 213 d'un bloc fonction WEB réception 21 comportent: - une sortie de type booléen NDR ("New Data Received") qui, au moment du passage à l'état VRAI, signale au programme application 20 qu'une requête 51 vient d'être reçue par le bloc fonction WEB 21. Dans l'exemple de la figure 4, cette sortie est connectée à la bobine d'une variable du programme application 20 appelée REQUEST RECEIVED 216, de telle sorte l'état de cette variable REQUEST RECEIVED est égal à l'état de la sortie NDR du bloc fonction WEB 21, - une sortie de type booléen ERROR indiquant que le bloc fonction WEB 21 est en erreur, - une sortie de type entier STATUS donnant le dernier état valide du bloc fonction WEB 21, une ou plusieurs sorties OUT_1 à OUTn qui sont chargées avec des paramètres contenus dans la requête 51. En référence à un exemple de réalisation présenté en figure 5, les paramètres d'entrée 222 d'un bloc fonction WEB émission 22 comportent: une entrée de type booléen REQ qui, au moment du passage à l'état VRAI, provoque l'envoi d'une requête 51. Dans l'exemple de la figure 5, cette entrée est connectée à un contact d'une variable du programme application 20 6 2811183 appelée START REQUEST 225, de telle sorte l'état de l'entrée REQ du bloc fonction WEB 22 est égal à l'état de cette variable START REQUEST, - une entrée de type booléen R qui permet de réinitialiser le bloc fonction WEB 22, - une ou plusieurs entrées IN_1 à IN_n contenant des paramètres qui seront envoyés dans la requête 51 vers le serveur WEB destinataire. De même, les paramètres de sortie 223 d'un bloc fonction WEB émission 22 comportent: - une sortie de type booléen NDR qui, au moment du passage à l'état VRAI, signale au programme application 20 qu'une réponse 52 à la requête 51 vient d'être reçue par le bloc fonction WEB 22. Dans l'exemple de la figure 5, cette sortie est connectée à la bobine d'une variable du programme application 20 appelée ANSWER RECEIVED 226, de telle sorte l'état de cette variable ANSWER RECEIVED est égal à l'état de la sortie NDR du bloc fonction WEB 22, - une sortie de type booléen ERROR indiquant que le bloc fonction WEB 22 est en erreur, - une sortie de type entier STATUS donnant le dernier état valide du bloc fonction WEB 22, - une ou plusieurs sorties OUT_I à OUTn qui sont chargées avec des paramètres renvoyés par le serveur WEB dans la réponse 52. Un bloc fonction WEB 21,22 comporte un code programme générique qui est commun à chaque type de bloc fonction WEB, en l'occurrence bloc fonction WEB de type réception 21 et bloc fonction WEB de type émission 22. Un bloc fonction WEB 21,22 comporte aussi des données de configuration spécifiques 219,229, qui sont par exemple stockées dans un fichier de configuration propre à chaque bloc fonction WEB. Ces données de configuration 219,229 contiennent notamment: * le nom du service ou identification qui tient lieu, dans le cas d'un bloc fonction WEB réception 21, d'adresse URL relative dans l'équipement d'automatisme 10 et qui permet à tout client WEB de l'identifier et de lui envoyer une requête, * I'adresse URL destinataire dans le cas d'un bloc fonction WEB émission 22, * le type de requête HTTP (appelé méthode HTTP) que le bloc fonction WEB 21,22 est capable d'émettre ou de recevoir (généralement des méthodes POST ou GET, mais aussi des méthodes PUT, DELETE, TRACE, OPTIONS, ...), 7 2811183 * le contenu du message ou la localisation d'un message indexé (par exemple une page HTML, un message XML, ou autres) qui sera intégré dans la réponse 52 du bloc fonction WEB réception 21, * dans le cas des données de configuration 229 d'un bloc fonction WEB émission 22, des moyens pour faire une correspondance entre d'une part les paramètres d'entrées IN_1,IN_n du bloc fonction WEB émission 22 et d'autre part des éléments d'une requête HTTP 51 (headers), des éléments d'une trame XML ou d'une trame URL encodé contenus dans une requête HTTP 51, * dans le cas des données de configuration 229 d'un bloc fonction WEB émission 22, des moyens pour faire une correspondance entre d'une part des éléments d'une réponse HTTP 52 (headers) ou des éléments d'une trame XML contenus dans une requête HTTP 52 et d'autre part les paramètres de sorties OUT_I,OUT_n du bloc fonction WEB émission 22, * dans le cas des données de configuration 219 d'un bloc fonction WEB réception 21, des moyens pour faire une correspondance entre d'une part des éléments d'une requête HTTP 51 (headers), des éléments d'une trame XML ou d'une trame URL encodé contenus dans une requête HTTP 51 et d'autre part les paramètres de sorties OUT_ 1,OUT_n du bloc fonction WEB réception 21, * dans le cas des données de configuration 219 d'un bloc fonction WEB réception 21, des moyens pour faire une correspondance entre d'une part les paramètres d'entrées IN_1,IN_n du bloc fonction WEB réception 21 et d'autre part des éléments d'une réponse HTTP 52 (headers) ou des éléments d'une trame XML contenus dans une requête HTTP 52, * le format des trames (appelé "Content Type") qu'un bloc fonction WEB sera en mesure de générer ou d'interpréter. Cet aspect est important car ainsi on autorisera la prise en compte des futures évolutions du WEB. En effet, grâce à ce paramétrage et à partir de protocoles stabilisés (HTTP et XML), il sera possible d'intégrer des librairies de données (schémas XML) de manière à pouvoir implémenter de nouveaux protocoles en évolution. La conception d'un programme application se fait habituellement grâce à un outil de programmation qui offre notamment toutes les fonctionnalités d'écriture du programme application, de chargement/déchargement dans un équipement d'automatisme et de visualisation de son déroulement dans l'équipement d'automatisme. Un des avantages de la présente invention réside dans le fait que l'intégration des blocs fonction WEB dans le 8 2811183 programme application 20 est immédiate puisque le raccordement des blocs fonction WEB aux instructions du programme application 20 se fait directement avec l'outil de programmation qui permet d'écrire ce programme application. Au moyen d'un tel outil de programmation, le concepteur d'un programme application est donc susceptible de visualiser, de modifier, d'insérer ou de supprimer des blocs fonction WEB 21,22 sans connaissance particulière autres que celles lui permettant de concevoir le programme application 20, ce qui facilitera grandement l'ouverture des communications WEB aux applications d'automatisme. L'outil de programmation peut paramétrer directement sous forme textuelle les données de configuration 219,229 des blocs fonction WEB 21,22, les rendant aussi facilement accessibles au concepteur du programme application. On peut, par exemple, envisager que les données de configuration 219,229 soient visualisables et modifiables dans une fenêtre spécifique, s'ouvrant quand le concepteur pointe sur la représentation graphique d'un bloc fonction WEB dans l'outil de programmation. De plus, I'outil de programmation peut utiliser des librairies de blocs fonction WEB préconfigurés, manipulables à partir de l'outil de programmation et offrant des jeux de blocs fonction WEB spécialisés dans un type de contenu et/ou un protocole particulier. Parmi les exemples pouvant être inclus dans de telles librairies, on peut citer: un bloc fonction serveur HTML, un bloc fonction serveur WML, un bloc fonction client ou serveur SOAP, etc.... Ainsi, ces librairies facilitent le travail d'un concepteur en lui proposant plusieurs blocs fonction préconfigurés, qu'il peut insérer et instancier rapidement dans son programme application. Quand une requête 51 est reçue par un équipement d'automatisme 10, I'interface HTTP 15 de l'équipement d'automatisme 10 I'analyse et détecte si l'adresse URL destinataire contenue dans la requête 51 correspond à l'adresse URL d'un bloc fonction WEB réception 21 de l'équipement d'automatisme 10. Si tel est le cas, I'interface HTTP 15 joue le rôle de serveur HTTP en faisant l'acheminement et en signalant au bloc fonction WEB réception 21 I'arrivée de la requête 51. L'adresse URL de l'expéditeur de la requête 51 est mémorisée pour être en mesure de renvoyer la réponse 52 qui sera élaborée par le bloc fonction WEB réception 21. Quand une requête 51 est émise par un bloc fonction WEB émission 22 d'un équipement d'automatisme 10, I'interface HTTP 15 de cet équipement d'automatisme 9 2811183 joue le rôle de client HTTP et achemine la requête vers l'adresse URL destinataire contenue dans la requête 51. Il est bien entendu que l'on peut, sans sortir du cadre de l'invention, imaginer d'autres variantes et perfectionnements de détail et de même envisager l'emploi de moyens équivalents. 2811183 REVENDICATIONS 1. Système de communication d'un équipement d'automatisme (10) sur un réseau TCP/IP (50), lequel équipement d'automatisme (10) contrôle une application d'automatisme en déroulant un programme application (20), caractérisé par le fait que le système de communication comprend: - des moyens d'échanges permettant d'implémenter une fonction serveur WEB ou une fonction client WEB à l'intérieur du programme application (20), ces moyens d'échanges comportant au moins un bloc fonction WEB (21,22) qui peut interagir avec le programme application (20), - une interface HTTP (15) dans l'équipement d'automatisme (10) capable de faire l'acheminement des messages provenant du réseau TCP/IP (50) vers un bloc fonction WEB identifié par une adresse URL, et de faire l'acheminement des messages provenant d'un bloc fonction WEB de l'équipement d'automatisme (10) vers une adresse URL sur le réseau TCP/IP (50). 2. Système de communication selon la revendication 1, caractérisé par le fait qu'il comprend au moins un bloc fonction WEB réception (21) pour implémenter une fonction serveur WEB dans un programme application (20) et/ou au moins un bloc fonction WEB émission (22) pour implémenter une fonction client WEB dans un programme application (20). 3. Système de communication selon la revendication 1 ou 2, caractérisé par le fait qu'un bloc fonction WEB (21,22) comprend un code programme générique et des données de configuration (219,229) qui sont spécifiques a chaque bloc fonction WEB. 4. Système de communication selon la revendication 3, caractérisé par le fait que les données de configuration (219,229) d'un bloc fonction WEB (21,22) incluent le format général des trames échangées par le bloc fonction WEB (21,22), le type de requête HTTP que le bloc fonction WEB (21,22) reçoit ou émet et l'adresse URL relative du bloc fonction WEB (21,22) dans l'équipement d'automatisme (10) . 5. Système de communication selon l'une des revendications précédentes, caractérisé par le fait qu'un concepteur du programme application (20) est capable 11 2811183 de configurer sous forme textuelle les données de configuration (219,229) des blocs fonction WEB (21,22) intégrés dans un programme application (20). 6. Système de communication selon l'une des revendications précédentes, caractérisé par le fait que le programme application est écrit dans un ou plusieurs langages conformes à la norme IEC1131-3. 7. Système de communication selon la revendication 6, caractérisé par le fait que les données de configuration (219) d'un bloc fonction WEB réception (21) contiennent des moyens pour faire une correspondance entre des éléments d'une requête HTTP (51) et les paramètres de sorties (OUT 1,OUT_n) du bloc fonction WEB réception (21) et pour faire une correspondance entre les paramètres d'entrées (IN_1,INn) du bloc fonction WEB réception (21) et des éléments d'une réponse HTTP (52). 8. Système de communication selon la revendication 6, caractérisé par le fait que les données de configuration (229) d'un bloc fonction WEB émission (22) contiennent des moyens pour faire une correspondance entre les paramètres d'entrées (IN_1,IN_n) du bloc fonction WEB émission (22) et des éléments d'une requête HTTP (51) et pour faire une correspondance entre des éléments d'une réponse HTTP (52) et les paramètres de sorties (OUTI,OUTn) du bloc fonction WEB émission (22). 9. Système de communication selon l'une des revendications précédentes, caractérisé par le fait que le contenu d'une requête HTTP (51) ou d'une réponse HTTP (52) est une trame XML. 10. Système de communication selon la revendication 9, caractérisé par le fait que les données de configuration (219) d'un bloc fonction WEB réception (21) contiennent des moyens pour faire une correspondance entre des éléments d'une trame XML contenus dans une requête HTTP (51) et les paramètres de sorties (OUT_1,OUTn) du bloc fonction WEB réception (21) et pour faire une correspondance entre les paramètres d'entrées (IN_1,INn) du bloc fonction WEB réception (21) et des éléments d'une trame XML contenus dans une réponse HTTP (52). 11. Système de communication selon la revendication 9, caractérisé par le fait que les données de configuration (229) d'un bloc fonction WEB émission (22) 12 2811183 contiennent des moyens pour faire une correspondance entre les paramètres d'entrées (IN_1,IN_n) du bloc fonction WEB émission (22) et des éléments d'une trame XML contenus dans une requête HTTP (51) et pour faire une correspondance entre des éléments d'une trame XML contenus dans une réponse HTTP (52) et les paramètres de sorties (OUTI 1,OUT_n) du bloc fonction WEB émission (22). 12. Système de communication selon l'une des revendications précédentes, caractérisé par le fait que le contenu d'une requête HTTP (51) est une trame URL encodé. 13. Système de communication selon la revendication 12, caractérisé par le fait que les données de configuration (219) d'un bloc fonction WEB réception (21) contiennent des moyens pour faire une correspondance entre des éléments d'une trame URL encodé contenus dans une requête HTTP (51) et les paramètres de sorties (OUT_ 1,OUTn) du bloc fonction WEB réception (21). 14. Système de communication selon la revendication 12, caractérisé par le fait que les données de configuration (229) d'un bloc fonction WEB émission (22) contiennent des moyens pour faire une correspondance entre les paramètres d'entrées (IN_1,IN_n) du bloc fonction WEB émission (22) et des éléments d'une trame URL encodé contenus dans une requête HTTP (51). 15. Equipement d'automatisme caractérisé par le fait qu'il contient un programme application qui intègre un système de communication sur un réseau TCP/IP selon l'une des revendications précédentes. 16. Outil de programmation permettant de concevoir un programme application (20) d'un équipement d'automatisme (10) écrit dans un ou plusieurs langages conformes à la norme IEC1 131-3, caractérisé par le fait que cet outil de programmation permet: - de visualiser, d'insérer, de supprimer et de modifier au moins un bloc fonction WEB (21,22) intégré dans un programme application (20), - de paramétrer sous forme textuelle les données de configuration (219,229) d'au moins un tel bloc fonction WEB (21,22). 17. Outil de programmation selon la revendication 16, caractérisé par le fait qu'il utilise des librairies de blocs fonction WEB préconfigurés, manipulables à partir de 13 2811183 l'outil de programmation et offrant des jeux de blocs fonction WEB spécialisés dans un type de contenu et/ou un protocole particulier.