{"id":11224,"date":"2026-04-07T22:04:01","date_gmt":"2026-04-07T14:04:01","guid":{"rendered":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/"},"modified":"2026-04-07T22:04:01","modified_gmt":"2026-04-07T14:04:01","slug":"state-machine-diagram-myth-buster-embedded-design","status":"publish","type":"post","link":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/","title":{"rendered":"D\u00e9mythification du diagramme d&#8217;\u00e9tat : distinguer le vrai du faux dans la conception embarqu\u00e9e"},"content":{"rendered":"<p>Les syst\u00e8mes embarqu\u00e9s fonctionnent sous des contraintes strictes. La m\u00e9moire est finie, le timing est critique, et la fiabilit\u00e9 est imp\u00e9rative. Dans ce contexte, d\u00e9finir clairement le comportement est essentiel. Le diagramme d&#8217;\u00e9tat du langage de mod\u00e9lisation unifi\u00e9 (UML) propose une approche structur\u00e9e pour mod\u00e9liser le comportement dynamique. Pourtant, des id\u00e9es fausses persistent quant \u00e0 son applicabilit\u00e9 et \u00e0 sa complexit\u00e9 dans des environnements \u00e0 ressources limit\u00e9es. Ce guide s\u00e9pare le vrai du faux, offrant une analyse technique approfondie sur le fonctionnement des machines \u00e0 \u00e9tats dans la conception embarqu\u00e9e r\u00e9elle. Nous explorerons les m\u00e9canismes, d\u00e9mentirons les erreurs courantes, et exposerons des strat\u00e9gies pratiques d&#8217;impl\u00e9mentation sans recourir \u00e0 la publicit\u00e9 ou \u00e0 des g\u00e9n\u00e9ralisations floues. \ud83e\uddd0<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img alt=\"Whimsical infographic debunking 5 myths about State Machine Diagrams in embedded systems design, showing hierarchical states, UML-to-code mapping, performance optimization, concurrency with orthogonal regions, and comparison of FSM vs procedural vs object-oriented approaches for microcontroller development\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg\"\/><\/figure>\n<\/div>\n<h2>Comprendre le diagramme d&#8217;\u00e9tat dans un contexte embarqu\u00e9 \u2699\ufe0f<\/h2>\n<p>Un diagramme d&#8217;\u00e9tat, souvent appel\u00e9 diagramme d&#8217;\u00e9tat-machine, mod\u00e9lise le comportement d&#8217;un syst\u00e8me \u00e0 travers des \u00e9tats, des transitions, des \u00e9v\u00e9nements et des actions. En g\u00e9nie embarqu\u00e9, cela se traduit par la mani\u00e8re dont un dispositif r\u00e9pond aux entr\u00e9es au fil du temps. Contrairement \u00e0 un simple organigramme, une machine \u00e0 \u00e9tats se souvient de son historique. Cette m\u00e9moire est cruciale pour les syst\u00e8mes qui doivent conserver un contexte \u00e0 travers plusieurs op\u00e9rations.<\/p>\n<p>Prenons comme exemple un contr\u00f4leur simple de feu tricolore. Le syst\u00e8me ne se contente pas de changer de couleur ; il se souvient de la phase actuelle et attend une dur\u00e9e sp\u00e9cifique avant de passer \u00e0 la suivante. Une machine \u00e0 \u00e9tats capture explicitement cette logique. Elle d\u00e9finit :<\/p>\n<ul>\n<li><strong>\u00c9tats :<\/strong>Conditions ou situations durant lesquelles le syst\u00e8me effectue une activit\u00e9 ou attend un \u00e9v\u00e9nement. Des exemples incluent<em>Inactif<\/em>, <em>Actif<\/em>, <em>Erreur<\/em>, ou <em>Mode veille<\/em>.<\/li>\n<li><strong>Transitions :<\/strong> Le chemin suivi d&#8217;un \u00e9tat \u00e0 un autre en fonction d&#8217;un d\u00e9clencheur. Cela inclut la condition de garde, qui d\u00e9termine si la transition est valide.<\/li>\n<li><strong>\u00c9v\u00e9nements :<\/strong> Des signaux qui provoquent une transition. Ceux-ci peuvent \u00eatre internes (logiciels) ou externes (interruptions mat\u00e9rielles).<\/li>\n<li><strong>Actions :<\/strong> Des activit\u00e9s ex\u00e9cut\u00e9es lors de l&#8217;entr\u00e9e, de la sortie ou du maintien dans un \u00e9tat. Les actions d&#8217;entr\u00e9e initialisent les variables ; les actions de sortie nettoient les ressources.<\/li>\n<\/ul>\n<p>En visualisant ces \u00e9l\u00e9ments, les ing\u00e9nieurs peuvent v\u00e9rifier la logique avant d&#8217;\u00e9crire une seule ligne de code. Cela r\u00e9duit le temps de d\u00e9bogage plus tard dans le cycle de d\u00e9veloppement. Toutefois, plusieurs mythes entourent cette m\u00e9thode.<\/p>\n<h2>Mythe 1 : Les machines \u00e0 \u00e9tats finis ne servent qu&#8217;\u00e0 des logiques simples \ud83d\udeab<\/h2>\n<p>Une id\u00e9e fausse courante est que les machines \u00e0 \u00e9tats finis (FSM) sont trop basiques pour des applications embarqu\u00e9es complexes. De nombreux d\u00e9veloppeurs pr\u00e9f\u00e8rent le code proc\u00e9dural ou les structures orient\u00e9es objet car ils les trouvent plus flexibles. Cette vision n\u00e9glige le pouvoir des machines \u00e0 \u00e9tats hi\u00e9rarchiques.<\/p>\n<p>Dans le UML moderne, les \u00e9tats peuvent \u00eatre imbriqu\u00e9s. Cela permet de d\u00e9finir des<strong>\u00c9tats compos\u00e9s<\/strong>. Un \u00e9tat compos\u00e9 contient des sous-\u00e9tats. Lorsque le syst\u00e8me entre dans un \u00e9tat compos\u00e9, il passe par d\u00e9faut \u00e0 un sous-\u00e9tat sp\u00e9cifique. Cette structure r\u00e9duit la redondance. Par exemple, un<em>Communication<\/em> peut contenir des sous-\u00e9tats tels que<em>\u00c9coute<\/em>, <em>Transmission<\/em>, et <em>R\u00e9essayer<\/em>.<\/p>\n<p>Les protocoles complexes, tels que les piles TCP\/IP ou les \u00e9changes Bluetooth, reposent fortement sur la logique d&#8217;\u00e9tat. La s\u00e9quence des \u00e9v\u00e9nements est rigide et d\u00e9finie. Une machine \u00e0 \u00e9tats impose naturellement cette rigidit\u00e9. Elle emp\u00eache le syst\u00e8me d&#8217;entrer dans un \u00e9tat invalide, comme tenter d&#8217;envoyer des donn\u00e9es avant qu&#8217;une connexion ne soit \u00e9tablie.<\/p>\n<h3>V\u00e9rification des faits :<\/h3>\n<ul>\n<li><strong>Mythe :<\/strong>Les machines \u00e0 \u00e9tats ne g\u00e8rent que des logiques simples allum\u00e9\/\u00e9teint.<\/li>\n<li><strong>V\u00e9rit\u00e9 :<\/strong>Les machines \u00e0 \u00e9tats hi\u00e9rarchiques g\u00e8rent efficacement les piles de protocoles complexes et les flux de travail \u00e0 plusieurs \u00e9tapes.<\/li>\n<li><strong>V\u00e9rit\u00e9 :<\/strong>Elles fournissent un comportement d\u00e9terministe, ce qui est crucial pour les syst\u00e8mes critiques pour la s\u00e9curit\u00e9.<\/li>\n<\/ul>\n<h2>Mythe 2 : UML est trop abstrait pour le code embarqu\u00e9 \ud83d\udcc4<\/h2>\n<p>Certains ing\u00e9nieurs affirment que les diagrammes UML sont trop abstraits pour \u00eatre traduits en code machine efficace. Ils craignent que l&#8217;\u00e9cart entre la conception et l&#8217;impl\u00e9mentation entra\u00eene un logiciel lourd. Bien que les premiers outils aient eu des difficult\u00e9s \u00e0 ce sujet, la relation entre la conception et le code est directe.<\/p>\n<p>Un diagramme de machine \u00e0 \u00e9tats se traduit directement par un tableau de transition d&#8217;\u00e9tats ou une structure <code>switch-case<\/code> en C ou C++. Le compilateur n&#8217;a pas besoin d&#8217;interpr\u00e9ter le diagramme visuel ; c&#8217;est le d\u00e9veloppeur qui traduit la logique. Le diagramme sert de sp\u00e9cification. Si le code correspond au diagramme, le comportement est pr\u00e9visible.<\/p>\n<h3>Cartographie de l&#8217;impl\u00e9mentation :<\/h3>\n<table>\n<thead>\n<tr>\n<th>\u00c9l\u00e9ment UML<\/th>\n<th>\u00c9quivalent d&#8217;impl\u00e9mentation<\/th>\n<th>Objectif<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u00c9tat<\/td>\n<td>Valeur d&#8217;\u00e9num\u00e9ration ou structure<\/td>\n<td>Identifie le mode actuel<\/td>\n<\/tr>\n<tr>\n<td>Transition<\/td>\n<td>Branche conditionnelle (if\/else)<\/td>\n<td>D\u00e9finit le flux logique<\/td>\n<\/tr>\n<tr>\n<td>\u00c9v\u00e9nement<\/td>\n<td>Appel de fonction ou interruption<\/td>\n<td>D\u00e9clenche un changement d&#8217;\u00e9tat<\/td>\n<\/tr>\n<tr>\n<td>Action d&#8217;entr\u00e9e<\/td>\n<td>Fonction d&#8217;initialisation<\/td>\n<td>Configuration du mat\u00e9riel\/variables<\/td>\n<\/tr>\n<tr>\n<td>Action de sortie<\/td>\n<td>Fonction de nettoyage<\/td>\n<td>Lib\u00e9rer les ressources<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Cette clart\u00e9 facilite les revues de code. Lorsqu&#8217;un bug appara\u00eet, l&#8217;ing\u00e9nieur peut suivre le parcours dans le diagramme. Si le diagramme indique que l&#8217;\u00e9tat A passe \u00e0 l&#8217;\u00e9tat B \u00e0 la suite de l&#8217;\u00e9v\u00e9nement X, mais que le code fait autrement, la divergence est imm\u00e9diatement visible.<\/p>\n<h2>Mythe 3 : La surcharge de performance est inacceptable \u23f1\ufe0f<\/h2>\n<p>Les syst\u00e8mes embarqu\u00e9s tournent souvent sur des microcontr\u00f4leurs avec un nombre limit\u00e9 de cycles CPU. Il existe une crainte persistante selon laquelle la logique des machines \u00e0 \u00e9tats introduit une surcharge qu&#8217;on ne peut pas se permettre. Cette croyance ignore la mani\u00e8re dont les machines \u00e0 \u00e9tats sont compil\u00e9es.<\/p>\n<p>Les compilateurs modernes optimisent tr\u00e8s efficacement la logique des \u00e9tats. Le code machine r\u00e9sultant est souvent une s\u00e9rie de comparaisons et de sauts, similaire \u00e0 un <code>switch<\/code>instruction. La surcharge est n\u00e9gligeable par rapport au co\u00fbt de l&#8217;entr\u00e9e\/sortie mat\u00e9rielle ou du sondage des capteurs. En fait, une machine \u00e0 \u00e9tats bien con\u00e7ue peut am\u00e9liorer les performances en r\u00e9duisant les boucles de sondage.<\/p>\n<h3>Strat\u00e9gies d&#8217;optimisation :<\/h3>\n<ul>\n<li><strong>Tables de sauts :<\/strong> Les transitions peuvent \u00eatre impl\u00e9ment\u00e9es via des tables de sauts pour un temps de recherche O(1), au lieu de cha\u00eenes s\u00e9quentielles de <code>if-else<\/code>cha\u00eenes.<\/li>\n<li><strong>Stockage d&#8217;\u00e9tat minimal :<\/strong> Les \u00e9tats peuvent \u00eatre stock\u00e9s sous forme d&#8217;entiers simples ou de bits, consommant une m\u00e9moire RAM minimale.<\/li>\n<li><strong>Ex\u00e9cution d\u00e9clench\u00e9e par \u00e9v\u00e9nement :<\/strong> Le syst\u00e8me traite les \u00e9v\u00e9nements uniquement lorsqu&#8217;ils se produisent, \u00e9vitant ainsi les boucles d&#8217;attente active.<\/li>\n<\/ul>\n<p>Contrastez cela avec une boucle de sondage qui v\u00e9rifie chaque capteur toutes les millisecondes, ind\u00e9pendamment du besoin. Une machine \u00e0 \u00e9tats permet au syst\u00e8me de dormir jusqu&#8217;\u00e0 ce qu&#8217;un \u00e9v\u00e9nement le r\u00e9veille, \u00e9conomisant ainsi consid\u00e9rablement de l&#8217;\u00e9nergie et des cycles CPU.<\/p>\n<h2>Mythe 4 : Les \u00e9tats hi\u00e9rarchiques sont confus \ud83e\udd2f<\/h2>\n<p>Les concepteurs \u00e9vitent souvent les \u00e9tats hi\u00e9rarchiques car ils pensent qu&#8217;ils rendent le diagramme illisible. Ils s&#8217;inqui\u00e8tent de la profondeur de l&#8217;imbrication qui rend la logique difficile \u00e0 suivre. Bien qu&#8217;une imbrication excessive soit une mauvaise pratique, une hi\u00e9rarchie appropri\u00e9e am\u00e9liore la clart\u00e9.<\/p>\n<p>Pensez \u00e0 un <em>Gestion de l&#8217;alimentation<\/em>\u00e9tat. Il contient <em>Fonctionnement normal<\/em>, <em>Faible puissance<\/em>, et <em>Sommeil<\/em>. Si ces \u00e9tats \u00e9taient plats, vous devriez d\u00e9finir chaque transition depuis chaque sous-\u00e9tat vers des \u00e9tats externes. Cela cr\u00e9e un diagramme \u00ab spaghetti \u00bb avec des centaines de lignes.<\/p>\n<p>Gr\u00e2ce \u00e0 la hi\u00e9rarchie, les transitions sont d\u00e9finies au niveau composite. Une transition depuis <em>Faible puissance<\/em> vers <em>Arr\u00eat<\/em> s&#8217;applique \u00e0 tous les sous-\u00e9tats, sauf si elle est remplac\u00e9e. Cela r\u00e9duit le brouillage du diagramme et assure la coh\u00e9rence. Il s&#8217;agit d&#8217;une question de discipline, et non de capacit\u00e9.<\/p>\n<h2>Mythe 5 : La concurrence est impossible dans les machines \u00e0 \u00e9tats \ud83d\udd04<\/h2>\n<p>Les anciennes d\u00e9finitions des machines \u00e0 \u00e9tats peinaient avec la concurrence. Sur un seul fil, un seul \u00e9tat existe \u00e0 la fois. Les d\u00e9veloppeurs supposaient que cela signifiait que les syst\u00e8mes embarqu\u00e9s ne pouvaient pas g\u00e9rer plusieurs processus simultan\u00e9ment.<\/p>\n<p>UML 2.0 a introduit <strong>R\u00e9gions orthogonales<\/strong>. Un seul \u00e9tat peut contenir plusieurs r\u00e9gions ind\u00e9pendantes. Ces r\u00e9gions fonctionnent de mani\u00e8re concurrente. Par exemple, un appareil peut avoir une r\u00e9gion g\u00e9rant l&#8217;affichage et une autre g\u00e9rant la connexion r\u00e9seau. Les deux r\u00e9gions existent dans le m\u00eame \u00e9tat composite, mais \u00e9voluent ind\u00e9pendamment.<\/p>\n<p>Cette fonctionnalit\u00e9 est essentielle pour les appareils IoT modernes. Ils doivent g\u00e9rer les entr\u00e9es utilisateur tout en communiquant simultan\u00e9ment avec le cloud. Les r\u00e9gions orthogonales mod\u00e9lisent cette parall\u00e9lisation sans n\u00e9cessiter plusieurs threads ou des verrous complexes dans la structure du code.<\/p>\n<h2>Comparaison : Machine \u00e0 \u00e9tats vs. Proc\u00e9dural vs. Orient\u00e9 objet \ud83d\udcca<\/h2>\n<p>Pour comprendre o\u00f9 s&#8217;ins\u00e8rent les machines \u00e0 \u00e9tats, nous devons les comparer \u00e0 d&#8217;autres approches de mod\u00e9lisation. Chacune pr\u00e9sente des forces et des faiblesses selon les exigences du projet.<\/p>\n<table>\n<thead>\n<tr>\n<th>Approche<\/th>\n<th>Meilleur cas d&#8217;utilisation<\/th>\n<th>Limitation<\/th>\n<th>Ad\u00e9quation pour les syst\u00e8mes embarqu\u00e9s<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Machine \u00e0 \u00e9tats<\/strong><\/td>\n<td>Syst\u00e8mes d&#8217;\u00e9v\u00e9nements discrets, gestion de protocoles, logique de contr\u00f4le.<\/td>\n<td>Moins adapt\u00e9 au traitement de donn\u00e9es continues.<\/td>\n<td>\u2b50\u2b50\u2b50\u2b50\u2b50 (\u00c9lev\u00e9)<\/td>\n<\/tr>\n<tr>\n<td><strong>Proc\u00e9dural<\/strong><\/td>\n<td>Scripts simples, algorithmes lin\u00e9aires.<\/td>\n<td>La logique devient difficile \u00e0 maintenir \u00e0 mesure que la complexit\u00e9 augmente.<\/td>\n<td>\u2b50\u2b50\u2b50 (Moyen)<\/td>\n<\/tr>\n<tr>\n<td><strong>Orient\u00e9 objet<\/strong><\/td>\n<td>Relations de donn\u00e9es complexes, applications UI.<\/td>\n<td>Plus grande empreinte m\u00e9moire, surcharge \u00e9ventuelle au runtime.<\/td>\n<td>\u2b50\u2b50\u2b50\u2b50 (\u00c9lev\u00e9)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>La machine \u00e0 \u00e9tats excelle l\u00e0 o\u00f9 la s\u00e9quence des \u00e9v\u00e9nements est plus importante que les donn\u00e9es elles-m\u00eames. Si votre syst\u00e8me doit garantir qu&#8217;un moteur ne d\u00e9marre pas avant que la porte de s\u00e9curit\u00e9 ne soit ferm\u00e9e, la machine \u00e0 \u00e9tats applique rigoureusement cette r\u00e8gle. Un code proc\u00e9dural pourrait manquer ce cas particulier si le contr\u00f4le de condition est plac\u00e9 dans la mauvaise fonction.<\/p>\n<h2>Meilleures pratiques d&#8217;impl\u00e9mentation \ud83d\udee1\ufe0f<\/h2>\n<p>Concevoir une machine \u00e0 \u00e9tats robuste exige de suivre des mod\u00e8les sp\u00e9cifiques. Ces pratiques garantissent que le code reste maintenable et sans bogues.<\/p>\n<ul>\n<li><strong>Un \u00e9tat par transition :<\/strong> \u00c9vitez plusieurs transitions qui entrent dans le m\u00eame \u00e9tat depuis des sources diff\u00e9rentes, sauf si n\u00e9cessaire. Utilisez <strong>\u00c9tats d&#8217;historique<\/strong> pour se souvenir du sous-\u00e9tat pr\u00e9c\u00e9dent si on revient \u00e0 un \u00e9tat composite.<\/li>\n<li><strong>Conditions de garde :<\/strong> Gardez les conditions de garde simples. Si la logique \u00e0 l&#8217;int\u00e9rieur d&#8217;une condition de garde est complexe, d\u00e9placez-la dans une fonction s\u00e9par\u00e9e. Cela garde le diagramme propre.<\/li>\n<li><strong>Transitions auto-r\u00e9f\u00e9rentielles :<\/strong> Utilisez les transitions auto-r\u00e9f\u00e9rentielles pour les \u00e9v\u00e9nements qui ne changent pas l&#8217;\u00e9tat mais d\u00e9clenchent des actions. Par exemple, un \u00e9v\u00e9nement <em>Interruption<\/em> pendant l&#8217;\u00e9tat <em>Inactif<\/em> pourrait basculer un indicateur sans quitter l&#8217;\u00e9tat.<\/li>\n<li><strong>Entr\u00e9e par d\u00e9faut :<\/strong> D\u00e9finissez toujours un point d&#8217;entr\u00e9e par d\u00e9faut pour les \u00e9tats compos\u00e9s. Cela emp\u00eache le syst\u00e8me de d\u00e9marrer dans une configuration non d\u00e9finie.<\/li>\n<li><strong>Gestion des erreurs :<\/strong> Incluez un \u00e9tat <em>Erreur<\/em> ou <em>R\u00e9initialisation<\/em> \u00e9tat. Tous les syst\u00e8mes finissent par \u00e9chouer. La machine \u00e0 \u00e9tats doit d\u00e9finir comment elle se r\u00e9tablit correctement.<\/li>\n<\/ul>\n<h2>P\u00e9ch\u00e9s courants \u00e0 \u00e9viter \ud83d\udea7<\/h2>\n<p>M\u00eame les ing\u00e9nieurs exp\u00e9riment\u00e9s font des erreurs lors de la conception de machines \u00e0 \u00e9tats. \u00catre conscient des pi\u00e8ges courants aide \u00e0 les \u00e9viter.<\/p>\n<h3>1. La transition spaghetti<\/h3>\n<p>Quand chaque \u00e9tat est connect\u00e9 \u00e0 tous les autres \u00e9tats, le diagramme devient illisible. Cela indique g\u00e9n\u00e9ralement un manque d&#8217;h\u00e9ritage. Regroupez les \u00e9tats li\u00e9s dans des conteneurs compos\u00e9s afin de r\u00e9duire les croisements de lignes.<\/p>\n<h3>2. Transition par d\u00e9faut manquant<\/h3>\n<p>Si un \u00e9v\u00e9nement se produit et qu&#8217;aucune transition ne correspond \u00e0 l&#8217;\u00e9tat actuel, le syst\u00e8me doit savoir quoi faire. Doit-il ignorer l&#8217;\u00e9v\u00e9nement ? Doit-il planter ? D\u00e9finissez un comportement <em>ignorer<\/em> ou un comportement <em>r\u00e9initialiser<\/em> explicitement.<\/p>\n<h3>3. Utilisation excessive des \u00e9tats d&#8217;histoire<\/h3>\n<p>Les \u00e9tats d&#8217;histoire profonde peuvent \u00eatre trompeurs. Si le syst\u00e8me entre dans un \u00e9tat composite, se souvient-il de l&#8217;\u00e9tat sous-jacent exact de la derni\u00e8re fois qu&#8217;il s&#8217;y trouvait ? Parfois, revenir \u00e0 un \u00e9tat sous-jacent initial connu est plus s\u00fbr que de restaurer l&#8217;historique.<\/p>\n<h3>4. M\u00e9langer donn\u00e9es et logique<\/h3>\n<p>Gardez le stockage des donn\u00e9es s\u00e9par\u00e9 de la logique d&#8217;\u00e9tat. Une machine \u00e0 \u00e9tats doit d\u00e9terminer <em>ce qui<\/em> se produit, et non pas g\u00e9rer <em>comment<\/em> les donn\u00e9es sont stock\u00e9es. Laissez les fonctions de d\u00e9clenchement d&#8217;\u00e9tat g\u00e9rer les donn\u00e9es.<\/p>\n<h2>D\u00e9bogage des machines \u00e0 \u00e9tats \ud83d\udd0d<\/h2>\n<p>Le d\u00e9bogage du code embarqu\u00e9 est difficile. Suivre les transitions d&#8217;\u00e9tat ajoute une couche suppl\u00e9mentaire. Toutefois, une machine \u00e0 \u00e9tats bien document\u00e9e facilite le d\u00e9bogage.<\/p>\n<ul>\n<li><strong>Journalisation des \u00e9tats :<\/strong> Impl\u00e9mentez un journalisateur qui enregistre chaque entr\u00e9e et sortie d&#8217;\u00e9tat. Cela cr\u00e9e une trace du cycle de vie du syst\u00e8me.<\/li>\n<li><strong>Simulation visuelle :<\/strong> Utilisez des outils pour simuler le diagramme avant le d\u00e9ploiement. Cela permet de d\u00e9tecter les erreurs logiques t\u00f4t.<\/li>\n<li><strong>Points d&#8217;arr\u00eat :<\/strong> D\u00e9finissez des points d&#8217;arr\u00eat sur les fonctions d&#8217;entr\u00e9e d&#8217;\u00e9tat. V\u00e9rifiez que les variables sont correctement initialis\u00e9es avant la fin de la transition.<\/li>\n<\/ul>\n<p>Lorsqu&#8217;un syst\u00e8me se bloque, v\u00e9rifiez l&#8217;\u00e9tat actuel. Si l&#8217;\u00e9tat est valide mais que le syst\u00e8me attend ind\u00e9finiment, le probl\u00e8me provient probablement d&#8217;un \u00e9v\u00e9nement manquant ou d&#8217;une condition de garde qui ne devient jamais vraie. Cela r\u00e9duit consid\u00e9rablement l&#8217;espace de recherche par rapport au d\u00e9bogage d&#8217;un script lin\u00e9aire.<\/p>\n<h2>Le r\u00f4le de la v\u00e9rification formelle \ud83e\uddea<\/h2>\n<p>Dans les industries critiques pour la s\u00e9curit\u00e9 comme l&#8217;automobile ou le m\u00e9dical, les machines \u00e0 \u00e9tats sont souvent soumises \u00e0 une v\u00e9rification formelle. Ce processus prouve math\u00e9matiquement que le syst\u00e8me r\u00e9pond \u00e0 ses exigences.<\/p>\n<p>\u00c9tant donn\u00e9 que les machines \u00e0 \u00e9tats sont discr\u00e8tes et finies, elles sont plus faciles \u00e0 v\u00e9rifier que les logiciels g\u00e9n\u00e9raux. Les outils peuvent v\u00e9rifier de mani\u00e8re exhaustive tous les \u00e9tats et transitions possibles. Cela garantit qu&#8217;aucun code inatteignable n&#8217;existe et que le syst\u00e8me ne peut jamais entrer dans un blocage.<\/p>\n<p>L&#8217;utilisation des diagrammes d&#8217;\u00e9tats UML facilite cette v\u00e9rification. Le diagramme sert de sp\u00e9cification formelle. Si le code correspond au diagramme, et que le diagramme est v\u00e9rifi\u00e9, alors le syst\u00e8me est v\u00e9rifi\u00e9. Cette cha\u00eene de confiance est inestimable pour la certification.<\/p>\n<h2>R\u00e9flexions finales sur la logique embarqu\u00e9e \ud83c\udfc1<\/h2>\n<p>Le diagramme de machine \u00e0 \u00e9tats n&#8217;est pas une solution miracle, mais c&#8217;est un outil puissant. Il apporte de l&#8217;ordre \u00e0 la complexit\u00e9. Il transforme les exigences abstraites en comportements concrets. En dissipant les mythes concernant les performances, la complexit\u00e9 et l&#8217;utilisabilit\u00e9, les ing\u00e9nieurs peuvent exploiter cette m\u00e9thodologie de mani\u00e8re plus efficace.<\/p>\n<p>Le succ\u00e8s r\u00e9side dans la discipline. Utilisez la hi\u00e9rarchie pour g\u00e9rer la complexit\u00e9. D\u00e9finissez des points d&#8217;entr\u00e9e et de sortie clairs. Documentez vos transitions. Lorsque vous respectez la structure de la machine \u00e0 \u00e9tats, le syst\u00e8me embarqu\u00e9 r\u00e9sultant sera stable, pr\u00e9visible et maintenable. L&#8217;objectif n&#8217;est pas d&#8217;utiliser l&#8217;outil le plus avanc\u00e9, mais d&#8217;utiliser l&#8217;outil adapt\u00e9 \u00e0 la t\u00e2che. Pour les syst\u00e8mes embarqu\u00e9s pilot\u00e9s par \u00e9v\u00e9nements, la machine \u00e0 \u00e9tats reste un pilier de la conception fiable.<\/p>\n<p>Poursuivez l&#8217;affinement de vos comp\u00e9tences. \u00c9tudiez les subtilit\u00e9s de UML 2.0. Explorez les r\u00e9gions orthogonales. Impl\u00e9mentez vos propres biblioth\u00e8ques de machines \u00e0 \u00e9tats. En le faisant, vous d\u00e9couvrirez que les contraintes du design embarqu\u00e9 ne sont pas des obstacles, mais des guides vers une architecture meilleure.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les syst\u00e8mes embarqu\u00e9s fonctionnent sous des contraintes strictes. La m\u00e9moire est finie, le timing est critique, et la fiabilit\u00e9 est<\/p>\n","protected":false},"author":3479,"featured_media":11225,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9","_yoast_wpseo_metadesc":"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[127],"tags":[163,101],"class_list":["post-11224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-unified-modeling-language","tag-academic","tag-uml"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9<\/title>\n<meta name=\"description\" content=\"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9\" \/>\n<meta property=\"og:description\" content=\"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\" \/>\n<meta property=\"og:site_name\" content=\"ArchiMetric French\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-07T14:04:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1664\" \/>\n\t<meta property=\"og:image:height\" content=\"928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"archimetric@visual-paradigm.com\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"archimetric@visual-paradigm.com\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\"},\"author\":{\"name\":\"archimetric@visual-paradigm.com\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28\"},\"headline\":\"D\u00e9mythification du diagramme d&#8217;\u00e9tat : distinguer le vrai du faux dans la conception embarqu\u00e9e\",\"datePublished\":\"2026-04-07T14:04:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\"},\"wordCount\":2709,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg\",\"keywords\":[\"academic\",\"UML\"],\"articleSection\":[\"Unified Modeling Language\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\",\"url\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\",\"name\":\"Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9\",\"isPartOf\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg\",\"datePublished\":\"2026-04-07T14:04:01+00:00\",\"author\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28\"},\"description\":\"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage\",\"url\":\"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg\",\"contentUrl\":\"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg\",\"width\":1664,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.archimetric.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"D\u00e9mythification du diagramme d&#8217;\u00e9tat : distinguer le vrai du faux dans la conception embarqu\u00e9e\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/#website\",\"url\":\"https:\/\/www.archimetric.com\/fr\/\",\"name\":\"ArchiMetric French\",\"description\":\"EA, Dev Ops, Scrum, Agile and More\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.archimetric.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28\",\"name\":\"archimetric@visual-paradigm.com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/de58c1924d83d002dbce0b79f74ba4b70e2f85238332df6cabc0227effdf470d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/de58c1924d83d002dbce0b79f74ba4b70e2f85238332df6cabc0227effdf470d?s=96&d=mm&r=g\",\"caption\":\"archimetric@visual-paradigm.com\"},\"url\":\"https:\/\/www.archimetric.com\/fr\/author\/archimetricvisual-paradigm-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9","description":"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/","og_locale":"fr_FR","og_type":"article","og_title":"Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9","og_description":"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.","og_url":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/","og_site_name":"ArchiMetric French","article_published_time":"2026-04-07T14:04:01+00:00","og_image":[{"width":1664,"height":928,"url":"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg","type":"image\/jpeg"}],"author":"archimetric@visual-paradigm.com","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"archimetric@visual-paradigm.com","Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#article","isPartOf":{"@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/"},"author":{"name":"archimetric@visual-paradigm.com","@id":"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28"},"headline":"D\u00e9mythification du diagramme d&#8217;\u00e9tat : distinguer le vrai du faux dans la conception embarqu\u00e9e","datePublished":"2026-04-07T14:04:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/"},"wordCount":2709,"commentCount":0,"image":{"@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg","keywords":["academic","UML"],"articleSection":["Unified Modeling Language"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/","url":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/","name":"Mythes des diagrammes de machines \u00e0 \u00e9tats : v\u00e9rit\u00e9s du design embarqu\u00e9","isPartOf":{"@id":"https:\/\/www.archimetric.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage"},"image":{"@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage"},"thumbnailUrl":"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg","datePublished":"2026-04-07T14:04:01+00:00","author":{"@id":"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28"},"description":"D\u00e9mythifiez les id\u00e9es re\u00e7ues courantes sur les diagrammes de machines \u00e0 \u00e9tats UML dans les syst\u00e8mes embarqu\u00e9s. Apprenez les faits, les bonnes pratiques et les v\u00e9rit\u00e9s de mise en \u0153uvre pour un design fiable.","breadcrumb":{"@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#primaryimage","url":"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg","contentUrl":"https:\/\/www.archimetric.com\/fr\/wp-content\/uploads\/sites\/8\/2026\/04\/state-machine-diagram-myth-buster-embedded-design-infographic.jpg","width":1664,"height":928},{"@type":"BreadcrumbList","@id":"https:\/\/www.archimetric.com\/fr\/state-machine-diagram-myth-buster-embedded-design\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.archimetric.com\/fr\/"},{"@type":"ListItem","position":2,"name":"D\u00e9mythification du diagramme d&#8217;\u00e9tat : distinguer le vrai du faux dans la conception embarqu\u00e9e"}]},{"@type":"WebSite","@id":"https:\/\/www.archimetric.com\/fr\/#website","url":"https:\/\/www.archimetric.com\/fr\/","name":"ArchiMetric French","description":"EA, Dev Ops, Scrum, Agile and More","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.archimetric.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28","name":"archimetric@visual-paradigm.com","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/de58c1924d83d002dbce0b79f74ba4b70e2f85238332df6cabc0227effdf470d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/de58c1924d83d002dbce0b79f74ba4b70e2f85238332df6cabc0227effdf470d?s=96&d=mm&r=g","caption":"archimetric@visual-paradigm.com"},"url":"https:\/\/www.archimetric.com\/fr\/author\/archimetricvisual-paradigm-com\/"}]}},"_links":{"self":[{"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/posts\/11224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/users\/3479"}],"replies":[{"embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/comments?post=11224"}],"version-history":[{"count":0,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/posts\/11224\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/media\/11225"}],"wp:attachment":[{"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/media?parent=11224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/categories?post=11224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/tags?post=11224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}