{"id":1200,"date":"2020-03-11T09:46:28","date_gmt":"2020-03-11T08:46:28","guid":{"rendered":"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/?p=1200"},"modified":"2020-03-11T10:55:58","modified_gmt":"2020-03-11T09:55:58","slug":"jamais-sans-ces-packages","status":"publish","type":"post","link":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/jamais-sans-ces-packages\/","title":{"rendered":"Jamais sans ces packages!"},"content":{"rendered":"<p><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/Lise_Vaudor_headband-1.png\" alt=\"\" \/><\/p>\n<p>Quand quelqu\u2019un vient me demander des <strong>conseils pour d\u00e9buter<\/strong>, ou <strong>effectuer une t\u00e2che particuli\u00e8re<\/strong> sous R, une des premi\u00e8res choses que je fais (outre lui conseiller la lecture de mon blog, bien s\u00fbr -rire machiav\u00e9lique-) est de l\u2019aiguiller sur <strong>quelques packages que je juge incontournables<\/strong>. En effet, s\u2019il existe des points d\u2019entr\u00e9e plus g\u00e9n\u00e9raux dans l\u2019usage de R, avoir quelques points de rep\u00e8re quant aux packages qui simplifient vraiment son usage permet de gagner du temps dans son apprentissage en limitant l\u2019\u00e9tendue des possibles (dans un premier temps tout du moins!).<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/packages_indispensables.png\" \/><\/h2>\n<p>A toutes fins utiles, donc, voici la <strong>liste de mes incontournables<\/strong>. Il va sans dire que c\u2019est une liste qui est susceptible d\u2019\u00e9voluer, non seulement au gr\u00e9 de mes apprentissages, mais aussi au gr\u00e9 des d\u00e9veloppements de R! D\u2019ailleurs, si vous avez vous-m\u00eame des packages chouchous que vous n\u2019y voyez pas, n\u2019h\u00e9sitez pas \u00e0 me l\u2019indiquer en commentaire!!<\/p>\n<h2>Manipulation de donn\u00e9es<\/h2>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_dplyr.png\" width=\"100\" \/> <code>dplyr<\/code>: manipulation des tableaux de donn\u00e9es<\/h2>\n<p>Je l\u2019utilise pour tout ce qui est <strong>op\u00e9ration sur les tableaux<\/strong> (c\u2019est-\u00e0-dire, tout le temps: quel que soit la nature de mon projet, il implique, \u00e0 un moment ou un autre, de manipuler un tableau). D\u2019ailleurs, j\u2019avais d\u00e9j\u00e0 \u00e9crit un billet sur ce package <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/dplyr\/\">ici<\/a> (s\u00e9lectionner des colonnes, filtrer des lignes, faire des tris, faire des regroupements) et <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/combinaisons-et-jointures-de-tables-avec-dplyr\/\">l\u00e0<\/a> (r\u00e9aliser des jointures).<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_tidyr.png\" width=\"100\" \/> <code>tidyr<\/code>: restructuration des tableaux de donn\u00e9es<\/h2>\n<p>J\u2019utilise <code>tidyr<\/code> de mani\u00e8re moins syst\u00e9matique, mais il r\u00e9appara\u00eet tout de m\u00eame assez r\u00e9guli\u00e8rement dans mes scripts pour deux raisons en particulier:<\/p>\n<ul>\n<li>les <strong>pivots<\/strong>, r\u00e9alis\u00e9s \u00e0 l\u2019aide des fonctions <code>gather()<\/code> et <code>spread()<\/code> (d\u00e9sormais remplac\u00e9es par les plus explicites <code>pivot_longer()<\/code> et <code>pivot_wider()<\/code>, respectivement) pour modifier la structure des donn\u00e9es. J\u2019avais \u00e9crit un paragraphe sur ces fonctions \u00e0 la fin de <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/nettoyer-et-structurer-ses-donnees\/\">ce billet<\/a>. Vous pouvez aller voir le tr\u00e8s bon billet de ThinkR sur le sujet <a href=\"https:\/\/thinkr.fr\/manipuler-ses-donnees-avec-tidyr-ou-tout-ce-que-vous-voulez-savoir-sur-le-pivot\/\">ici<\/a>.<\/li>\n<li>les fonctions <code>nest()<\/code> et <code>unnest()<\/code> pour cr\u00e9er des listes-colonnes de jeux de donn\u00e9es (une fonctionnalit\u00e9 que j\u2019utilise souvent en conjonction avec le package <code>purrr<\/code> et la programmation fonctionnelle)<\/li>\n<\/ul>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_readr.png\" width=\"100\" \/> <code>readr<\/code>: lecture des tableaux de donn\u00e9es<\/h2>\n<p>Pour lire des tableaux de donn\u00e9es depuis des fichiers .csv ou .txt, j\u2019utilise le plus souvent le package <code>readr<\/code>. Pour vous dire toute la v\u00e9rit\u00e9, m\u00eame: la plupart du temps, si je constate que le fichier que j\u2019essaie d\u2019importer est un peu \u201csp\u00e9cial\u201d, j\u2019utilise la fonctionnalit\u00e9 \u201cImport Dataset\u201d de RStudio pour explorer les options et me g\u00e9n\u00e9rer la ligne de commande ad hoc (\u201cbouh! la tricheuse!\u201d entends-je certains se r\u00e9crier dans l\u2019audience), et c\u2019est cette fonctionnalit\u00e9 qui (le plus souvent) me sugg\u00e8re l\u2019usage de <code>readr<\/code>\u2026<\/p>\n<h1>Manipulation de donn\u00e9es particuli\u00e8res<\/h1>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_stringr.png\" width=\"100\" \/> <code>stringr<\/code>: Manipulation de cha\u00eenes de caract\u00e8res<\/h2>\n<p>Pour tout ce qui est <strong>manipulation de cha\u00eenes de caract\u00e8res<\/strong> (qui vont au-del\u00e0 de <code>paste0()<\/code>), j\u2019utilise le package <code>stringr<\/code>. J\u2019avais d\u00e9j\u00e0 \u00e9crit un billet de blog sur ce package <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/manipuler-des-strings-avec-r\/\">ici<\/a> ainsi qu\u2019un billet le compl\u00e9tant sur le sujet des expressions r\u00e9guli\u00e8res <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/strings-et-expressions-regulieres\/\">ici<\/a>.<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_tidytext.png\" width=\"100\" \/> <code>tidytext<\/code> pour le traitement du langage naturel<\/h2>\n<p>Pour traiter du langage naturel (des phrases, des paragraphes, des tweets, etc.) dans des traitements de type lexicom\u00e9trie, j\u2019utilise le package <code>tidytext<\/code>. J\u2019y ai consacr\u00e9 <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/Descriptoire\/_book\/langage-naturel.html\">un petit paragraphe du \u201cDescriptoire\u201d<\/a> (un livre en ligne traitant de l\u2019analyse de textes avec R) mais si vous n\u2019avez rien contre une ressource anglophone, les vignettes associ\u00e9es au package (et notamment l\u2019<a href=\"https:\/\/cran.r-project.org\/web\/packages\/tidytext\/vignettes\/tidytext.html\">introduction<\/a>) sont tr\u00e8s tr\u00e8s bien faites\u2026<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_lubridate.png\" width=\"100\" \/> <code>lubridate<\/code>: op\u00e9rations sur des dates, temps, heures<\/h2>\n<p>Ce package permet de g\u00e9rer (sans trop transpirer) toutes les <strong>op\u00e9rations sur les donn\u00e9es de type date, heure, temps<\/strong>, etc. (Lecture, conversion, arrondis, s\u00e9quences de dates, op\u00e9rations de type addition-soustraction, etc.). J\u2019ai \u00e9crit un billet sur ce sujet <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/gerer-des-dates-avec-lubridate-un-jeu-denfant\/\">ici<\/a>.<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_forcats.png\" width=\"100\" \/> <code>forcats<\/code>: op\u00e9rations sur les facteurs (variables cat\u00e9gorielles)<\/h2>\n<p>Pour travailler avec les variables cat\u00e9gorielles et notamment pour modifier les noms des diff\u00e9rents niveaux (c\u2019est peut-\u00eatre un d\u00e9tail pour vous, mais pour moi \u00e7a veut dire beaucoup), j\u2019utilise <code>forcats<\/code>. Voici le <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/manipulation-de-facteurs-avec-forcats\/\">billet<\/a> que j\u2019avais \u00e9crit \u00e0 ce sujet.<\/p>\n<h1>Graphiques<\/h1>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_ggplot2.png\" width=\"100\" \/> <code>ggplot2<\/code> : r\u00e9alisation des graphiques<\/h2>\n<p>Pour la <strong>r\u00e9alisation des graphiques<\/strong>, bien s\u00fbr, je ne jure plus que par <code>ggplot2<\/code>. J\u2019avais \u00e9crit (cela commence \u00e0 faire un moment) un <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/par-ici-les-beaux-graphiques-avec-ggplot2\/\">billet<\/a> sur le sujet. En plus r\u00e9cent et plus complet, il y a aussi un de mes supports de cours <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/Supports_formation\/initR_4_graphiques_introduction.html#(1)\">ici<\/a>, <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/Supports_formation\/initR_5_mapping.html#(1)\">ici<\/a>, et <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/Supports_formation\/initR_6_graphiques_approfondissement.html#(1)\">l\u00e0<\/a>.<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_patchwork.jpg\" width=\"100\" \/> <code>patchwork<\/code>: combinaison de graphiques<\/h2>\n<p>Pour <strong>combiner plusieurs graphiques en\u2026 patchworks<\/strong>, plus ou moins complexes, selon une syntaxe tr\u00e8s intuitive (voir la vignette <a href=\"https:\/\/cran.r-project.org\/web\/packages\/patchwork\/vignettes\/patchwork.html\">ici<\/a>).<\/p>\n<h1>Donn\u00e9es g\u00e9ographiques et cartographie<\/h1>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/sf_logo.gif\" width=\"100\" \/> <code>sf<\/code> : donn\u00e9es g\u00e9ographiques vectorielles<\/h2>\n<p>Pour tout ce qui est <strong>manipulation de donn\u00e9es g\u00e9ographiques<\/strong> de type donn\u00e9es <strong>vectorielles<\/strong>, le package <code>sf<\/code> est non seulement une mine d\u2019or mais il est en plus tidyverse-friendly, c\u2019est-\u00e0-dire qu\u2019il fonctionne bien, notamment, avec les packages dplyr et ggplot2\u2026 J\u2019ai un (tr\u00e8s succinct) support de cours \u00e0 son sujet <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/Supports_formation\/initR_10_objets_spatiaux.html#(1)\">ici<\/a>. En plus d\u00e9taill\u00e9, vous pouvez aller jeter un coup d\u2019oeil \u00e0 cet <a href=\"https:\/\/statnmap.com\/fr\/2018-07-14-initiation-a-la-cartographie-avec-sf-et-compagnie\/\">article de StatnMap<\/a> sur le sujet!<\/p>\n<h2><code>raster<\/code> : donn\u00e9es raster, grid<\/h2>\n<p>C\u2019est (comme son nom l\u2019indique) le package incontournable pour travailler avec des donn\u00e9es de type <strong>raster<\/strong> (ou grid). Il est un peu plus ancien que <strong>sf<\/strong> et de ce fait les op\u00e9rations croisant donn\u00e9es raster et vectorielles qu\u2019il propose sont plut\u00f4t compatibles avec le package <code>sp<\/code> (le pr\u00e9decesseur de <code>sf<\/code>).<\/p>\n<h2><code>tmap<\/code>: r\u00e9alisation de cartes<\/h2>\n<p>C\u2019est un package qui permet de r\u00e9aliser des <strong>cartes<\/strong> qui sont, au choix, <strong>statiques<\/strong> ou <strong>interactives<\/strong>. C\u2019est aussi un package qui s\u2019inscrit dans la logique \u201ctidyverse\u201d (malgr\u00e9 quelques diff\u00e9rences de syntaxe par rapport \u00e0 ggplot2). C\u2019est de ce fait le package de cartographie que j\u2019en suis venue \u00e0 privil\u00e9gier (parmi de nombreux choix possibles). Cependant, il m\u2019arrive encore de faire appel \u00e0 d\u2019autres packages (comme <strong>leaflet<\/strong> par exemple) quand tmap ne r\u00e9pond pas \u00e0 un besoin particulier. Par exemple, l\u2019int\u00e9gration d\u2019une carte produite par tmap dans une appli shiny requiert l\u2019utilisation de commandes que je ne comprends pas trop (mais que je suis malgr\u00e9 tout en mesure d\u2019utiliser, par la gr\u00e2ce de Stack Overflow et du copier-coller ;-)). Or utiliser des choses sans les comprendre, cela me g\u00eane un peu dans certains contextes (par exemple, quand je donne cours!).<\/p>\n<h1>Rapports et applications<\/h1>\n<p>J\u2019aime partager le fruit de mon dur labeur dans des documents et applications qui permettent \u00e0 mes interlocuteurs d\u2019explorer les donn\u00e9es\/rendus\/r\u00e9sultats des mod\u00e8les de mani\u00e8re document\u00e9e, explicit\u00e9e, et parfois interactive\u2026 Voil\u00e0 les outils que j\u2019utilise:<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_rmarkdown.png\" width=\"100\" \/> <img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_knitr.png\" width=\"100\" \/> <code>rmarkdown<\/code> et <code>knitr<\/code>: rapports tricot\u00e9s<\/h2>\n<p>Pour produire des rapports (c\u2019est-\u00e0-dire des documents m\u00ealant un plan, du code R, du texte, des r\u00e9sultats issus de R, des graphiques, etc.), j\u2019utilise les packages <code>rmarkdown<\/code> et <code>knitr<\/code>\u2026 Vous pouvez consulter <a href=\"https:\/\/statistique-et-logiciel-r.com\/guide-de-demarrage-en-r-markdown\/\">ce tutoriel<\/a> de Claire Della Vedova pour vous aider \u00e0 vous lancer\u2026<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_shiny.png\" width=\"100\" \/> <code>shiny<\/code>: applications interactives<\/h2>\n<p>Pour <strong>construire des applications<\/strong>, bien s\u00fbr, <code>shiny<\/code> est le must\u2026 Il y a beaucoup de tutos en ligne (\u00e0 vous de choisir, selon vos pr\u00e9f\u00e9rences, un tuto anglophone\/francophone\/autre, un support sous forme de video\/document\/exercices en ligne\u2026), mais \u00e0 toutes fins utiles, j\u2019ai moi-m\u00eame un petit support de cours disponible <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/tuto-shiny\/\">ici<\/a> -je m\u2019en sers pour donner cours \u201cen vrai\u201d donc c\u2019est plus un aide-m\u00e9moire qu\u2019un guide de d\u00e9marrage, r\u00e9ellement-\u2026<\/p>\n<p>Pour l\u2019instant en tant que \u201cd\u00e9veloppeuse shiny occasionnelle\u201d je m\u2019en tiens essentiellement \u00e0 <code>shiny<\/code> (avec quelquefois quelques additions par exemple <code>colourpicker<\/code> qui propose un widget pour choisir une couleur) mais je suis tr\u00e8s int\u00e9ress\u00e9e par le package <code>golem<\/code> de ThinkR qui permet de <strong>modulariser les applis<\/strong> (car, oui, une appli, \u00e7a peut vite devenir gros, compliqu\u00e9 et bord\u00e9lique) et que j\u2019aimerais bien incorporer \u00e0 mon \u201cworkflow\u201d la prochaine fois que j\u2019aurai l\u2019occasion de d\u00e9velopper une appli shiny\u2026 En plus, chouette, ils ont <a href=\"https:\/\/thinkr-open.github.io\/golem\/index.html\">plein de doc<\/a> pour s\u2019y mettre\u2026<\/p>\n<h1>It\u00e9rations<\/h1>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_purrr.png\" width=\"100\" \/><\/h2>\n<p>Je ne sais pas trop dans quelle rubrique classer <code>purrr<\/code>, mais il figure parmi mes nouveaux incontournables depuis maintenant 2 ou 3 ans. J\u2019avais \u00e9crit un billet \u00e0 ce sujet <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/iterer-des-fonctions-avec-purrr\/\">ici<\/a> De fait, quand on travaille tr\u00e8s r\u00e9guli\u00e8rement avec dplyr (et des \u201ctibbles\u201d), l\u2019usage de purrr pour <strong>remplacer les traditionnelles boucles for<\/strong> est le bienvenu\u2026 L\u2019usage de <code>purrr<\/code> s\u2019accompagne aussi d\u2019un changement de pratiques pour moi puisque j\u2019en viens de plus en plus \u00e0 \u00e9crire mon code \u201cen fonctions\u201d!\u2026<\/p>\n<h1>Graphes<\/h1>\n<p>Pour analyser des r\u00e9seaux et produire des graphes (attention, j\u2019ai bien dit graphes, et non graphiques!) j\u2019utilise deux packages de Thomas Lin Pederson:<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_tidygraph.png\" width=\"100\" \/> <code>tidygraph<\/code> : description et analyse de r\u00e9seaux<\/h2>\n<p>J\u2019en parle succinctement dans <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/des-graphes-bien-peignes\/\">ce billet<\/a>(en promettant un article tr\u00e8s prochainement. C\u2019\u00e9tait il y a six mois. Gloups.): <code>tidygraph<\/code> permet de <strong>traiter des donn\u00e9es en r\u00e9seau<\/strong> (qui sont par cons\u00e9quent structur\u00e9s d\u2019une mani\u00e8re diff\u00e9rente des donn\u00e9es \u201ctidy\u201d telles qu\u2019on les conna\u00eet, o\u00f9 une ligne=un individu et une colonne=une variable). Ce package s\u2019inscrit tr\u00e8s largement dans les principes et la syntaxe du tidyverse.<\/p>\n<h2><img decoding=\"async\" src=\"..\/..\/lise.vaudor\/Rfigures\/packages_indispensables\/logo_ggraph.png\" width=\"100\" \/> <code>ggraph<\/code> : repr\u00e9sentation de r\u00e9seaux en graphes<\/h2>\n<p>J\u2019en parle dans <a href=\"http:\/\/perso.ens-lyon.fr\/lise.vaudor\/des-graphes-bien-jolis\/\">ce billet<\/a>. Ce package permet de repr\u00e9senter des r\u00e9seaux en graphe en reprenant les principes et les \u00e9l\u00e9ments de syntaxe de ggplot2.<\/p>\n<h1>Analyses factorielles<\/h1>\n<p>Entre <code>FactoMineR<\/code> et <code>ade4<\/code>, mon coeur balance\u2026 Pourtant, j\u2019aimerais bien \u00eatre en mesure de trancher une fois pour toute, car pour moi, utiliser deux packages qui font \u201cun peu la m\u00eame chose mais pas exactement\u201d, \u00e7a veut dire que je n\u2019arrive jamais \u00e0 me rappeler les commandes ni de l\u2019un ni de l\u2019autre.<\/p>\n<p>Cependant, je pense que je n\u2019arriverai jamais \u00e0 trancher, car si je trouve <code>FactoMineR<\/code> un peu plus clair, je trouve aussi <code>ade4<\/code> un peu plus complet. Quelque part, on retrouve la \u201cpatte\u201d des disciplines qui les a vus \u00e9merger: plus agronomique (culture m\u00e9thodique et ma\u00eetris\u00e9e) c\u00f4t\u00e9 <code>FactoMineR<\/code>, plus \u00e9cologique (\u00e9cosyst\u00e8me foisonnant et en \u00e9volution) c\u00f4t\u00e9 <code>ade4<\/code>\u2026 (Que les auteurs de ces packages me pardonnent ces clich\u00e9s, c\u2019est juste comme \u00e7a que je m\u2019explique mon \u201cfeeling\u201d vis-\u00e0-vis de l\u2019un ou de l\u2019autre \ud83d\ude09 ). D\u2019ailleurs, j\u2019ai fait mes \u00e9tudes dans une \u00e9cole d\u2019ing\u00e9nieur agronome, et mon doctorat dans un laboratoire d\u2019\u00e9cologie, et vous comprendrez donc pourquoi, m\u00eame d\u2019un point de vue disciplinaire, j\u2019ai du mal \u00e0 faire mon choix entre ces deux packages\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quand quelqu\u2019un vient me demander des conseils pour d\u00e9buter, ou effectuer une t\u00e2che particuli\u00e8re sous R, une des premi\u00e8res choses que je fais (outre lui conseiller la lecture de mon blog, bien s\u00fbr -rire machiav\u00e9lique-) est de l\u2019aiguiller sur quelques packages que je juge incontournables. En effet, s\u2019il existe des points d\u2019entr\u00e9e plus g\u00e9n\u00e9raux dans l\u2019usage de R, avoir quelques points de rep\u00e8re quant aux packages qui simplifient vraiment son.. <a href=\"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/jamais-sans-ces-packages\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-1200","post","type-post","status-publish","format-standard","hentry","category-tous-les-posts"],"_links":{"self":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts\/1200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/comments?post=1200"}],"version-history":[{"count":7,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts\/1200\/revisions"}],"predecessor-version":[{"id":1206,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/posts\/1200\/revisions\/1206"}],"wp:attachment":[{"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/media?parent=1200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/categories?post=1200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/perso.ens-lyon.fr\/lise.vaudor\/wp-json\/wp\/v2\/tags?post=1200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}