Premiers essais de POST avec API REST (Créer un compte)

  • WordPress :6.4
  • Statut : non résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #2464811
    simach52
    Participant
    Initié WordPress
    5 contributions

    Bonjour à tous,

    Je suis nouveau sur ce forum

    Ma configuration WP actuelle

    • Version de PHP/MySQL : je ne sais pas
    • Thème utilisé : Twenty Twenty-Four
    • Extensions en place : Aucune
    • Nom de l’hébergeur : Yulpa
    • Adresse du site : pas en ligne

    Problème(s) rencontré(s) :

    En fait je débute avec l’API Rest pour alimenter ou récupérer des infos sur le site que je gère (je code en python)

    Le but pour moi est d’alimenter mon site internet de façon automatique mais comme je l’ai indiqué je démarre avec cette API

    Comme je ne savais pas exactement par quel bout commencer, j’ai procédé de la façon suivante :

    • J’ai commencé par créer un premier article à la main avec juste :
      • un bloc titre en gras
      • et dessous un bloc divisé en 2 avec : sur la gauche une photo qui pointe sur un URL externe et sur la droite un simple texte
    • Ensuite j’ai lancé une requête GET, pour récupérer l’article que j’avais créé afin de voir sous quel format il apparaissait en Json
    • Je me suis inspiré de ce qui a été téléchargé pour formater un nouvel article et ensuite lancer une requête POST afin de voir comment réagissait l’API WordPress

    L’article est bien créé mais le problème est que je perds la notion de bloc après la requête de POST

    L’article de référence créé sous WordPress apparait correctement avec bien 2 blocs (le titre et l’autre dessous divisé en 2)

    mais celui que j’ai rechargé, en pensant qu’il serait identique à celui de référence, ne l’est pas tout à fait, je perds la notion de bloc …

    Tous les infos sont là, mais mal formatées …

    Est-ce que certains ont l’habitude travailler avec cette API ? Existe t-il une doc en ligne qui explique comment créer des articles ou des pages avec comme pour l’éditeur manuel, la notion de bloc ?

    Merci pour vos conseils et avis

    Cdlt

    Simach

    #2465199
    simach52
    Participant
    Initié WordPress
    5 contributions

    Bonjour à tous,
    Personne n’a un petit avis sur mon problème de blocs, que je perds après avoir chargé mon article via un POST sur l’API Rest WordPress ?
    J’ai passé la semaine à fouiller sur le net et à faire de multiples essais … rien … nada … ça ne veut pas …

    Merci d’avance pour vos pistes

    #2465217
    mathieu42
    Participant
    Maître WordPress
    2013 contributions

    vous parlez bien de l’éditeur de bloc de base gutenberg ?

    dans le retour de base de l’api pour un article, vous avez seulement le champ « rendered » qui est le code html généré et non le code du contenu de l’article.
    pour voir le contenu, vous pouvez faire une extension en php qui vous retournera cette information et vous verrez quelque chose comme cela :

    
    
    <!-- wp:heading -->
    <h2 class="wp-block-heading">titre</h2>
    <!-- /wp:heading -->
    
    <!-- wp:columns -->
    <div class="wp-block-columns">
    <!-- wp:column -->
    <div class="wp-block-column">
    <!-- wp:image {"id":5723,"sizeSlug":"full","linkDestination":"none"} -->
    <figure class="wp-block-image size-full">
    <img src="URL" alt="" class="wp-image-5723"/>
    </figure>
    <!-- /wp:image -->
    </div>
    <!-- /wp:column -->
    <!-- wp:column -->
    <div class="wp-block-column">
    <!-- wp:paragraph -->
    <p>ligne 1</p>
    <!-- /wp:paragraph -->
    <!-- wp:paragraph -->
    <p>ligne 2</p>
    <!-- /wp:paragraph -->
    </div>
    <!-- /wp:column -->
    </div>
    <!-- /wp:columns -->
    
    

     

    #2465221
    simach52
    Participant
    Initié WordPress
    5 contributions

    Bonsoir,
    Merci pour votre réponse
    Oui c’est bien l’éditeur standard en ligne d’Articles et de Pages que j’utilise sous WordPress
    Concernant PHP, je ne suis pas très à l’aise avec ce langage

    Voici ce que je récupère dans le contenu « Content / Rendered » après la requête GET lancée sous POSTMAN :

    <p class=\"has-large-font-size\" style=\"font-style:normal;font-weight:700\">Bloc1 _ TEXTE ARTICLE (GRAS _ GAUCHE)</p>
    <div class=\"wp-block-media-text is-stacked-on-mobile\">
    <figure class=\"wp-block-media-text__media\"><img decoding=\"async\" src=\"https://images.allocine.fr/medias/nmedia/18/62/89/46/18923316.jpg\" alt=\"\"/></figure>
    <div class=\"wp-block-media-text__content\">
    <p class=\"has-text-align-right\" style=\"font-style:italic;font-weight:600\">Bloc2 _ TEXTE PLACE A DROITE DE LA PHOTO (DEMI GRAS ITALIQUE _ DROITE)</p>
    </div>
    </div>
    <p class=\"has-text-align-center has-large-font-size\" style=\"font-style:normal;font-weight:900\">Bloc3 _ TEXTE PLACE SOUS LA PHOTO ET LE TEXTE ASSOCIE (NOIR _ CENTRE)</p>,

    On voit bien les 3 blocs différents : Bloc1, Bloc2 et Bloc3
    J’ai donc essayé de reprendre ce résultat pour le réinjecter dans la zone « content » dans la requête POST
    Le post est bien créé.
    Quand je le reprends en « modification », il a exactement la même tête que mon Article « modèle » à 2 différences près :
    – Je n’ai plus qu’un seul bloc, qui encapsule les 3 blocs créés à l’origine
    – Quand je clique sur « voir l’article », il apparait mais sans respecter la mise en page de l’article d’origine. Toutes les infos sont bien là mais mal formatées

    Je pense qu’il y a un truc que je ne pige pas dans l’utilisation de l’API mais bon comme je débute avec celle-ci, je peine un peu ….

    Merci pour vos pistes de résolution

    #2465222
    mathieu42
    Participant
    Maître WordPress
    2013 contributions

    comme je disais, le champ « rendered » est le résultat html donc ce n’est pas ce qu’il faut envoyer à l’api.
    dans mon exemple, l’information des blocs est dans les commentaires avec « wp: »

    comment aller vous utiliser wordpress ?
    je demande cela parce que développer soi même une extension permet de faire toutes les personnalisations que vous ne trouvez pas dans les extensions existantes.
    si vous savez déjà programmer en python, vous savez ce qu’est une variable et une fonction donc c’est une 1re étape pour apprendre n’importe quel langage.
    l’étape suivante pour développer une extension est d’installer un environnement de travail sur votre ordinateur pour avoir un serveur http. et ensuite la dernière étape est de se familiariser avec les « hook » wordpress.

     

    #2465223
    simach52
    Participant
    Initié WordPress
    5 contributions

    Ok noté pour le champ « rendered »

    Wordpress, je pensais l’utiliser de façon très simple :
    – Je prends le thème par défaut (Twenty Twenty-Four) que je personnalise au minima
    – J’alimente ensuite quelques pages avec des infos qui ne bougent pas dans le temps
    – Et pour finir je pensais pouvoir alimenter d’autres pages (ou articles) en automatique, qui se rajouteraient à ceux créés à la main. Manip à refaire environ toutes les 3 semaines. J’efface les pages précédemment créées et j’en recrée de nouvelles. Sachant que les infos, je les récupère via des requêtes sur une base de données gérées sous MongoDB

    Faut juste que j’arrive à en envoyer dans le champ « content » de ma requête POST, le contenu de mon Article ou de ma Page, avec un format « Edition » et « Publié » qui ait le même aspect
    Je ne pensais devoir mettre le nez dans du PHP ou les « Hook » wordpress pour alimenter mon site WordPress en automatique …
    Merci pour vos réponses en tout cas

    #2465227
    mathieu42
    Participant
    Maître WordPress
    2013 contributions

    ma question était plus du point de vue des fonctionnalités que technique. quel est l’objectif du site ? par qui va-t-il être utilisé ?

     

    #2465246
    simach52
    Participant
    Initié WordPress
    5 contributions

    En fait, je suis reparti de votre exemple et j’ai aussi trouvé sur le net un fichier complet d’exemples :
    https://gist.github.com/mailenkno/63261771cb71ba7a372f8f9574d3256c#file-gutenberg-sample-content-html

    En repartant de ces 2 exemples, j’ai réussi à créé un article dont l’aspect final ressemble à ce qui apparait via l’éditeur en ligne de WordPress
    C’est déjà une bonne chose. Je vais poursuivre dans ce sens
    Merci pour vos réponses

8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.