{"id":1083,"date":"2013-08-23T12:23:43","date_gmt":"2013-08-23T11:23:43","guid":{"rendered":"http:\/\/www.bocciolesi.fr\/tutoriels-et-cours\/?p=1083"},"modified":"2017-02-24T12:31:38","modified_gmt":"2017-02-24T11:31:38","slug":"transactions-mysql-verrous","status":"publish","type":"post","link":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/","title":{"rendered":"Transactions MySQL &#8211; Verrous"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1083?print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"Afficher le PDF\" \/><span class=\"pdfprnt-button-title pdfprnt-button-pdf-title\">Enregistrer en PDF<\/span><\/a><a href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1083?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><p><span><strong><span style=\"color: #800080;\"><span style=\"color: #3366ff;\">I\u25ba Dans cet article, nous allons \u00e9tudier le <\/span><span style=\"color: #3366ff;\">principe<\/span><span style=\"color: #3366ff;\"><span style=\"color: #3366ff;\">\u00a0<\/span>des transactions et des verrous MySQL.\u00a0<\/span><\/span><\/strong><\/span><\/p>\n<p>Une <strong><span style=\"color: #800080;\">transaction<\/span> <\/strong>permet de rendre\u00a0<span style=\"color: #800080;\"><b>atomique<\/b>\u00a0(<span style=\"color: #3366ff;\"><strong>ACID<\/strong><\/span>)\u00a0<\/span>un processus de plusieurs requ\u00eates. le processus est ex\u00e9cut\u00e9 int\u00e9gralement ou pas du tout, mais jamais partiellement !<\/p>\n<div>\n<ul>\n<li><strong><span style=\"color: #3366ff;\">Atomicit\u00e9<\/span> <\/strong>:Toutes les requ\u00eates de la transaction sont ex\u00e9cut\u00e9es avec succ\u00e8s ou toutes annul\u00e9es.<\/li>\n<li><span style=\"font-size: 1rem; line-height: 1.714285714;\"><strong><span style=\"color: #3366ff;\">Coh\u00e9rence<\/span> <\/strong>: Si la base de donn\u00e9es est dans un \u00e9tat coh\u00e9rent au d\u00e9but d\u2019une transaction, elle le restera \u00e0 la fin de la transaction.<\/span><\/li>\n<li><strong><span style=\"color: #3366ff;\">Isolation<\/span> <\/strong>: les requ\u00eates d\u2019une transaction n\u2019affectent pas les autres transactions.<\/li>\n<li><strong><span style=\"color: #3366ff;\">Durabilit\u00e9<\/span> <\/strong>: au COMMIT, le syst\u00e8me s&#8217;assure de l&#8217;int\u00e9grabilit\u00e9 et de la coh\u00e9rence des donn\u00e9es(aucunes pertes)<\/li>\n<\/ul>\n<\/div>\n<p>?\u00a0Exemple \u00a0: cas du virement bancaire<\/p>\n<p>Mme Wayne souhaite acheter un IPhone en payant par CB. La banque re\u00e7oit l\u2019ordre de paiement du vendeur concernant la commande de Mme Wayne. Elle passe donc les requ\u00eates comme suit :<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1086\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture9.png\" alt=\"Capture\" width=\"691\" height=\"404\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture9.png 691w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture9-300x175.png 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/Capture9-624x364.png 624w\" sizes=\"auto, (max-width: 691px) 100vw, 691px\" \/><\/a><\/p>\n<p><strong><span style=\"color: #3366ff;\">InnoDB<\/span> <\/strong>est par d\u00e9faut en mode AutoCommit, cela veut dire que chaque requ\u00eate est trait\u00e9e de mani\u00e8re ind\u00e9pendante.\u00a0Si l&#8217;on souhaite jouer plusieurs requ\u00eates et v\u00e9rifier leur int\u00e9grit\u00e9, il faudra d\u00e9sactiver le mode autocommit.<\/p>\n<p><strong><span style=\"color: #800080;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #800080;\">?\u00a0Optimisation des requ\u00eates et Verrous<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #800080;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/span><\/strong><\/p>\n<p>Par d\u00e9faut, une requ\u00eate lorsqu&#8217;elle est envoy\u00e9e par le client est mise en attente dans une file jusqu&#8217;\u00e0 ce qu&#8217;elle soit ex\u00e9cut\u00e9e. Les requ\u00eates de modification sont prioritaires par rapport aux simples requ\u00eates de s\u00e9lection. Le syst\u00e8me bloque la table ou la ligne gr\u00e2ce aux principes du verrou implicite. La granularit\u00e9 du verrou implicite peut \u00eatre la ligne seulement (moteur InnoDB) ou la table enti\u00e8re (moteur MyISAM).<\/p>\n<p>Le client peut lui interagir avec le syst\u00e8me en posant un verrou de type explicite. Il existe 2 types de verrous explicites (READ et WRITE)<\/p>\n<p>Un verrou pos\u00e9 en lecture seule (READ) bloque la table en modification pour tout le monde y compris le client qui a pos\u00e9 le verrou :<br \/>\nexemple : <strong><span style=\"color: #3366ff;\">LOCK TABLE MaTable READ;<\/span><\/strong><\/p>\n<p>Un verrou pos\u00e9 en \u00e9criture (WRITE) bloque la table en modification pour tout le monde sauf le client qui a pos\u00e9 le verrou, lui peut donc modifier la table :<br \/>\nexemple :<strong><span style=\"color: #3366ff;\"> LOCK TABLE MaTable WRITE;<\/span><\/strong><\/p>\n<p>Pour d\u00e9poser les verrous, il suffit d\u2019ex\u00e9cuter :<strong><span style=\"color: #3366ff;\"> UNLOCK TABLES;<\/span><\/strong><\/p>\n<p>Exemple :<br \/>\n<span style=\"color: #3366ff;\">LOCK TABLE MaTableEnLecture WRITE, MaTableEnEcriture WRITE;<\/span><br \/>\n<span style=\"color: #3366ff;\">INSERT INTO\u00a0\u00a0MaTableEnLecture\u00a0WRITE SELECT * FROM\u00a0MaTableEnEcriture;<\/span><br \/>\n<span style=\"color: #3366ff;\">TRUNCATE\u00a0MaTableEnEcriture;<\/span><br \/>\n<span style=\"color: #3366ff;\">UNLOCK TABLES;<\/span><\/p>\n<p>Afin d&#8217;optimiser les requ\u00eates MySQL, le client peut donner un ordre de priorit\u00e9 \u00e0 l\u2019ex\u00e9cution des ses requ\u00eates<\/p>\n<p><strong><span style=\"color: #3366ff;\">INSERT DELAYED into MaTable (col1,col2) \u00a0VALUES (x,y);<\/span><\/strong><br \/>\n<strong><span style=\"color: #3366ff;\">DELAYED<\/span> <\/strong>pour les requ\u00eates de type INSERT ou REPLACE redonne instantan\u00e9ment la main au client et place la requ\u00eate dans un tampon m\u00e9moire qui n\u2019ex\u00e9cutera les requ\u00eates que lorsque toutes les autres requ\u00eates &#8216;normales&#8217; auront \u00e9t\u00e9 ex\u00e9cut\u00e9es.<\/p>\n<p><strong><span style=\"color: #3366ff;\">INSERT LOW_PRIORITY into MaTable (col1,col2) \u00a0VALUES (x,y);<\/span><\/strong><br \/>\n<strong><span style=\"color: #3366ff;\">LOW_PRIORITY<\/span><\/strong> ne fonctionne que pour les requ\u00eates de type INSERT | UPDATE | REPLACE | DELETE et pas pour le SELECT. Les requ\u00eates de modification perdent leur priorit\u00e9 naturelle &#8230;<\/p>\n<p><strong><span style=\"color: #3366ff;\">SELECT HIGH_PRIORITY * FROM MaTable;<\/span><\/strong><br \/>\n<strong><span style=\"color: #3366ff;\">HIGH_PRIORITY<\/span> <\/strong>fonctionne \u00e9galement avec le SELECT.<br \/>\nLes requ\u00eates gagnent en priorit\u00e9 &#8230;<\/p>\n<p>&nbsp;<\/p>\n<p><em>Michel BOCCIOLESI<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u25ba Dans cet article, nous allons \u00e9tudier le principe\u00a0des transactions et des verrous MySQL.\u00a0 Une transaction permet de rendre\u00a0atomique\u00a0(ACID)\u00a0un processus de plusieurs requ\u00eates. le processus est ex\u00e9cut\u00e9 int\u00e9gralement &#8230;<\/p>\n","protected":false},"author":1,"featured_media":1547,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,5,39],"tags":[],"class_list":["post-1083","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mariadb","category-mysql","category-tutoriels"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Transactions MySQL - Verrous - Tutoriels et Cours<\/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:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transactions MySQL - Verrous - Tutoriels et Cours\" \/>\n<meta property=\"og:description\" content=\"I\u25ba Dans cet article, nous allons \u00e9tudier le principe\u00a0des transactions et des verrous MySQL.\u00a0 Une transaction permet de rendre\u00a0atomique\u00a0(ACID)\u00a0un processus de plusieurs requ\u00eates. le processus est ex\u00e9cut\u00e9 int\u00e9gralement ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutoriels et Cours\" \/>\n<meta property=\"article:published_time\" content=\"2013-08-23T11:23:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-02-24T11:31:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"424\" \/>\n\t<meta property=\"og:image:height\" content=\"283\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michel BOCCIOLESI\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michel BOCCIOLESI\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/\",\"name\":\"Transactions MySQL - Verrous - Tutoriels et Cours\",\"isPartOf\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"datePublished\":\"2013-08-23T11:23:43+00:00\",\"dateModified\":\"2017-02-24T11:31:38+00:00\",\"author\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\"},\"breadcrumb\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#primaryimage\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"contentUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"width\":424,\"height\":283,\"caption\":\"Cours et tutoriels MySQL et Maria DB\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transactions MySQL &#8211; Verrous\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\",\"name\":\"Tutoriels et Cours\",\"description\":\"Michel Bocciolesi | Formateur Consultant en Informatique\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\",\"name\":\"Michel BOCCIOLESI\",\"description\":\"Michel Bocciolesi est consultant et formateur sp\u00e9cialis\u00e9 en Informatique.\",\"sameAs\":[\"https:\/\/www.mb-creation-web.fr\"],\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/author\/michel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Transactions MySQL - Verrous - Tutoriels et Cours","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:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/","og_locale":"fr_FR","og_type":"article","og_title":"Transactions MySQL - Verrous - Tutoriels et Cours","og_description":"I\u25ba Dans cet article, nous allons \u00e9tudier le principe\u00a0des transactions et des verrous MySQL.\u00a0 Une transaction permet de rendre\u00a0atomique\u00a0(ACID)\u00a0un processus de plusieurs requ\u00eates. le processus est ex\u00e9cut\u00e9 int\u00e9gralement ...","og_url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/","og_site_name":"Tutoriels et Cours","article_published_time":"2013-08-23T11:23:43+00:00","article_modified_time":"2017-02-24T11:31:38+00:00","og_image":[{"width":424,"height":283,"url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","type":"image\/jpeg"}],"author":"Michel BOCCIOLESI","twitter_misc":{"\u00c9crit par":"Michel BOCCIOLESI","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/","name":"Transactions MySQL - Verrous - Tutoriels et Cours","isPartOf":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#primaryimage"},"image":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#primaryimage"},"thumbnailUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","datePublished":"2013-08-23T11:23:43+00:00","dateModified":"2017-02-24T11:31:38+00:00","author":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe"},"breadcrumb":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#primaryimage","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","contentUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","width":424,"height":283,"caption":"Cours et tutoriels MySQL et Maria DB"},{"@type":"BreadcrumbList","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/transactions-mysql-verrous\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/"},{"@type":"ListItem","position":2,"name":"Transactions MySQL &#8211; Verrous"}]},{"@type":"WebSite","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/","name":"Tutoriels et Cours","description":"Michel Bocciolesi | Formateur Consultant en Informatique","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe","name":"Michel BOCCIOLESI","description":"Michel Bocciolesi est consultant et formateur sp\u00e9cialis\u00e9 en Informatique.","sameAs":["https:\/\/www.mb-creation-web.fr"],"url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/author\/michel\/"}]}},"_links":{"self":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1083","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/comments?post=1083"}],"version-history":[{"count":9,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1083\/revisions"}],"predecessor-version":[{"id":1602,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/1083\/revisions\/1602"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/media\/1547"}],"wp:attachment":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/media?parent=1083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/categories?post=1083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/tags?post=1083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}