{"id":10454,"date":"2026-03-04T14:40:09","date_gmt":"2026-03-04T06:40:09","guid":{"rendered":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/"},"modified":"2026-03-04T14:40:09","modified_gmt":"2026-03-04T06:40:09","slug":"complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners","status":"publish","type":"post","link":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/","title":{"rendered":"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#8217;\u00e9tat (pour les absolus d\u00e9butants)"},"content":{"rendered":"<p data-nodeid=\"354\">Un\u00a0<strong data-nodeid=\"141\">Diagramme d&#8217;\u00e9tat UML<\/strong>\u00a0est un outil visuel puissant qui mod\u00e9lise le comportement dynamique d&#8217;un syst\u00e8me en illustrant comment il passe d&#8217;un \u00e9tat \u00e0 un autre en r\u00e9ponse \u00e0 des \u00e9v\u00e9nements. Il capture le cycle de vie d&#8217;un objet ou d&#8217;un processus \u2014 en montrant ce qu&#8217;il peut\u00a0<em data-nodeid=\"142\">\u00eatre<\/em>\u00a0dans, ce qui d\u00e9clenche un changement, et quelles actions se produisent lors des changements d&#8217;\u00e9tat \u2014 ce qui en fait un outil id\u00e9al pour comprendre des syst\u00e8mes complexes comme les feux de circulation, les distributeurs automatiques, les workflows de connexion ou les personnages de jeu. En se concentrant sur les \u00e9tats (comme \u00ab Rouge \u00bb, \u00ab En attente de paiement \u00bb ou \u00ab En saut \u00bb), les transitions (d\u00e9clench\u00e9es par des \u00e9v\u00e9nements tels que \u00ab le minuteur expir\u00e9 \u00bb ou \u00ab bouton press\u00e9 \u00bb) et les conditions (garde), les diagrammes d&#8217;\u00e9tat apportent de la clart\u00e9, \u00e9vitent les lacunes logiques et constituent une base solide pour la conception et le code. Que vous soyez un d\u00e9butant apprenant la mod\u00e9lisation de syst\u00e8mes ou un d\u00e9veloppeur construisant des logiciels robustes, ma\u00eetriser les diagrammes d&#8217;\u00e9tat vous donne la capacit\u00e9 de penser, concevoir et communiquer le comportement des syst\u00e8mes avec pr\u00e9cision et clart\u00e9.<\/p>\n<p><img alt=\"State Machines for Everyone \u2014 Part 1 Introduction | by Alex Dodge | Well  Red | Medium\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png\"\/><\/p>\n<p data-nodeid=\"354\">\ud83d\udca1\u00a0<strong data-nodeid=\"804\">Objectif<\/strong>: Apprenez \u00e0 mod\u00e9liser des syst\u00e8mes du monde r\u00e9el \u00e0 l&#8217;aide de machines \u00e0 \u00e9tats \u2014 du concept \u00e0 un diagramme propre et professionnel.<\/p>\n<p data-nodeid=\"354\">\n<h2 data-nodeid=\"356\">\ud83d\udd11 <strong data-nodeid=\"809\">Les concepts cl\u00e9s que vous devez comprendre en premier<\/strong><\/h2>\n<table data-nodeid=\"358\">\n<thead data-nodeid=\"359\">\n<tr data-nodeid=\"360\">\n<th data-nodeid=\"362\">Concept<\/th>\n<th data-nodeid=\"363\">Ce que cela signifie<\/th>\n<th data-nodeid=\"364\">Pourquoi cela importe<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"368\">\n<tr data-nodeid=\"369\">\n<td data-nodeid=\"370\"><strong data-nodeid=\"816\">\u00c9tat<\/strong><\/td>\n<td data-nodeid=\"371\">Une condition ou situation dans laquelle se trouve le syst\u00e8me (par exemple\u00a0<code data-backticks=\"1\" data-nodeid=\"818\">Rouge<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"820\">En attente de pi\u00e8ce<\/code>)<\/td>\n<td data-nodeid=\"372\">Montre ce qui se passe \u00e0 tout moment<\/td>\n<\/tr>\n<tr data-nodeid=\"373\">\n<td data-nodeid=\"374\"><strong data-nodeid=\"826\">\u00c9v\u00e9nement<\/strong><\/td>\n<td data-nodeid=\"375\">Quelque chose qui d\u00e9clenche un changement (par exemple\u00a0<code data-backticks=\"1\" data-nodeid=\"828\">Ins\u00e9rer une pi\u00e8ce<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"830\">le minuteur expir\u00e9<\/code>)<\/td>\n<td data-nodeid=\"376\">Provient le passage d&#8217;un \u00e9tat \u00e0 un autre<\/td>\n<\/tr>\n<tr data-nodeid=\"377\">\n<td data-nodeid=\"378\"><strong data-nodeid=\"836\">Transition<\/strong><\/td>\n<td data-nodeid=\"379\">Une fl\u00e8che d&#8217;un \u00e9tat \u00e0 un autre<\/td>\n<td data-nodeid=\"380\">Lien les \u00e9tats via des \u00e9v\u00e9nements<\/td>\n<\/tr>\n<tr data-nodeid=\"381\">\n<td data-nodeid=\"382\"><strong data-nodeid=\"842\">\u00c9tat initial<\/strong><\/td>\n<td data-nodeid=\"383\">Le point de d\u00e9part (\u25cf)<\/td>\n<td data-nodeid=\"384\">Il y en a toujours un<\/td>\n<\/tr>\n<tr data-nodeid=\"385\">\n<td data-nodeid=\"386\"><strong data-nodeid=\"848\">\u00c9tat final<\/strong><\/td>\n<td data-nodeid=\"387\">Fin du processus (\u25cb)<\/td>\n<td data-nodeid=\"388\">Facultatif \u2014 pas toujours n\u00e9cessaire<\/td>\n<\/tr>\n<tr data-nodeid=\"389\">\n<td data-nodeid=\"390\"><strong data-nodeid=\"857\">Garde [condition]<\/strong><\/td>\n<td data-nodeid=\"391\">Condition qui doit \u00eatre vraie pour que la transition ait lieu<\/td>\n<td data-nodeid=\"392\">Ajoute de la logique (par exemple, si assez d&#8217;argent ?)<\/td>\n<\/tr>\n<tr data-nodeid=\"393\">\n<td data-nodeid=\"394\"><strong data-nodeid=\"863\">Action \/ entr\u00e9e \/ ex\u00e9cution<\/strong><\/td>\n<td data-nodeid=\"395\">Ce qui se produit lors de l&#8217;entr\u00e9e, pendant ou de la sortie d&#8217;un \u00e9tat<\/td>\n<td data-nodeid=\"396\">Ajoute un comportement aux \u00e9tats<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote data-nodeid=\"397\">\n<p data-nodeid=\"398\">\ud83d\udccc Pensez :<br \/>\n\u00ab Ce syst\u00e8me peut \u00eatre dans <strong data-nodeid=\"886\">X<\/strong> \u00e9tats. \u00bb<br \/>\nQuand <strong data-nodeid=\"887\">Y<\/strong> se produit, il passe \u00e0 <strong data-nodeid=\"888\">Z<\/strong>.\u201d<br \/>\nC\u2019est une machine \u00e0 \u00e9tats !<\/p>\n<\/blockquote>\n<hr data-nodeid=\"399\"\/>\n<h2 data-nodeid=\"400\">\ud83d\udee0 \u00c9tape 0 \u2013 Mentalit\u00e9 : Posez ces questions<\/h2>\n<p data-nodeid=\"401\">Avant de dessiner quoi que ce soit :<\/p>\n<ul data-nodeid=\"402\">\n<li data-nodeid=\"403\">\n<p data-nodeid=\"404\">Quelles sont les <strong data-nodeid=\"896\">situations clairement diff\u00e9rentes<\/strong> dans lesquelles cet objet peut se trouver ?<\/p>\n<\/li>\n<li data-nodeid=\"405\">\n<p data-nodeid=\"406\">Quels <strong data-nodeid=\"902\">\u00e9v\u00e9nements<\/strong>\u00a0(les actions de l&#8217;utilisateur, le temps, les erreurs) provoquent des changements ?<\/p>\n<\/li>\n<li data-nodeid=\"407\">\n<p data-nodeid=\"408\">Peut-il \u00eatre dans deux \u00e9tats en m\u00eame temps ? (Non \u2192 les machines \u00e0 \u00e9tats basiques sont mutuellement exclusives.)<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"409\">\ud83d\udc49 Exemple : Un <strong data-nodeid=\"913\">interrupteur d&#8217;\u00e9clairage<\/strong>\u00a0est soit\u00a0<code data-backticks=\"1\" data-nodeid=\"909\">Allum\u00e9<\/code>\u00a0ou\u00a0<code data-backticks=\"1\" data-nodeid=\"911\">\u00c9teint<\/code>. Jamais les deux \u00e0 la fois.<\/p>\n<hr data-nodeid=\"410\"\/>\n<h2 data-nodeid=\"411\">\ud83e\udde9 \u00c9tape 1 \u2013 Choisissez une chose concr\u00e8te \u00e0 mod\u00e9liser<\/h2>\n<p data-nodeid=\"412\">\u2705 Bonnes options pour les d\u00e9butants :<\/p>\n<ul data-nodeid=\"413\">\n<li data-nodeid=\"414\">\n<p data-nodeid=\"415\">Barri\u00e8re \u00e0 acc\u00e8s (verrouill\u00e9e\/d\u00e9verrouill\u00e9e)<\/p>\n<\/li>\n<li data-nodeid=\"416\">\n<p data-nodeid=\"417\">Feu de signalisation (rouge\/vert\/jaune)<\/p>\n<\/li>\n<li data-nodeid=\"418\">\n<p data-nodeid=\"419\">Distributeur automatique<\/p>\n<\/li>\n<li data-nodeid=\"420\">\n<p data-nodeid=\"421\">Syst\u00e8me de connexion<\/p>\n<\/li>\n<li data-nodeid=\"422\">\n<p data-nodeid=\"423\">Statut de la commande :\u00a0<code data-backticks=\"1\" data-nodeid=\"921\">Cr\u00e9\u00e9 \u2192 Pay\u00e9 \u2192 Exp\u00e9di\u00e9 \u2192 Livr\u00e9<\/code><\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"424\">\u274c \u00c0 \u00e9viter :<\/p>\n<ul data-nodeid=\"425\">\n<li data-nodeid=\"426\">\n<p data-nodeid=\"427\">\u00ab\u00a0Toute la boutique en ligne\u00a0\u00bb \u2192 trop grand<\/p>\n<\/li>\n<li data-nodeid=\"428\">\n<p data-nodeid=\"429\">\u00ab\u00a0L&#8217;exp\u00e9rience utilisateur\u00a0\u00bb \u2192 trop vague<\/p>\n<\/li>\n<\/ul>\n<blockquote data-nodeid=\"430\">\n<p data-nodeid=\"431\">\u270f\ufe0f\u00a0<strong data-nodeid=\"930\">Commencez par quelque chose de simple.<\/strong>\u00a0Ma\u00eetrisez d&#8217;abord l&#8217;exemple simple.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"432\"\/>\n<h2 data-nodeid=\"433\">\ud83d\udccc \u00c9tape 2 \u2013 Liste des \u00e9tats (utilisez des noms ou des participes pr\u00e9sents)<\/h2>\n<p data-nodeid=\"434\">\u00c9crivez\u00a0<strong data-nodeid=\"937\">4 \u00e0 8 \u00e9tats r\u00e9alistes<\/strong>.<\/p>\n<p data-nodeid=\"435\">Utilisez\u00a0<strong data-nodeid=\"943\">des adjectifs ou des participes pr\u00e9sents<\/strong>\u00a0pour qu&#8217;il ressemble \u00e0 un \u00e9tat :<\/p>\n<ul data-nodeid=\"436\">\n<li data-nodeid=\"437\">\n<p data-nodeid=\"438\"><code data-backticks=\"1\" data-nodeid=\"944\">Rouge<\/code><\/p>\n<\/li>\n<li data-nodeid=\"439\">\n<p data-nodeid=\"440\"><code data-backticks=\"1\" data-nodeid=\"945\">Vert<\/code><\/p>\n<\/li>\n<li data-nodeid=\"441\">\n<p data-nodeid=\"442\"><code data-backticks=\"1\" data-nodeid=\"946\">Jaune<\/code><\/p>\n<\/li>\n<li data-nodeid=\"443\">\n<p data-nodeid=\"444\"><code data-backticks=\"1\" data-nodeid=\"947\">En attente d'une pi\u00e8ce<\/code><\/p>\n<\/li>\n<li data-nodeid=\"445\">\n<p data-nodeid=\"446\"><code data-backticks=\"1\" data-nodeid=\"948\">Distribution de l'article<\/code><\/p>\n<\/li>\n<li data-nodeid=\"447\">\n<p data-nodeid=\"448\"><code data-backticks=\"1\" data-nodeid=\"949\">Pr\u00e9paration<\/code><\/p>\n<\/li>\n<li data-nodeid=\"449\">\n<p data-nodeid=\"450\"><code data-backticks=\"1\" data-nodeid=\"950\">Paiement \u00e9chou\u00e9<\/code><\/p>\n<\/li>\n<\/ul>\n<blockquote data-nodeid=\"451\">\n<p data-nodeid=\"452\">\u2705 Astuce : Si vous avez plus de 10 \u00e9tats \u2192 divisez le syst\u00e8me en syst\u00e8mes plus petits.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"453\"\/>\n<h2 data-nodeid=\"454\">\ud83d\udd8c \u00c9tape 3 \u2013 Dessinez les \u00e9tats sous forme de rectangles arrondis<\/h2>\n<p data-nodeid=\"455\">Utilisez<strong data-nodeid=\"958\">rectangles arrondis<\/strong>:<\/p>\n<pre data-nodeid=\"456\"><code>[ Rouge ]\r\n[ Vert ]\r\n[ En attente d'une pi\u00e8ce ]\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"457\">\n<p data-nodeid=\"458\">\u2705 Outils :<\/p>\n<ul data-nodeid=\"459\">\n<li data-nodeid=\"460\">\n<p data-nodeid=\"461\">draw.io \/ diagrams.net (meilleur choix gratuit)<\/p>\n<\/li>\n<li data-nodeid=\"462\">\n<p data-nodeid=\"463\">Excalidraw (effet dessin\u00e9 \u00e0 la main)<\/p>\n<\/li>\n<li data-nodeid=\"464\">\n<p data-nodeid=\"465\">PlantUML (bas\u00e9 sur le texte \u2192 facile \u00e0 g\u00e9rer avec le contr\u00f4le de version)<\/p>\n<\/li>\n<li data-nodeid=\"466\">\n<p data-nodeid=\"467\">Lucidchart \/ Miro<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<hr data-nodeid=\"468\"\/>\n<h2 data-nodeid=\"469\">\ud83d\udd37 \u00c9tape 4 \u2013 Ajouter l&#8217;\u00e9tat initial (point noir)<\/h2>\n<p data-nodeid=\"470\">Dessinez un<strong data-nodeid=\"970\">cercle noir rempli<\/strong>avec une fl\u00e8che pointant vers le premier \u00e9tat.<\/p>\n<pre class=\"lang-plantuml\" data-nodeid=\"471\"><code data-language=\"plantuml\">[*] --&gt; Rouge\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"472\">\n<p data-nodeid=\"473\">Le<code data-backticks=\"1\" data-nodeid=\"972\">[*]<\/code>signifie \u00ab \u00e9tat initial \u00bb \u2014 c&#8217;est le point de d\u00e9part.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"474\"\/>\n<h2 data-nodeid=\"475\">\u27a1\ufe0f \u00c9tape 5 \u2013 Dessinez les transitions avec des \u00e9v\u00e9nements<\/h2>\n<p data-nodeid=\"476\">Pour chaque \u00e9tat, demandez :<\/p>\n<blockquote data-nodeid=\"477\">\n<p data-nodeid=\"478\">\u00ab Qu&#8217;est-ce qui peut se produire ici qui me fait quitter cet \u00e9tat ? \u00bb<\/p>\n<\/blockquote>\n<p data-nodeid=\"479\">\u00c9tiquetez les fl\u00e8ches avec :<\/p>\n<pre data-nodeid=\"480\"><code>\u00e9v\u00e9nement [garde] \/ action\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"481\">\n<p data-nodeid=\"482\">\ud83d\udd39 Commencez simplement : juste <code data-backticks=\"1\" data-nodeid=\"981\">\u00e9v\u00e9nement<\/code> ou <code data-backticks=\"1\" data-nodeid=\"983\">\u00e9v\u00e9nement \/ action<\/code><\/p>\n<\/blockquote>\n<p data-nodeid=\"483\"><strong data-nodeid=\"988\">\u00c9v\u00e9nements courants<\/strong>:<\/p>\n<ul data-nodeid=\"484\">\n<li data-nodeid=\"485\">\n<p data-nodeid=\"486\"><code data-backticks=\"1\" data-nodeid=\"989\">Ins\u00e9rer une pi\u00e8ce<\/code><\/p>\n<\/li>\n<li data-nodeid=\"487\">\n<p data-nodeid=\"488\"><code data-backticks=\"1\" data-nodeid=\"990\">le minuteur expir\u00e9<\/code><\/p>\n<\/li>\n<li data-nodeid=\"489\">\n<p data-nodeid=\"490\"><code data-backticks=\"1\" data-nodeid=\"991\">paiement \u00e9chou\u00e9<\/code><\/p>\n<\/li>\n<li data-nodeid=\"491\">\n<p data-nodeid=\"492\"><code data-backticks=\"1\" data-nodeid=\"992\">bouton press\u00e9<\/code><\/p>\n<\/li>\n<li data-nodeid=\"493\">\n<p data-nodeid=\"494\"><code data-backticks=\"1\" data-nodeid=\"993\">pedButton<\/code><\/p>\n<\/li>\n<li data-nodeid=\"495\">\n<p data-nodeid=\"496\"><code data-backticks=\"1\" data-nodeid=\"994\">expiration du d\u00e9lai<\/code><\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"497\"\/>\n<h2 data-nodeid=\"498\">\u2705 \u00c9tape 6 \u2013 Ajouter un \u00e9tat final (facultatif)<\/h2>\n<p data-nodeid=\"499\">Utilisez un <strong data-nodeid=\"1001\">cercle avec une bordure \u00e9paisse<\/strong> pour l&#8217;\u00e9tat final.<\/p>\n<pre class=\"lang-plantuml\" data-nodeid=\"500\"><code data-language=\"plantuml\">[Livr\u00e9] --&gt; [\u25cf]\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"501\">\n<p data-nodeid=\"502\">Tous les syst\u00e8mes n&#8217;ont pas d&#8217;\u00e9tats finaux (comme les feux de circulation qui fonctionnent ind\u00e9finiment).<\/p>\n<\/blockquote>\n<hr data-nodeid=\"503\"\/>\n<h2 data-nodeid=\"504\">\ud83d\udd01 \u00c9tape 7 \u2013 Ajouter des cas limites r\u00e9alistes<\/h2>\n<p data-nodeid=\"505\">Demandez :<\/p>\n<ul data-nodeid=\"506\">\n<li data-nodeid=\"507\">\n<p data-nodeid=\"508\">Pouvez-vous annuler ? \u2192 ajouter <code data-backticks=\"1\" data-nodeid=\"1006\">Annuler<\/code> \u2192 retour \u00e0 <code data-backticks=\"1\" data-nodeid=\"1008\">Inactif<\/code><\/p>\n<\/li>\n<li data-nodeid=\"509\">\n<p data-nodeid=\"510\">Le temps s&#8217;\u00e9coule ? \u2192 <code data-backticks=\"1\" data-nodeid=\"1010\">expiration du d\u00e9lai<\/code> \u2192 retourner \u00e0 <code data-backticks=\"1\" data-nodeid=\"1012\">En attente<\/code><\/p>\n<\/li>\n<li data-nodeid=\"511\">\n<p data-nodeid=\"512\">Peut-il \u00e9chouer ? \u2192 ajouter <code data-backticks=\"1\" data-nodeid=\"1014\">erreur<\/code>\u00a0\u2192\u00a0<code data-backticks=\"1\" data-nodeid=\"1016\">Retour au d\u00e9but<\/code><\/p>\n<\/li>\n<li data-nodeid=\"513\">\n<p data-nodeid=\"514\">Peut-il rester dans le m\u00eame \u00e9tat ? \u2192<strong data-nodeid=\"1021\">transition auto<\/strong><\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"515\">Exemple de<strong data-nodeid=\"1027\">transition auto<\/strong>\u00a0(ajout d&#8217;argent) :<\/p>\n<pre data-nodeid=\"516\"><code>[A cr\u00e9dit] -- pi\u00e8ce ins\u00e9r\u00e9e --&gt; [A cr\u00e9dit]\r\n<\/code><\/pre>\n<hr data-nodeid=\"517\"\/>\n<h2 data-nodeid=\"518\">\ud83d\udea6 \u00c9tape 8 \u2013 Utilisez les gardes pour une logique intelligente<\/h2>\n<p data-nodeid=\"519\">Lorsque<strong data-nodeid=\"1042\">le m\u00eame \u00e9v\u00e9nement<\/strong>\u00a0m\u00e8ne \u00e0\u00a0<strong data-nodeid=\"1043\">des r\u00e9sultats diff\u00e9rents<\/strong>, utilisez<strong data-nodeid=\"1044\">les gardes<\/strong>.<\/p>\n<p data-nodeid=\"520\">Exemple :<\/p>\n<blockquote data-nodeid=\"521\">\n<p data-nodeid=\"522\">Si vous appuyez sur<code data-backticks=\"1\" data-nodeid=\"1047\">pedButton<\/code>\u00a0pendant\u00a0<code data-backticks=\"1\" data-nodeid=\"1049\">Vert<\/code>, mais la demande n\u2019est pas encore pr\u00e9sente \u2192 vous entrez dans<code data-backticks=\"1\" data-nodeid=\"1053\">Vert avec pi\u00e9ton en attente<\/code>.<\/p>\n<\/blockquote>\n<p data-nodeid=\"523\">Mais si la demande est d\u00e9j\u00e0 d\u00e9finie \u2192 vous l&#8217;ignorez simplement.<\/p>\n<pre class=\"lang-plantuml\" data-nodeid=\"524\"><code data-language=\"plantuml\">[Vert v\u00e9hicule] --&gt; [Vert v\u00e9hicule] : pedButton \/ d\u00e9finir demande = vrai\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"525\">\n<p data-nodeid=\"526\">Ceci est une<strong data-nodeid=\"1061\">transition auto avec action<\/strong>\u00a0\u2014 pas un nouvel \u00e9tat.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"527\"\/>\n<h2 data-nodeid=\"528\">\ud83c\udfaf \u00c9tape 9 \u2013 Ajouter les actions d&#8217;entr\u00e9e\/execution\/sortie (facultatif mais puissant)<\/h2>\n<p data-nodeid=\"529\">Vous pouvez \u00e9crire des actions<strong data-nodeid=\"1068\">\u00e0 l&#8217;int\u00e9rieur de la bo\u00eete d&#8217;\u00e9tat<\/strong>:<\/p>\n<pre class=\"lang-plantuml\" data-nodeid=\"530\"><code data-language=\"plantuml\">[Rouge]\r\nentr\u00e9e \/ allumer le rouge\r\nsortie \/ \u00e9teindre le rouge\r\n\ndo \/ attendre 30 secondes\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"531\">\n<p data-nodeid=\"532\">Aide \u00e0 clarifier le comportement sans surcharger les transitions.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"533\"\/>\n<h2 data-nodeid=\"534\">\u2705 \u00c9tape 10 \u2013 Liste de v\u00e9rification finale (posez-vous les questions)<\/h2>\n<table data-nodeid=\"536\">\n<thead data-nodeid=\"537\">\n<tr data-nodeid=\"538\">\n<th data-nodeid=\"540\">\u2705 V\u00e9rifier<\/th>\n<th data-nodeid=\"541\">Pourquoi cela importe<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"544\">\n<tr data-nodeid=\"545\">\n<td data-nodeid=\"546\">Un \u00e9tat initial ?<\/td>\n<td data-nodeid=\"547\">Doit commencer quelque part<\/td>\n<\/tr>\n<tr data-nodeid=\"548\">\n<td data-nodeid=\"549\">Tous les \u00e9tats ont des fl\u00e8ches sortantes (sauf le dernier) ?<\/td>\n<td data-nodeid=\"550\">Pas de cul-de-sac<\/td>\n<\/tr>\n<tr data-nodeid=\"551\">\n<td data-nodeid=\"552\">Pas d&#8217;\u00e9tats inaccessibles ?<\/td>\n<td data-nodeid=\"553\">Chaque \u00e9tat doit \u00eatre accessible<\/td>\n<\/tr>\n<tr data-nodeid=\"554\">\n<td data-nodeid=\"555\">Les transitions sont-elles \u00e9tiquet\u00e9es avec des \u00e9v\u00e9nements ?<\/td>\n<td data-nodeid=\"556\">Cause et effet clairs<\/td>\n<\/tr>\n<tr data-nodeid=\"557\">\n<td data-nodeid=\"558\">Les fl\u00e8ches ne disent pas \u00ab aller vers X \u00bb \u2014 la fl\u00e8che indique la direction<\/td>\n<td data-nodeid=\"559\">Plus propre<\/td>\n<\/tr>\n<tr data-nodeid=\"560\">\n<td data-nodeid=\"561\">Les chemins d&#8217;annulation \/ expiration \/ erreur sont-ils inclus ?<\/td>\n<td data-nodeid=\"562\">Les syst\u00e8mes r\u00e9els \u00e9chouent \u2014 pr\u00e9parez-vous \u00e0 cela<\/td>\n<\/tr>\n<tr data-nodeid=\"563\">\n<td data-nodeid=\"564\">Le diagramme tient \u00e0 l&#8217;\u00e9cran ?<\/td>\n<td data-nodeid=\"565\">Propre et lisible<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-nodeid=\"566\"\/>\n<h2 data-nodeid=\"567\">\ud83d\udccb R\u00e9f\u00e9rence rapide : Syntaxe PlantUML (standard UML)<\/h2>\n<table data-nodeid=\"569\">\n<thead data-nodeid=\"570\">\n<tr data-nodeid=\"571\">\n<th data-nodeid=\"573\">Symbole<\/th>\n<th data-nodeid=\"574\">Signification<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"577\">\n<tr data-nodeid=\"578\">\n<td data-nodeid=\"579\"><code data-backticks=\"1\" data-nodeid=\"1090\">[*]<\/code><\/td>\n<td data-nodeid=\"580\">\u00c9tat initial<\/td>\n<\/tr>\n<tr data-nodeid=\"581\">\n<td data-nodeid=\"582\"><code data-backticks=\"1\" data-nodeid=\"1092\">[*] --&gt; \u00c9tat<\/code><\/td>\n<td data-nodeid=\"583\">Commencer \u00e0 partir de cet \u00e9tat<\/td>\n<\/tr>\n<tr data-nodeid=\"584\">\n<td data-nodeid=\"585\"><code data-backticks=\"1\" data-nodeid=\"1094\">\u00c9tat --&gt; \u00c9tat<\/code><\/td>\n<td data-nodeid=\"586\">Transition<\/td>\n<\/tr>\n<tr data-nodeid=\"587\">\n<td data-nodeid=\"588\"><code data-backticks=\"1\" data-nodeid=\"1096\">\u00e9v\u00e9nement [garde] \/ action<\/code><\/td>\n<td data-nodeid=\"589\">\u00c9tiquette sur la fl\u00e8che<\/td>\n<\/tr>\n<tr data-nodeid=\"590\">\n<td data-nodeid=\"591\"><code data-backticks=\"1\" data-nodeid=\"1098\">\u00e9tat \"Nom\"<\/code><\/td>\n<td data-nodeid=\"592\">\u00c9tat nomm\u00e9 (facultatif)<\/td>\n<\/tr>\n<tr data-nodeid=\"593\">\n<td data-nodeid=\"594\"><code data-backticks=\"1\" data-nodeid=\"1100\">\u00e9tat \"X\" comme X<\/code><\/td>\n<td data-nodeid=\"595\">Alias pour les noms complexes<\/td>\n<\/tr>\n<tr data-nodeid=\"596\">\n<td data-nodeid=\"597\"><code data-backticks=\"1\" data-nodeid=\"1102\">note \u00e0 droite de l'\u00c9tat<\/code><\/td>\n<td data-nodeid=\"598\">Bo\u00eete de commentaire<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr data-nodeid=\"599\"\/>\n<h1 data-nodeid=\"600\">\ud83c\udfaf\u00a0<strong data-nodeid=\"1108\">Exemple 1 : Feu de circulation simple (cycle \u00e0 3 \u00e9tats)<\/strong><\/h1>\n<blockquote data-nodeid=\"601\">\n<p data-nodeid=\"602\">Parfait pour les absolus d\u00e9butants.<\/p>\n<\/blockquote>\n<h3 data-nodeid=\"603\">\ud83e\udde0 Utilisation r\u00e9elle :<\/h3>\n<ul data-nodeid=\"604\">\n<li data-nodeid=\"605\">\n<p data-nodeid=\"606\">Cycle de base du feu de circulation :<strong data-nodeid=\"1115\">Rouge \u2192 Vert \u2192 Jaune \u2192 Rouge<\/strong><\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"607\">\u2705 \u00c9tats :<\/h3>\n<ul data-nodeid=\"608\">\n<li data-nodeid=\"609\">\n<p data-nodeid=\"610\"><code data-backticks=\"1\" data-nodeid=\"1117\">Rouge<\/code><\/p>\n<\/li>\n<li data-nodeid=\"611\">\n<p data-nodeid=\"612\"><code data-backticks=\"1\" data-nodeid=\"1118\">Vert<\/code><\/p>\n<\/li>\n<li data-nodeid=\"613\">\n<p data-nodeid=\"614\"><code data-backticks=\"1\" data-nodeid=\"1119\">Jaune<\/code><\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"615\">\ud83d\udd04 \u00c9v\u00e9nements :<\/h3>\n<ul data-nodeid=\"616\">\n<li data-nodeid=\"617\">\n<p data-nodeid=\"618\"><code data-backticks=\"1\" data-nodeid=\"1121\">le minuteur expir\u00e9<\/code>\u00a0(apr\u00e8s 30s, 25s, 5s)<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"619\">\ud83d\udee0 Code PlantUML (pr\u00eat \u00e0 copier-coller) :<br \/>\n<img decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/img_697b2457c4c0b.png\"\/><\/h3>\n<pre class=\"lang-plantuml\" data-nodeid=\"620\"><code data-language=\"plantuml\">@startuml\r\nskinparam monochrome true\r\n[*] --&gt; Rouge\r\nRouge --&gt; Vert : apr\u00e8s(30s)nle minuteur expir\u00e9\r\nVert --&gt; Jaune : apr\u00e8s(25s)nle minuteur expir\u00e9\r\nJaune --&gt; Rouge   : apr\u00e8s(5s)nle minuteur expir\u00e9\r\n\r\nRouge   : entry \/ allumer le rouge\r\nVert : entry \/ allumer le vert\r\nJaune: entry \/ allumer le jaune\r\n\r\nnote \u00e0 droite de Rouge\r\n  Les v\u00e9hicules doivent s'arr\u00eater\r\nfin note\r\n\r\nnote \u00e0 droite de Vert\r\n  Les v\u00e9hicules peuvent avancer\r\nfin note\r\n\r\nnote \u00e0 droite de Jaune\r\n  Pr\u00e9parez-vous \u00e0 vous arr\u00eater\r\nfin note\r\n@enduml\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"621\">\n<p data-nodeid=\"622\">\u2705\u00a0<strong data-nodeid=\"1139\">Comment l&#8217;utiliser<\/strong>:<br \/>\nAllez sur\u00a0<a data-nodeid=\"1133\" href=\"https:\/\/www.plantuml.com\/plantuml\">https:\/\/www.plantuml.com\/plantuml<\/a>, collez le code, puis appuyez sur \u00ab G\u00e9n\u00e9rer \u00bb.<\/p>\n<\/blockquote>\n<blockquote data-nodeid=\"623\">\n<p data-nodeid=\"624\">\ud83d\uddbc\ufe0f Sortie : un diagramme d\u2019\u00e9tat machine propre et aux allures anim\u00e9es.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"625\"\/>\n<h1 data-nodeid=\"626\">\ud83c\udfaf\u00a0<strong data-nodeid=\"1145\">Exemple 2 : un feu de circulation r\u00e9aliste avec demande de passage pi\u00e9ton<\/strong><\/h1>\n<blockquote data-nodeid=\"627\">\n<p data-nodeid=\"628\">Le\u00a0<strong data-nodeid=\"1151\">la version la plus p\u00e9dagogique<\/strong>\u00a0\u2014 pr\u00e9sente les gardes, les transitions auto et la logique complexe.<\/p>\n<\/blockquote>\n<h3 data-nodeid=\"629\">\ud83e\udde0 Utilisation r\u00e9elle :<\/h3>\n<ul data-nodeid=\"630\">\n<li data-nodeid=\"631\">\n<p data-nodeid=\"632\">Les pi\u00e9tons appuient sur un bouton pour traverser.<\/p>\n<\/li>\n<li data-nodeid=\"633\">\n<p data-nodeid=\"634\">La lumi\u00e8re attend plus longtemps si quelqu\u2019un est en attente.<\/p>\n<\/li>\n<li data-nodeid=\"635\">\n<p data-nodeid=\"636\">Apr\u00e8s la fin du vert, il passe au jaune \u2192 rouge \u2192 marche \u2192 feu clignotant ne pas traverser \u2192 retour au vert.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"637\">\ud83d\udccc \u00c9tats cl\u00e9s :<\/h3>\n<ol data-nodeid=\"638\">\n<li data-nodeid=\"639\">\n<p data-nodeid=\"640\"><code data-backticks=\"1\" data-nodeid=\"1157\">V\u00e9hiculeVert_AucuneDemande<\/code>\u00a0\u2013 vert, aucun pi\u00e9ton en attente<\/p>\n<\/li>\n<li data-nodeid=\"641\">\n<p data-nodeid=\"642\"><code data-backticks=\"1\" data-nodeid=\"1159\">V\u00e9hiculeVert_Pi\u00e9tonEnAttente<\/code>\u00a0\u2013 vert, quelqu\u2019un a appuy\u00e9 sur le bouton<\/p>\n<\/li>\n<li data-nodeid=\"643\">\n<p data-nodeid=\"644\"><code data-backticks=\"1\" data-nodeid=\"1161\">V\u00e9hiculeJaune<\/code>\u00a0\u2013 feu jaune (pas de marche)<\/p>\n<\/li>\n<li data-nodeid=\"645\">\n<p data-nodeid=\"646\"><code data-backticks=\"1\" data-nodeid=\"1163\">ToutRouge<\/code>\u00a0\u2013 d\u00e9lai de s\u00e9curit\u00e9 (tr\u00e8s court)<\/p>\n<\/li>\n<li data-nodeid=\"647\">\n<p data-nodeid=\"648\"><code data-backticks=\"1\" data-nodeid=\"1165\">Pi\u00e9tonMarche<\/code>\u00a0\u2013 signal marche allum\u00e9<\/p>\n<\/li>\n<li data-nodeid=\"649\">\n<p data-nodeid=\"650\"><code data-backticks=\"1\" data-nodeid=\"1167\">Pi\u00e9tonClairance<\/code>\u00a0\u2013 feu clignotant ne pas traverser (temps de d\u00e9gagement)<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"651\"\/>\n<h3 data-nodeid=\"652\">\ud83e\udde9 Transitions cl\u00e9s :<\/h3>\n<ul data-nodeid=\"653\">\n<li data-nodeid=\"654\">\n<p data-nodeid=\"655\"><code data-backticks=\"1\" data-nodeid=\"1170\">boutonPi\u00e9ton<\/code>\u00a0\u2192 si pas en attente \u2192 d\u00e9finir la demande<\/p>\n<\/li>\n<li data-nodeid=\"656\">\n<p data-nodeid=\"657\"><code data-backticks=\"1\" data-nodeid=\"1172\">\u00a0\u2192 le minuteur expir\u00e9<\/code>\u00a0\u2192 passer au jaune (si le temps vert est atteint)<\/p>\n<\/li>\n<li data-nodeid=\"658\">\n<p data-nodeid=\"659\"><code data-backticks=\"1\" data-nodeid=\"1174\">boutonPi\u00e9ton<\/code>\u00a0pendant jaune\/rouge \u2192 se souvenir de la demande<\/p>\n<\/li>\n<li data-nodeid=\"660\">\n<p data-nodeid=\"661\"><code data-backticks=\"1\" data-nodeid=\"1176\">timerWalk<\/code>\u00a0\u2192 passer au clignotement \u00ab ne pas traverser \u00bb<\/p>\n<\/li>\n<li data-nodeid=\"662\">\n<p data-nodeid=\"663\"><code data-backticks=\"1\" data-nodeid=\"1178\">timerClearance<\/code>\u00a0\u2192 r\u00e9initialiser et retourner au vert<\/p>\n<\/li>\n<\/ul>\n<blockquote data-nodeid=\"664\">\n<p data-nodeid=\"665\">\ud83d\udea8 Remarque : Cette version\u00a0<strong data-nodeid=\"1189\">utilise des gardes et des transitions auto<\/strong>, montrant\u00a0<strong data-nodeid=\"1190\">pourquoi les machines d&#8217;\u00e9tat sont puissantes<\/strong>.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"666\"\/>\n<h3 data-nodeid=\"667\">\u2705 Code PlantUML (enti\u00e8rement fonctionnel, pr\u00eat \u00e0 \u00eatre utilis\u00e9) :<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/img_697b24596cebc.png\"\/><\/p>\n<pre class=\"lang-plantuml\" data-nodeid=\"668\"><code data-language=\"plantuml\">@startuml\r\nskinparam monochrome true\r\nskinparam shadowing false\r\nskinparam dpi 120\r\n\r\n[*] --&gt; VehicleGreen_NoDemand\r\n\r\nstate \"Vert v\u00e9hiculen(pas de demande pi\u00e9tonne)\" as VG_No\r\nstate \"Vert v\u00e9hiculen(pi\u00e9ton en attente)\"   as VG_Wait\r\nstate \"Jaune v\u00e9hicule\"                  as VYellow\r\nstate \"Rouge toutn(blocage de s\u00e9curit\u00e9)\"      as AllRed\r\nstate \"Marche pi\u00e9ton\"                    as PedWalk\r\nstate \"Clairance pi\u00e9tonn(clignotement \u00ab ne pas traverser \u00bb)\" as PedClear\r\n\r\nVG_No --&gt; VG_Wait : pedButton \/ setPedDemand = true\r\nVG_No --&gt; VYellow : apr\u00e8s(35s)nor (pedDemand &amp;&amp; minGreenTimeMet)\r\nVG_Wait --&gt; VYellow : apr\u00e8s(45s)nvert prolong\u00e9 quand pi\u00e9ton en attente\r\nVG_Wait --&gt; VG_Wait : pedButton \/ ignorer (d\u00e9j\u00e0 en attente)\r\nVYellow --&gt; AllRed : apr\u00e8s(4s)\r\nAllRed --&gt; PedWalk : apr\u00e8s(1s)\r\nPedWalk --&gt; PedClear : apr\u00e8s(10s)nfin du temps de marche\r\nPedClear --&gt; VG_No : apr\u00e8s(5s)nclairence termin\u00e9en\/ resetPedDemand\r\n\r\nnote bas de VG_No\r\n  Fonctionnement normal\r\n  Pas de demande pi\u00e9tonne\r\nend note\r\n\r\nnote \u00e0 droite de PedClear\r\n  Les pi\u00e9tons terminent leur travers\u00e9e\r\n  Signal clignotant \u00ab ne pas traverser \u00bb\r\nend note\r\n\r\nnote \u00e0 droite de VG_Wait\r\n  Pi\u00e9ton a appuy\u00e9 sur le bouton\r\n  Le vert est prolong\u00e9 jusqu'\u00e0 10s\r\nend note\r\n\r\nnote \u00e0 droite de VYellow\r\n  Pr\u00e9paration \u00e0 l'arr\u00eat\r\n  Changement de lumi\u00e8re v\u00e9hicule\r\nend note\r\n\r\nnote \u00e0 droite de PedWalk\r\n  Signal marche allum\u00e9\r\n  Les pi\u00e9tons peuvent traverser\r\nend note\r\n@enduml\r\n<\/code><\/pre>\n<blockquote data-nodeid=\"669\">\n<p data-nodeid=\"670\">\ud83d\udca1\u00a0<strong data-nodeid=\"1196\">Pourquoi c&#8217;est mieux que la version simple ?<\/strong><\/p>\n<ul data-nodeid=\"671\">\n<li data-nodeid=\"672\">\n<p data-nodeid=\"673\">Montre\u00a0<strong data-nodeid=\"1201\">complexit\u00e9 du monde r\u00e9el<\/strong><\/p>\n<\/li>\n<li data-nodeid=\"674\">\n<p data-nodeid=\"675\">D\u00e9montre\u00a0<strong data-nodeid=\"1209\">gardes<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"1207\">si pedDemand<\/code>)<\/p>\n<\/li>\n<li data-nodeid=\"676\">\n<p data-nodeid=\"677\">Utilise\u00a0<strong data-nodeid=\"1217\">transitions auto<\/strong>\u00a0(<code data-backticks=\"1\" data-nodeid=\"1215\">VG_Wait --&gt; VG_Wait<\/code>)<\/p>\n<\/li>\n<li data-nodeid=\"678\">\n<p data-nodeid=\"679\">Mod\u00e9lise\u00a0<strong data-nodeid=\"1224\">comportement r\u00e9el<\/strong>: le vert peut \u00eatre prolong\u00e9 !<\/p>\n<\/li>\n<li data-nodeid=\"680\">\n<p data-nodeid=\"681\">S\u00e9paration claire entre\u00a0<strong data-nodeid=\"1234\">v\u00e9hicule<\/strong>\u00a0et\u00a0<strong data-nodeid=\"1235\">pi\u00e9ton<\/strong>\u00a0logique<\/p>\n<\/li>\n<\/ul>\n<\/blockquote>\n<hr data-nodeid=\"682\"\/>\n<h2 data-nodeid=\"683\">\ud83c\udf93 Exercices pratiques recommand\u00e9s (\u00e0 faire dans l&#8217;ordre)<\/h2>\n<table data-nodeid=\"685\">\n<thead data-nodeid=\"686\">\n<tr data-nodeid=\"687\">\n<th data-nodeid=\"689\">#<\/th>\n<th data-nodeid=\"690\">Exemple<\/th>\n<th data-nodeid=\"691\">Temps<\/th>\n<th data-nodeid=\"692\">Comp\u00e9tences acquises<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"697\">\n<tr data-nodeid=\"698\">\n<td data-nodeid=\"699\">1<\/td>\n<td data-nodeid=\"700\">Interrupteur lumineux (Allum\u00e9 \u2194 \u00c9teint)<\/td>\n<td data-nodeid=\"701\">5 min<\/td>\n<td data-nodeid=\"702\">Transitions basiques<\/td>\n<\/tr>\n<tr data-nodeid=\"703\">\n<td data-nodeid=\"704\">2<\/td>\n<td data-nodeid=\"705\">Barri\u00e8re (Verrouill\u00e9e \u2194 D\u00e9verrouill\u00e9e)<\/td>\n<td data-nodeid=\"706\">10 min<\/td>\n<td data-nodeid=\"707\">\u00c9v\u00e9nements, gardes<\/td>\n<\/tr>\n<tr data-nodeid=\"708\">\n<td data-nodeid=\"709\">3<\/td>\n<td data-nodeid=\"710\">Feu de circulation (cycle \u00e0 3 \u00e9tats)<\/td>\n<td data-nodeid=\"711\">10 min<\/td>\n<td data-nodeid=\"712\">Chronom\u00e8tres, actions d&#8217;entr\u00e9e<\/td>\n<\/tr>\n<tr data-nodeid=\"713\">\n<td data-nodeid=\"714\">4<\/td>\n<td data-nodeid=\"715\">Distributeur automatique (en attente \u2192 paiement \u2192 distribution)<\/td>\n<td data-nodeid=\"716\">15 min<\/td>\n<td data-nodeid=\"717\">\u00c9v\u00e9nements multiples, logique mon\u00e9taire<\/td>\n<\/tr>\n<tr data-nodeid=\"718\">\n<td data-nodeid=\"719\">5<\/td>\n<td data-nodeid=\"720\">Connexion (vide \u2192 saisie \u2192 envoi \u2192 succ\u00e8s\/\u00e9chec)<\/td>\n<td data-nodeid=\"721\">15 min<\/td>\n<td data-nodeid=\"722\">Gestion des erreurs, \u00e9tats finaux<\/td>\n<\/tr>\n<tr data-nodeid=\"723\">\n<td data-nodeid=\"724\">6<\/td>\n<td data-nodeid=\"725\">Statut de la commande (6 \u00e9tats)<\/td>\n<td data-nodeid=\"726\">20 min<\/td>\n<td data-nodeid=\"727\">Mod\u00e9lisation de syst\u00e8mes du monde r\u00e9el<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote data-nodeid=\"728\">\n<p data-nodeid=\"729\">\u2705 Commencez par #1\u20133 sur papier ou dans draw.io. Ensuite utilisez\u00a0<strong data-nodeid=\"1270\">PlantUML<\/strong>\u00a0pour le reste.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"730\"\/>\n<h2 data-nodeid=\"731\">\ud83e\udde0 Conseils finaux pour r\u00e9ussir<\/h2>\n<ul data-nodeid=\"732\">\n<li data-nodeid=\"733\">\n<p data-nodeid=\"734\"><strong data-nodeid=\"1276\">Commencez petit<\/strong>\u00a0\u2014 n&#8217;essayez pas d&#8217;inclure tout d&#8217;un coup.<\/p>\n<\/li>\n<li data-nodeid=\"735\">\n<p data-nodeid=\"736\"><strong data-nodeid=\"1285\">Utilisez des noms r\u00e9els<\/strong>\u00a0\u2014\u00a0<code data-backticks=\"1\" data-nodeid=\"1281\">En attente d'un jeton<\/code>, pas\u00a0<code data-backticks=\"1\" data-nodeid=\"1283\">\u00c9tat1<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"737\">\n<p data-nodeid=\"738\"><strong data-nodeid=\"1296\">Libellez clairement les transitions<\/strong>\u00a0\u2014\u00a0<code data-backticks=\"1\" data-nodeid=\"1290\">bouton appuy\u00e9<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"1292\">expiration du d\u00e9lai<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"1294\">paiement \u00e9chou\u00e9<\/code>.<\/p>\n<\/li>\n<li data-nodeid=\"739\">\n<p data-nodeid=\"740\"><strong data-nodeid=\"1301\">Dessinez-le d&#8217;abord \u00e0 la main<\/strong>\u00a0\u2014 puis digitalisez-le.<\/p>\n<\/li>\n<li data-nodeid=\"741\">\n<p data-nodeid=\"742\"><strong data-nodeid=\"1306\">Testez-le mentalement<\/strong>: \u00ab Ce syst\u00e8me peut-il se bloquer ? \u00bb \u2192 si oui, ajoutez une transition.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"743\"\/>\n<h2 data-nodeid=\"744\">\ud83d\udccc R\u00e9sum\u00e9 : Votre liste de v\u00e9rification de machine \u00e0 \u00e9tats<\/h2>\n<p data-nodeid=\"745\">\u2705 Un\u00a0<code data-backticks=\"1\" data-nodeid=\"1309\">[*]<\/code>\u00a0(\u00e9tat initial)<br \/>\n\u2705 Les rectangles arrondis pour les \u00e9tats<br \/>\n\u2705 Les fl\u00e8ches pour les transitions<br \/>\n\u2705 Les \u00e9v\u00e9nements sur les fl\u00e8ches (<code data-backticks=\"1\" data-nodeid=\"1317\">apr\u00e8s(30s)<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"1319\">boutonPied<\/code>)<br \/>\n\u2705 Les gardes l\u00e0 o\u00f9 n\u00e9cessaire (<code data-backticks=\"1\" data-nodeid=\"1323\">[demandePied]<\/code>)<br \/>\n\u2705 Les auto-transition pour les actions r\u00e9p\u00e9t\u00e9es<br \/>\n\u2705 Les actions d&#8217;entr\u00e9e\/sortie pour le comportement<br \/>\n\u2705 Mise en page propre, police lisible<\/p>\n<hr data-nodeid=\"746\"\/>\n<h2 data-nodeid=\"747\"><\/h2>\n<h2 data-nodeid=\"1363\">\ud83c\udfaf Mot final : Vous \u00eates maintenant pr\u00eat !<\/h2>\n<p data-nodeid=\"1364\">Vous venez d&#8217;apprendre :<\/p>\n<ul data-nodeid=\"1365\">\n<li data-nodeid=\"1366\">\n<p data-nodeid=\"1367\">Ce qu&#8217;est un <strong data-nodeid=\"1453\">sch\u00e9ma de machine \u00e0 \u00e9tats<\/strong> est<\/p>\n<\/li>\n<li data-nodeid=\"1368\">\n<p data-nodeid=\"1369\">Comment <strong data-nodeid=\"1458\">penser en termes d&#8217;\u00e9tats et d&#8217;\u00e9v\u00e9nements<\/strong><\/p>\n<\/li>\n<li data-nodeid=\"1370\">\n<p data-nodeid=\"1371\">Comment <strong data-nodeid=\"1468\">dessiner<\/strong> et <strong data-nodeid=\"1469\">lire<\/strong> comme un professionnel<\/p>\n<\/li>\n<li data-nodeid=\"1372\">\n<p data-nodeid=\"1373\">Comment <strong data-nodeid=\"1475\">mod\u00e9liser des syst\u00e8mes r\u00e9els<\/strong>, comme les feux de circulation<\/p>\n<\/li>\n<li data-nodeid=\"1374\">\n<p data-nodeid=\"1375\">Comment <strong data-nodeid=\"1481\">utiliser PlantUML<\/strong>\u00e9crire des diagrammes propres et maintenables<\/p>\n<\/li>\n<\/ul>\n<blockquote data-nodeid=\"1376\">\n<p data-nodeid=\"1377\">\ud83c\udf89\u00a0<strong data-nodeid=\"1487\">Vous n&#8217;apprenez pas seulement UML \u2014 vous apprenez \u00e0 mod\u00e9liser des syst\u00e8mes r\u00e9els<\/strong>, un \u00e9tat \u00e0 la fois.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"1378\"\/>\n<h2 data-nodeid=\"1379\">\ud83d\udccc \u00c9tapes suivantes (Votre parcours d&#8217;apprentissage)<\/h2>\n<ol data-nodeid=\"1380\">\n<li data-nodeid=\"1381\">\n<p data-nodeid=\"1382\"><strong data-nodeid=\"1493\">Dessinez le feu de circulation \u00e0 trois \u00e9tats \u00e0 la main<\/strong>\u2014 pas d&#8217;outils, juste du papier.<\/p>\n<\/li>\n<li data-nodeid=\"1383\">\n<p data-nodeid=\"1384\"><strong data-nodeid=\"1498\">Essayez PlantUML<\/strong>avec le code ci-dessus \u2014 voyez-le s&#8217;afficher.<\/p>\n<\/li>\n<li data-nodeid=\"1385\">\n<p data-nodeid=\"1386\"><strong data-nodeid=\"1507\">Modifier<\/strong>: Modifiez les temps d&#8217;attente. Ajoutez un \u00e9tat \u00ab\u00a0surcharge d&#8217;urgence\u00a0\u00bb.<\/p>\n<\/li>\n<li data-nodeid=\"1387\">\n<p data-nodeid=\"1388\"><strong data-nodeid=\"1512\">Essayez la machine \u00e0 boissons<\/strong>\u2192 m\u00eame logique, mais avec de l&#8217;argent.<\/p>\n<\/li>\n<li data-nodeid=\"1389\">\n<p data-nodeid=\"1390\"><strong data-nodeid=\"1517\">Dessinez le v\u00f4tre<\/strong>: Un personnage de jeu (marcher \u2192 sauter \u2192 attaquer \u2192 mort).<\/p>\n<\/li>\n<\/ol>\n<blockquote data-nodeid=\"1391\">\n<p data-nodeid=\"1392\">\ud83d\udcac\u00a0<em data-nodeid=\"1529\">Besoin d&#8217;aide ? Essayez ceci : \u00ab\u00a0Je tente de mod\u00e9liser un\u00a0<strong data-nodeid=\"1528\">[votre syst\u00e8me]<\/strong>\u2014 pouvez-vous m&#8217;aider \u00e0 cr\u00e9er une machine \u00e0 \u00e9tats ?\u00bb<\/em><\/p>\n<\/blockquote>\n<hr data-nodeid=\"1393\"\/>\n<h2 data-nodeid=\"1394\">\ud83d\ude4c Derni\u00e8re r\u00e9flexion<\/h2>\n<blockquote data-nodeid=\"1395\">\n<p data-nodeid=\"1396\">\ud83d\udd04\u00a0<strong data-nodeid=\"1543\">Tout ce qui change \u2014 qu&#8217;il s&#8217;agisse d&#8217;une lumi\u00e8re, d&#8217;une connexion ou d&#8217;une commande \u2014 peut \u00eatre mod\u00e9lis\u00e9 avec une machine \u00e0 \u00e9tats.<\/strong><br \/>\nVous n&#8217;avez pas besoin d&#8217;\u00eatre programmeur pour le comprendre. Il vous suffit de vous demander\u00a0<strong data-nodeid=\"1544\">\u00ab\u00a0Quels \u00e9tats peut prendre cet objet, et qu&#8217;est-ce qui le fait changer ?\u00a0\u00bb<\/strong><\/p>\n<\/blockquote>\n<hr data-nodeid=\"1397\"\/>\n<p data-nodeid=\"1398\">\u2705\u00a0<strong data-nodeid=\"1549\">Vous savez maintenant comment cr\u00e9er un diagramme de machine \u00e0 \u00e9tats professionnel et fonctionnel \u2014 du d\u00e9butant au mod\u00e9lisateur confiant.<\/strong><\/p>\n<blockquote data-nodeid=\"1399\">\n<p data-nodeid=\"1400\">\ud83c\udf89\u00a0<strong data-nodeid=\"1558\">Bonne mod\u00e9lisation !<\/strong><br \/>\nFaites-moi savoir si vous souhaitez une version PDF imprimable, un quiz ou un d\u00e9fi de codage pour tester vos comp\u00e9tences.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"1401\"\/>\n<p class=\"\" data-nodeid=\"1402\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un\u00a0Diagramme d&#8217;\u00e9tat UML\u00a0est un outil visuel puissant qui mod\u00e9lise le comportement dynamique d&#8217;un syst\u00e8me en illustrant comment il passe d&#8217;un<\/p>\n","protected":false},"author":3479,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[144,127],"tags":[],"class_list":["post-10454","post","type-post","status-publish","format-standard","hentry","category-ai","category-unified-modeling-language"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#039;\u00e9tat (pour les absolus d\u00e9butants) - ArchiMetric French<\/title>\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\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#039;\u00e9tat (pour les absolus d\u00e9butants) - ArchiMetric French\" \/>\n<meta property=\"og:description\" content=\"Un\u00a0Diagramme d&#8217;\u00e9tat UML\u00a0est un outil visuel puissant qui mod\u00e9lise le comportement dynamique d&#8217;un syst\u00e8me en illustrant comment il passe d&#8217;un\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\" \/>\n<meta property=\"og:site_name\" content=\"ArchiMetric French\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-04T06:40:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png\" \/>\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=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\"},\"author\":{\"name\":\"archimetric@visual-paradigm.com\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28\"},\"headline\":\"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#8217;\u00e9tat (pour les absolus d\u00e9butants)\",\"datePublished\":\"2026-03-04T06:40:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\"},\"wordCount\":1782,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png\",\"articleSection\":[\"AI\",\"Unified Modeling Language\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\",\"url\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\",\"name\":\"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d'\u00e9tat (pour les absolus d\u00e9butants) - ArchiMetric French\",\"isPartOf\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png\",\"datePublished\":\"2026-03-04T06:40:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage\",\"url\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png\",\"contentUrl\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.archimetric.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#8217;\u00e9tat (pour les absolus d\u00e9butants)\"}]},{\"@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":"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d'\u00e9tat (pour les absolus d\u00e9butants) - ArchiMetric French","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\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/","og_locale":"fr_FR","og_type":"article","og_title":"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d'\u00e9tat (pour les absolus d\u00e9butants) - ArchiMetric French","og_description":"Un\u00a0Diagramme d&#8217;\u00e9tat UML\u00a0est un outil visuel puissant qui mod\u00e9lise le comportement dynamique d&#8217;un syst\u00e8me en illustrant comment il passe d&#8217;un","og_url":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/","og_site_name":"ArchiMetric French","article_published_time":"2026-03-04T06:40:09+00:00","og_image":[{"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png","type":"","width":"","height":""}],"author":"archimetric@visual-paradigm.com","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"archimetric@visual-paradigm.com","Dur\u00e9e de lecture estim\u00e9e":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#article","isPartOf":{"@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/"},"author":{"name":"archimetric@visual-paradigm.com","@id":"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28"},"headline":"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#8217;\u00e9tat (pour les absolus d\u00e9butants)","datePublished":"2026-03-04T06:40:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/"},"wordCount":1782,"commentCount":0,"image":{"@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage"},"thumbnailUrl":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png","articleSection":["AI","Unified Modeling Language"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/","url":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/","name":"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d'\u00e9tat (pour les absolus d\u00e9butants) - ArchiMetric French","isPartOf":{"@id":"https:\/\/www.archimetric.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage"},"image":{"@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage"},"thumbnailUrl":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png","datePublished":"2026-03-04T06:40:09+00:00","author":{"@id":"https:\/\/www.archimetric.com\/fr\/#\/schema\/person\/e4027c9f5b602fc705716009e5671d28"},"breadcrumb":{"@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#primaryimage","url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png","contentUrl":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/01\/1t03qBGv_S_Iz7dxnOnwt_w.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.archimetric.com\/fr\/complete-step-by-step-tutorial-how-to-create-a-state-machine-diagram-for-absolute-beginners\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.archimetric.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Tutoriel \u00e9tape par \u00e9tape complet : Comment cr\u00e9er un diagramme d&#8217;\u00e9tat (pour les absolus d\u00e9butants)"}]},{"@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\/10454","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=10454"}],"version-history":[{"count":0,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/posts\/10454\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/media?parent=10454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/categories?post=10454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.archimetric.com\/fr\/wp-json\/wp\/v2\/tags?post=10454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}