{"id":327899,"date":"2023-03-01T11:34:50","date_gmt":"2023-03-01T10:34:50","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=datalore&#038;p=327899"},"modified":"2024-10-15T19:57:45","modified_gmt":"2024-10-15T18:57:45","slug":"comment-travailler-avec-git-dans-datalore","status":"publish","type":"datalore","link":"https:\/\/blog.jetbrains.com\/fr\/datalore\/2023\/03\/01\/comment-travailler-avec-git-dans-datalore\/","title":{"rendered":"Comment travailler avec Git dans Datalore"},"content":{"rendered":"<p>Git est un outil tr\u00e8s utilis\u00e9 par les \u00e9quipes travaillant dans le domaine de la science des donn\u00e9es. Ce tutoriel explique comment travailler avec Git dans Datalore, notre plateforme collaborative pour la science des donn\u00e9es.\u00a0<\/p>\n<p>Poursuivez votre lecture pour d\u00e9couvrir comment installer des r\u00e9f\u00e9rentiels Git, modifier leur contenu et g\u00e9rer les versions avec Datalore.\u00a0<\/p>\n<h2>Comment installer un r\u00e9f\u00e9rentiel Git dans votre environnement de notebooks Datalore<\/h2>\n<p>Si vous ou votre \u00e9quipe d\u00e9veloppez une collection de scripts Python ou un package compatible avec pip stock\u00e9 dans Git, vous pouvez facilement acc\u00e9der \u00e0 ce r\u00e9f\u00e9rentiel depuis les notebooks Jupyter dans Datalore.\u00a0<\/p>\n<p>Il y a trois fa\u00e7ons de proc\u00e9der. Nous recommandons de choisir la m\u00e9thode en fonction du niveau d&#8217;acc\u00e8s et du type de votre r\u00e9f\u00e9rentiel.<\/p>\n<p><!--more--><\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td class=\"has-text-align-left\" data-align=\"left\">\u00a0<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\"><strong>Utilisation de <\/strong><strong><em>Environment | Repositories<\/em><\/strong><\/td>\n<td class=\"has-text-align-left\" data-align=\"left\"><strong>Utilisation de <\/strong><strong><em>Tools | Terminal <\/em><\/strong><strong>ou de commandes magiques IPython<\/strong><\/td>\n<td class=\"has-text-align-left\" data-align=\"left\"><strong>Utilisation de l&#8217;environnement de base d&#8217;\u00e9quipe<\/strong><strong> (fonctionnalit\u00e9 disponible avec le forfait Enterprise uniquement)<\/strong><\/td>\n<\/tr>\n<tr>\n<td class=\"has-text-align-left\" data-align=\"left\">Niveau d&#8217;acc\u00e8s du r\u00e9f\u00e9rentiel<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">\u00c0 partir d&#8217;un notebook donn\u00e9<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">\u00c0 partir d&#8217;un notebook donn\u00e9 ou de chaque notebook dans un espace de travail choisi<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Tout notebook de tout collaborateur dans tout espace de travail<\/td>\n<\/tr>\n<tr>\n<td class=\"has-text-align-left\" data-align=\"left\">Type de r\u00e9f\u00e9rentiel<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">R\u00e9f\u00e9rentiels Git publics et r\u00e9f\u00e9rentiels Git priv\u00e9s via SSH<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Tout r\u00e9f\u00e9rentiel, public ou priv\u00e9, Git ou non (Artifactory, Space Packages, r\u00e9f\u00e9rentiels PyPI h\u00e9berg\u00e9s de fa\u00e7on priv\u00e9e)<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Tout r\u00e9f\u00e9rentiel, public ou priv\u00e9, Git ou non (Artifactory, Space Packages, r\u00e9f\u00e9rentiels PyPI h\u00e9berg\u00e9s de fa\u00e7on priv\u00e9e)<\/td>\n<\/tr>\n<tr>\n<td class=\"has-text-align-left\" data-align=\"left\">Sp\u00e9cificit\u00e9s de l&#8217;installation<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Installation \u00e0 la demande, pouvant \u00eatre actualis\u00e9e \u00e0 tout moment depuis l&#8217;interface utilisateur<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Lors de l&#8217;installation \u00e0 la demande avec la ligne de commande de Git, certaines options peuvent \u00eatre automatis\u00e9es avec init.sh et install\u00e9es au d\u00e9marrage du calcul du notebook<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Installation dans le cadre de l&#8217;image personnalis\u00e9e de Docker\u00a0<\/td>\n<\/tr>\n<tr>\n<td class=\"has-text-align-left\" data-align=\"left\">Type d&#8217;actualisation<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Bouton d&#8217;actualisation et red\u00e9marrage du noyau<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Utilisation de la ligne de commande Git via Terminal<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Reconstruire l&#8217;image Docker<\/td>\n<\/tr>\n<tr>\n<td class=\"has-text-align-left\" data-align=\"left\">Actions disponibles<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Clone, pull<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Clone, pull, push<\/td>\n<td class=\"has-text-align-left\" data-align=\"left\">Cloner lors de la cr\u00e9ation de l&#8217;image<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<p>Le principal int\u00e9r\u00eat du clonage de r\u00e9f\u00e9rentiels Git ave Datalore est de pouvoir acc\u00e9der \u00e0 des modules, scripts ou fonctions Python personnalis\u00e9s et de les modifier de fa\u00e7on collaborative dans Datalore. Cependant, les notebooks Jupyter clon\u00e9s dans le cadre du r\u00e9f\u00e9rentiel Git actuel ne peuvent pas \u00eatre modifi\u00e9s.\u00a0<\/p>\n<h3>Utilisation de <em>Environment | Repositories<\/em><\/h3>\n<p>Le moyen le plus simple d&#8217;installer un r\u00e9f\u00e9rentiel Git public d&#8217;une interface utilisateur dans un seul notebook Datalore est d&#8217;utiliser <em>Environment | Repositories<\/em>. Vous pouvez choisir la branche du r\u00e9f\u00e9rentiel et actualiser la connexion depuis l&#8217;interface utilisateur.\u00a0<\/p>\n<p>Pour acc\u00e9der \u00e0 un r\u00e9f\u00e9rentiel Git priv\u00e9, il vous suffit de fournir les cl\u00e9s SSH dans <em>Environment | Repositories | Keys<\/em>.\u00a0<\/p>\n<p>Pour acc\u00e9der \u00e0 un r\u00e9f\u00e9rentiel Git priv\u00e9 avec un jeton personnel ou au moyen d&#8217;un nom d&#8217;utilisateur et mot de passe, utilisez un script init.sh ou <em>Terminal<\/em>.\u00a0<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Datalore\/Environment_repositories.gif\" alt=\"\" \/><\/p>\n<figcaption><em>Installation d&#8217;un r\u00e9f\u00e9rentiel Git public dans Datalore<\/em><\/figcaption><\/figure>\n<p>Utilisation de Terminal et de scripts init.sh<\/p>\n<p>Si vous voulez cloner un r\u00e9f\u00e9rentiel Git depuis Terminal, ouvrez un notebook, allez dans <em> Tools | Terminal<\/em>, et utilisez la ligne de commandes Git pour cloner. Si vous souhaitez utiliser un r\u00e9f\u00e9rentiel dans un seul notebook, clonez-le en utilisant <em>Notebook files<\/em>. Si vous voulez utiliser un r\u00e9f\u00e9rentiel dans tous les notebooks de l&#8217;espace de travail, clonez-le dans <em>Workspace files<\/em>.\u00a0<\/p>\n<p>Pour acc\u00e9der aux contenus du r\u00e9f\u00e9rentiel depuis le notebook, importez les fonctions n\u00e9cessaires. Datalore fournit la saisie semi-automatique du code et des fen\u00eatres contextuelles de documentation pour les modules Python import\u00e9s.\u00a0<\/p>\n<p>Pour automatiser l&#8217;ex\u00e9cution d&#8217;un ensemble de commandes de Terminal \u00e0 chaque d\u00e9marrage du notebook, vous pouvez utiliser le script shell init.sh.\u00a0<\/p>\n<p>Vous pouvez notamment configurer l&#8217;acc\u00e8s \u00e0 vos r\u00e9f\u00e9rentiels priv\u00e9s, configurer l&#8217;utilisation de vos jetons personnels, installer des d\u00e9pendances autres que Python et monter des r\u00e9pertoires de fichiers. Vous pouvez faire cela automatiquement avant que le gestionnaire d&#8217;environnement pip ou conda n&#8217;ex\u00e9cute les param\u00e8tres de l&#8217;environnement de base.\u00a0<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-319598\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/02\/image-1-1.gif\" alt=\"\" width=\"1440\" height=\"900\" \/><\/p>\n<figcaption><em>Utilisation de la ligne de commande Git pour cloner un r\u00e9f\u00e9rentiel dans Datalore<\/em><\/figcaption>\n<\/figure>\n<p>Si vous devez sp\u00e9cifier un nom d&#8217;utilisateur ou un mot de passe pour acc\u00e9der aux fichiers dans un r\u00e9f\u00e9rentiel ou faire un push des fichiers, ajoutez les configurations suivantes dans votre script init.sh :\u00a0<\/p>\n<pre class=\"EnlighterJSRAW\">git config --global user.email \"email@example.com\"\ngit config --global user.name \"your name\"<\/pre>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Datalore\/Init_sh_final.gif\" alt=\"\" \/><\/p>\n<figcaption><em>Automatisation de l&#8217;ex\u00e9cution d&#8217;un ensemble de commandes de Terminal avec un script init.sh<\/em><\/figcaption>\n<\/figure>\n<p>Pour rendre le script init.sh disponible pour l&#8217;ensemble des notebooks de l&#8217;espace de travail, assurez-vous que les fichiers de l&#8217;espace de travail sont joints et d\u00e9placez le fichier init.sh de <em>Notebook files<\/em> vers <em>Workspace files<\/em>.<\/p>\n<h3>Utilisation de l&#8217;environnement de base d&#8217;une \u00e9quipe<\/h3>\n<p>Si vous voulez fournir un acc\u00e8s centralis\u00e9 \u00e0 un r\u00e9pertoire donn\u00e9 \u00e0 votre \u00e9quipe, vous pouvez faire de ce r\u00e9f\u00e9rentiel un \u00e9l\u00e9ment de l&#8217;environnement de base personnalis\u00e9.\u00a0<\/p>\n<p>Les environnements de base sont des images Docker personnalis\u00e9es qui peuvent \u00eatre facilement utilis\u00e9es comme configurations pr\u00e9d\u00e9finies lors de la cr\u00e9ation d&#8217;un notebook dans Datalore.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-319542\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/02\/image-1.png\" alt=\"\" width=\"1600\" height=\"1000\" \/><\/p>\n<figcaption><em>Fournir un acc\u00e8s centralis\u00e9 \u00e0 un r\u00e9f\u00e9rentiel Git via un environnement de base personnalis\u00e9<\/em><\/figcaption>\n<\/figure>\n<p>Les environnements de base personnalis\u00e9s ne sont disponibles <a href=\"https:\/\/www.jetbrains.com\/datalore\/enterprise\/\" target=\"_blank\" rel=\"noopener\">que pour les utilisateurs de la version Enterprise<\/a>. Pour configurer un environnement de base personnalis\u00e9 pour Datalore Enterprise, utilisez ce <a href=\"https:\/\/www.jetbrains.com\/help\/datalore\/customize-or-update-environment.html\" target=\"_blank\" rel=\"noopener\">guide<\/a>.\u00a0<\/p>\n<h2>Comment modifier le contenu du r\u00e9f\u00e9rentiel Git dans Datalore<\/h2>\n<p>Si vous voulez modifier des scripts ou des fichiers Python disponibles dans votre r\u00e9f\u00e9rentiel Git, vous pouvez cloner le r\u00e9f\u00e9rentiel dans <em>Attached data<\/em> en utilisant\u00a0:<\/p>\n<ul>\n<li><em>Tools | Terminal<\/em>\u00a0: cela ouvre une session de terminal et permet d&#8217;ex\u00e9cuter les commandes de Git CLI.\u00a0<\/li>\n<li>Commandes magiques Python dans les cellules de code d&#8217;un notebook.<\/li>\n<\/ul>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-319531\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/02\/image.png\" alt=\"\" width=\"1600\" height=\"1000\" \/><\/p>\n<figcaption><em>Modification des scripts ou fichiers Python disponibles dans votre r\u00e9f\u00e9rentiel Git dans Datalore<\/em><\/figcaption>\n<\/figure>\n<p>Si vous souhaitez cloner le r\u00e9f\u00e9rentiel et le modifier depuis un notebook, clonez-le dans <em>Notebook files<\/em>. Si vous voulez modifier le r\u00e9f\u00e9rentiel depuis un notebook de l&#8217;espace de travail, clonez-le dans <em>Workspace files<\/em>. Pour <em>Home workspace files<\/em>, il peut \u00eatre n\u00e9cessaire de joindre <em>Workspace files<\/em> explicitement \u00e0 un notebook.<\/p>\n<p>Apr\u00e8s le clonage du r\u00e9f\u00e9rentiel dans <em>Attached data<\/em>, vous pouvez modifier le contenu du fichier de fa\u00e7on collaborative.\u00a0<\/p>\n<p>Pour les fichiers Python, vous b\u00e9n\u00e9ficiez \u00e9galement de la saisie semi-automatique du code et de la mise en \u00e9vidence des \u00e9l\u00e9ments de syntaxe. Pour utiliser les fonctions mises \u00e0 jour dans votre notebook, vous devez red\u00e9marrer le noyau ou utilisez une extension qui se recharge automatiquement\u00a0:<\/p>\n<pre class=\"EnlighterJSRAW\">%load_ext autoreload\n%autoreload 2<\/pre>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-319553\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/02\/image-2.png\" alt=\"\" width=\"1600\" height=\"911\" \/><\/p>\n<figcaption><em>Collaboration pour la modification de fichiers Python<\/em><\/figcaption>\n<\/figure>\n<p>&#x26a0;&#xfe0f; Actuellement, il n&#8217;est pas possible de modifier les notebooks Jupyter qui font partie de votre r\u00e9f\u00e9rentiel Git clon\u00e9. Pour visualiser un notebook Jupyter depuis le r\u00e9f\u00e9rentiel, vous pouvez cliquer deux fois dessus pour que Datalore ouvre le notebook dans un nouvel onglet. Nous en disons plus sur ce workflow dans le dernier paragraphe de cet article.\u00a0<\/p>\n<h2>Comment g\u00e9rer les versions de votre travail de science de donn\u00e9es avec Git et Datalore<\/h2>\n<p>Les notebooks Jupyter ont une place de premier ordre dans Datalore. Pour assurer le suivi des modifications dans le notebook, nous recommandons d&#8217;utiliser l&#8217;outil <em>History<\/em> de Datalore.\u00a0<\/p>\n<p>En allant dans <em>Tools | History<\/em>, vous pouvez\u00a0:\u00a0<\/p>\n<ul>\n<li>Revenir aux \u00e9tats enregistr\u00e9s pr\u00e9c\u00e9demment.<\/li>\n<li>Voir la diff\u00e9rence entre la version actuelle du notebook et les points de contr\u00f4le.\u00a0<\/li>\n<li>Cr\u00e9er de nouveaux points de contr\u00f4le personnalis\u00e9s en utilisant <em>Ctrl\/Cmd+S<\/em>.<\/li>\n<li>Voir les modifications effectu\u00e9es par vos collaborateurs.<\/li>\n<\/ul>\n<p>De plus, Datalore cr\u00e9e automatiquement des points de contr\u00f4le pour rectifier les actions potentiellement dangereuses, telles que la suppression d&#8217;une cellule de notebook.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-319565\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/02\/image.jpeg\" alt=\"\" width=\"1600\" height=\"911\" \/><\/p>\n<figcaption><em>Contr\u00f4le des versions de vos notebooks dans Datalore<\/em><\/figcaption>\n<\/figure>\n<p>Pour suivre les versions les fichiers Python que vous avez d\u00e9velopp\u00e9 dans Datalore via un syst\u00e8me de contr\u00f4le de versions, vous pouvez utiliser Terminal pour effectuer un commit ou un push des fichiers ou des dossiers vers Git.<\/p>\n<figure class=\"wp-block-image size-full\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-319576\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/02\/image-1.gif\" alt=\"\" width=\"1440\" height=\"900\" \/><\/p>\n<figcaption><em>Contr\u00f4le des versions de vos r\u00e9f\u00e9rentiels Git dans Datalore<\/em><\/figcaption>\n<\/figure>\n<h2>Comment importer un notebook Jupyter de Git vers Datalore<\/h2>\n<p>Vous pouvez importer un notebook Jupyter isol\u00e9 depuis Git \u00e0 partir du syst\u00e8me de fichiers de l&#8217;espace de travail dans Datalore. Cliquez sur la fl\u00e8che bas \u00e0 c\u00f4t\u00e9 du bouton <em>New notebook<\/em> et collez l&#8217;URL du notebook.<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/Datalore\/import_from_git.gif\" alt=\"\" \/><\/p>\n<figcaption><em>Importation d&#8217;un notebook Jupyter de Git dans Datalore<\/em><\/figcaption>\n<\/figure>\n<h2>Feuille de route des am\u00e9liorations relatives \u00e0 Git dans Datalore\u00a0<\/h2>\n<p>Nous travaillons sur une int\u00e9gration plus \u00e9troite avec Github qui devrait \u00eatre d\u00e9ploy\u00e9e plus tard dans l&#8217;ann\u00e9e et souhaitons inclure les workflows et les cas d&#8217;utilisation les plus int\u00e9ressants pour les \u00e9quipes de science des donn\u00e9es.<\/p>\n<p>Alors si vous trouvez que certains workflows importants manquent dans Datalore, n&#8217;h\u00e9sitez pas \u00e0 nous le faire savoir\u00a0! En participant \u00e0 un entretien de 30\u00a0minutes avec nous, vous pouvez recevoir une carte-cadeau Amazon d&#8217;une valeur de 30\u00a0$.<\/p>\n<\/figure>\n\n\n<p align=\"center\">\n    <a class=\"jb-download-button\" href=\"https:\/\/calendly.com\/d\/ydz-rn3-5nj\" target=\"_blank\" rel=\"noopener\">      \n      Participer\n    <\/a>\n<\/p>\n\n\n<p>Il y a de nombreuses fa\u00e7ons de travailler avec les r\u00e9f\u00e9rentiels Git dans Datalore mais nous pensons que l&#8217;outil <em>History<\/em> interne et les fonctionnalit\u00e9s de collaboration en direct vous aideront \u00e0 vous concentrer davantage sur vos t\u00e2ches de science de donn\u00e9es plut\u00f4t que sur l&#8217;utilisation de Git. Si vous devez partager vos scripts, acc\u00e8s ou modifications dans des r\u00e9f\u00e9rentiels internes, vous pouvez le faire avec le <em>Terminal<\/em> de Datalore, les scripts init.sh et le gestionnaire <em>Environment<\/em> \u00e0 tout moment.&nbsp;<\/p>\n<p>\u00c0 bient\u00f4t&nbsp;!<\/p>\n<p>L&#8217;\u00c9quipe Datalore<\/p>\n<p><em>Article original en anglais de<\/em> :<\/p>\n<\/p>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":328154,"comment_status":"closed","ping_status":"closed","template":"","categories":[952,89],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/datalore\/327899"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/datalore"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/datalore"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=327899"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/datalore\/327899\/revisions"}],"predecessor-version":[{"id":518432,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/datalore\/327899\/revisions\/518432"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/328154"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=327899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=327899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=327899"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=327899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}