IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer des données d'une API et d'un formulaire d'édition de ces données.


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut Récupérer des données d'une API et d'un formulaire d'édition de ces données.
    Salut !

    Alors me voici encore sur ce merveilleux forum afin de trouver de l'aide sur une appli web que j'aimerai faire.
    J'utilise une appli de ticketing qui propose des API Post et GET afin de pouvoir recupérer creer ou modifier des tickets.

    J'utilise la techno HTML/TailWind Css pour le front et javascript pour le end. Cependant à cause d'un probleme de CORS, je me suis rabbatusur du PHP où le post fonctionne bien pour l'API.

    Voilà ma problématique. Je récupérer une liste de tickets lesquels j'aimerais les afficher dans un tableau html avec a coté de chaque ticket un bouton : Editer.
    Lorsqu'on clique sur ce bouton, un formulaire est créer avec le numero de ticket récupérer.

    La récupération des ticket plus l'ajout dans un tableau est OK , mai... je bloque pour la création du bouton qui me permet de récupérer la valeur du numero de ticket.

    Une âme charitable pourrait-elle m'aider svp ?


    Merci énormément pour l'aide que vous m'apporterez.,

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    je bloque pour la création du bouton qui me permet de récupérer la valeur du numero de ticket.
    Tu comptes faire ça comment ? Cela pourrait être un lien qui ressemble à un bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="editTicket.php?id=<?= $ticket->id ?>" class="bouton">Editer le ticket</a>
    Mais si tu es full-JS côté client ce sera tout autre chose.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Hello Seb !!!

    Alors pour la récupération des ticket cela fonctionne bien en Javascript avec le fetch.
    L'idée serait de récupérer la liste des ticket via le fetch en js et de l'afficher sur la page.

    Hum... je peux d'ailleurs générer le lien car le ticketid est récupérer via l'api en js !.

    Mais en faisant, si j'ajoute le numero de ticket dans le lien d'édition générer editTicket.php?id=$ticketid , puis-je récupérer cette variable dans mon editTicket.php ?
    edit : Tu m'a bien aiguillé.

    J'espérais pouvoir tout faire en JS mais, problème de CORS en voulant utiliser l'API avec la méthode POST !


    merci encore pour le temps que tu me consacres !

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Oui tout ceci est possible, mais tout dépend de la techno que tu utilises côté client.

    Comment t'y prends-tu après avoir récupéré les tickets via ton fetch() ? Tu utilises Vue ? Autre chose ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    J'utilise du javascript tout simple .

    Je récupère mes données au format json et je les affiche en html avec des tr et td .

    Cela n'est pas la meilleur des manières ?

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Si si, pourquoi pas. Ceci dit tu peux assez simplement, et très élégamment, le faire avec Vue (framework JS). Tu me diras si tu veux un exemple

    J'ai besoin de plus d'infos pour te répondre. Comment t'y prends-tu pour le changement de page ? Toujours en JS avec manips du DOM ou bien tu exécutes une nouvelle page HTML/JS ?

    Veux-tu veux que PHP ne soit utilisé que pour récupérer la data sous forme de webservice ou bien acceptes-tu que PHP génère une page ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Rebonjour Seb,

    Oui je veux bien avoir un exemple de vue stp!
    Alors voici comment je m'y prends :
    J'ai crée plusieurs fichiers php : dedans j'y ai mis tout mon code html que je replique a chaque fichier et dans lesquel je modifie juste le corps.

    Index.php -> formulaire de creation de ticket

    AjoutTicket.php -> post api avec la methode curl

    RechercherTicket.php --> avec inclusion de javascript pour utiliser la methode Fetch() et retourner un tableau dans rechercheticket.php en czchant le formulaire de recherche comme tu me l'as montré dans un autre poste.

    J'aurais aimé avoir une seule page qui se modifie via js mais - la methode Post via js me renvoi une erreur cors. Je me rabat donc sur des multiples pages php.

    Comment aurais-tu fait ?

    Je te remercie pour ton soutien et aide precieuse !

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par twixi Voir le message
    Oui je veux bien avoir un exemple de vue stp!
    Dans le principe, voici comment tu pourrais récupérer créer un tableau de tickets { id, title, creation } avec lien vers edit-ticket.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <script type="module">
    import * as Vue from "https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.js";
     
    const app = Vue.createApp({
        data() { // Déclaration des données auxquelles Vue va réagir
            return {
                loading: true, // Indique si un message d'attente doit être affiché
                tickets: [], // Tableau allant contenir les tickets obtenus avec le fetch()
            };
        },
        created() {
            fetch("/path/to/get-tickets.php").then(response => {
                return response.json();
            }).then(result => {
                this.$data.loading = false; // Chargement terminé
                this.$data.tickets = result;
            });
        },
    });
     
    app.mount("main"); // On monte Vue sur le <main> HTML
    </script>
     
    <main>
        <h3>Tickets</h3>
        <p v-if="$data.loading === true">Chargement des tickets en cours...</p>
        <p v-else-if="$data.tickets.length === 0">Pas encore de tickets !</p>
        <table v-else>
            <tr v-for="ticket in $data.tickets">
                <td>{{ ticket.id }}</td>
                <td>{{ ticket.creation }}</td>
                <td>{{ ticket.title }}</td>
                <td><a :href="'edit-ticket.php?id=' + ticket.id">Editer</a></td>
            </tr>
        </table>
    </main>
    Voilà, avec ces quelques lignes tu peux :
    -- Afficher un message d'attente le temps que get-tickets.php fournisse la data
    -- Afficher un message adéquat si pas de tickets en base
    -- Mettre en forme le contenu de get-tickets.php obtenu avec fetch()

    Tu peux copier/coller ce script pour le tester, il faudra juste adapter le modèle de data et l'accès à get-tickets.php


    Alors voici comment je m'y prends :
    J'ai crée plusieurs fichiers php : dedans j'y ai mis tout mon code html que je replique a chaque fichier et dans lesquel je modifie juste le corps.
    Tu peux mettre le HTML commun dans un fichier à part qui sera inclus par PHP au besoin.

    Index.php -> formulaire de creation de ticket

    AjoutTicket.php -> post api avec la methode curl

    RechercherTicket.php --> avec inclusion de javascript pour utiliser la methode Fetch() et retourner un tableau dans rechercheticket.php en czchant le formulaire de recherche comme tu me l'as montré dans un autre poste.

    J'aurais aimé avoir une seule page qui se modifie via js
    Sans framework JS type Vue ça va être l'enfer dès que les pages vont commencer à se complexifier.

    mais - la methode Post via js me renvoi une erreur cors. Je me rabat donc sur des multiples pages php.

    Comment aurais-tu fait ?
    J'aurais corrigé le problème avec CORS. Normalement si tu as la main sur le serveur tu dois pouvoir paramétrer cela avec l'en-tête HTTP Access-Control-Allow-Origin => https://developer.mozilla.org/fr/docs/Web/HTTP/CORS
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  9. #9
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Re Seb,

    Alors après avoir bien galérer comme il faut, j'ai pu avoir un rendu qui donnait quelque chose de sympa tu as raison, mais ... je n'y suis pas complètement arrivé.

    voici le resultat de mon appel à l'api :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"Count":27,"Results":[15712,15718,15732,15737,15744,15746,15767,15792,15796,15805,15807,15819,15851,15877,15921,15943,15944,15958,15991,16137,16171,16175,16258,16280,16317,16326,16380],"Success":true,"Message":"The search was successful"}
    Et voici le code que j'ai :

    j'ai un formulaire qui demande un titre, un auteur, une description et un type.
    Bon je n'ai pas réussi a récupérer les variable dans mon javascript, alors j'ai mis l'url de l'api en dure. Le résultat me ressort bien des lignes générées en dynamique (un bel effet ouaw )mais je n'arrive pas a afficher les valeurs de mon Results de l'API qui est un Array. Cela m'affiche tous les tickets créés a chaque ligne.

    27 [ 15712, 15718, 15732, 15737, 15744, 15746, 15767, 15792, 15796, 15805, 15807, 15819, 15851, 15877, 15921, 15943, 15944, 15958, 15991, 16137, 16171, 16175, 16258, 16280, 16317, 16326, 16380 ] Editer
    27 [ 15712, 15718, 15732, 15737, 15744, 15746, 15767, 15792, 15796, 15805, 15807, 15819, 15851, 15877, 15921, 15943, 15944, 15958, 15991, 16137, 16171, 16175, 16258, 16280, 16317, 16326, 16380 ]


    De plus, comment ne déclencher l'appel a l'API qu'une fois le clique du bouton effectué ? J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    searchForm.onsubmit = (event) => {
    mais cela n'a pas fonctionné.

    Encore une fois merci beaucoup beaucoup, j'apprends énormément.


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
     
      <!-- login form -->
      <div class="bg-white pt-4 pb-8  rounded shadow-2xl  w-11/12 h-full">   
        <H2 class="text-2xl font-bold mb-5 text-gray-800">Rechercher un Ticket LanSweeper</H2>
        <div id="recherche"> 
         <form  class="space-y-4" method="post" id="searchForm">
     
          <div>
            <label class="block mb-1 font-bold text-gray-500 ">Titre :</label>
            <input type="text" class="w-3/4  border-2 border-gray-200 p-2 rounded outline-none focus:border-purple-500">
          </div>
     
          <div>
            <label class="block mb-1 font-bold text-gray-500 ">Auteur :</label>
            <input id="searchInput" type="text" class="w-3/4  border-2 border-gray-200 p-2 rounded outline-none focus:border-purple-500">
          </div>
     
          <div>
            <label class="block mb-1 font-bold text-gray-500">Description</label>
            <Textarea rows=5 type="text" class="w-3/4 border-2 border-gray-200  rounded outline-none focus:border-purple-500"></Textarea>
          </div>
     
          <div>
            <label class="block   mb-1 font-bold text-gray-500">Type</label>
            <select w-3/4 name="type" class="border-2 border-gray-200 p-3 rounded outline-none focus:border-purple-500">
                 <option>Incident
                  <option>Demande
                  <option>Achat 
             </select>
          </div>
     
               <input class=" w-1/2 center bg-yellow-400 hover:bg-yellow-300 m-5 p-4 rounded text-yellow-900 hover:text-yellow-800 transition duration-300" type="submit" value="Rechercher"> 
          </form>
        </div>
     
        <div class="result-container">
          <ul id="result"></ul>
        </div>
     
      </div>
     
      <script type="module">
        import * as Vue from "https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.js";
     
        const app = Vue.createApp({
            data() { // Déclaration des données auxquelles Vue va réagir
                return {
                    loading: true, // Indique si un message d'attente doit être affiché
                    tickets: [], // Tableau allant contenir les tickets obtenus avec le fetch()
                };
            },
            created() {
                fetch('hurl de l'api').then(response => {
                    return response.json();
                }).then(result => {
                    this.$data.loading = false; // Chargement terminé
                    this.$data.tickets = result;
                });
            },
        });
     
        //searchForm.onsubmit = (event) => {
        app.mount("main"); // On monte Vue sur le <main> HTML
       // }
        </script>
     
        <main>
            <h3>Tickets</h3>
            <p v-if="$data.loading === true">Chargement des tickets en cours...</p>
            <p v-else-if="$data.tickets.length === 0">Pas encore de tickets !</p>
            <table v-else>
                <tr v-for="ticket in $data.tickets.Results">
                    <td>{{ tickets.Count }}</td>
                    <td>{{ tickets.Results }}</td>
     
                    <td><a :href="'edit-ticket.php?id=' + tickets.Count">Editer</a></td>
                </tr>
            </table>
        </main>

  10. #10
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Malheureusement , je suis bien bloqué

  11. #11
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    Apparemment il manque une balise <script> ligne 78
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
        </main>kets: [], // Tableau allant contenir les tickets obtenus avec le fetch()
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        </main>
        <script>
        kets: [], // Tableau allant contenir les tickets obtenus avec le fetch()
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  12. #12
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Olala,
    Excusez moi, il s'agit d'un mauvais copier coller !

    j'ai corrigé le code.

  13. #13
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 099
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 099
    Points : 8 208
    Points
    8 208
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par twixi Voir le message
    j'ai un formulaire qui demande un titre, un auteur, une description et un type.
    Bon je n'ai pas réussi a récupérer les variable dans mon javascript
    Si tu veux continuer avec Vue ça se fait assez facilement et élégamment ( ) avec les "v-model" (oui j'aime Vue)

    je n'arrive pas a afficher les valeurs de mon Results de l'API qui est un Array. Cela m'affiche tous les tickets créés a chaque ligne.
    J'adapte le code fourni plus haut à ton modèle de données qui se résume à un tableau d'ID tickets. Les modifs sont flaguées avec "MODIFS ICI".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <script type="module">
    import * as Vue from "https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.js";
     
    const app = Vue.createApp({
        data() { // Déclaration des données auxquelles Vue va réagir
            return {
                loading: true, // Indique si un message d'attente doit être affiché
                tickets: [], // Tableau allant contenir les tickets obtenus avec le fetch()
            };
        },
        created() {
            fetch("/path/to/get-tickets.php").then(response => {
                return response.json();
            }).then(result => {
                this.$data.loading = false; // Chargement terminé
                // MODIF ICI
                this.$data.tickets = result.Results; // On récupère la liste d'ID tickets
            });
        },
    });
     
    app.mount("main"); // On monte Vue sur le <main> HTML
    </script>
     
    <main>
        <h3>Tickets</h3>
        <p v-if="$data.loading === true">Chargement des tickets en cours...</p>
        <p v-else-if="$data.tickets.length === 0">Pas encore de tickets !</p>
        <table v-else>
            <!-- MODIFS ICI -->
            <tr v-for="(ticket, index) in $data.tickets">
                <td>{{ index + 1 }}</td>
                <td>Ticket ID {{ ticket }}</td>
                <td><a :href="'edit-ticket.php?id=' + ticket">Editer</a></td>
            </tr>
        </table>
    </main>
    De plus, comment ne déclencher l'appel a l'API qu'une fois le clique du bouton effectué ? J'ai essayé avec
    Soit tu fais en JS classique, soit si tu veux continuer avec Vue tu réagis à l'évènement @submit du <form>.

    Je te donne ton formulaire et l'affichage du résultat gérés avec Vue. J'ai retiré les CSS pour mieux faire apparaître la logique. Le fetch() est maintenant appelé à la soumission du formulaire de recherche, voir le @submit dans le <form> et la fonction searchTickets(). Normalement en modifiant le fetch() tu devrais avoir quelque chose de fonctionnel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    <script type="module">
        import * as Vue from "https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.js";
     
        const app = Vue.createApp({
            data() { // Déclaration des données auxquelles Vue va réagir
                return {
                    loading: null, // Indicateur de chargement : null pas de demande, true chargement en cours, false chargement terminé
                    tickets: [], // Tableau allant contenir les tickets obtenus avec le fetch()
                };
            },
            methods: {
                searchTickets(event) {
                    this.$data.loading = true; // Début du chargement
                    fetch("/path/to/get-tickets.php", {
                        method: "POST",
                        body: new FormData(event.target), // Transmission du formulaire via POST
                    }).then(response => {
                        return response.json();
                    }).then(result => {
                        // Modèle { Success: bool, Message: string, Count: integer, Results: [integer] }
                        this.$data.loading = false; // Chargement terminé
                        this.$data.tickets = result.Results; // On récupère la liste d'ID tickets
                        event.target.reset(); // Remise à zéro du formulaire
                    });
                },
            },
        });
     
        app.mount("div#app"); // On monte Vue sur le <div id="app">
    </script>
     
    <div id="app">
     
        <h2>Rechercher un Ticket LanSweeper</h2>
     
        <form @submit.prevent="searchTickets($event)">
            <label>Titre :</label><input type="text" name="title"><br><br>
            <label>Auteur :</label><input type="text" name="creator"><br><br>
            <label>Description :</label><br><textarea name="description" rows="5"></textarea><br><br>
     
            <label>Type :</label>
            <select name="type">
                <option>Incident
                <option>Demande
                <option>Achat
            </select><br><br>
     
            <input type="submit" value="Rechercher">
        </form>
     
        <div v-if="$data.loading !== null">
            <h3>Tickets</h3>
            <p v-if="$data.loading === true">Chargement des tickets en cours...</p>
            <p v-else-if="$data.tickets.length === 0">Pas de tickets trouvés !</p>
            <table v-else>
                <tr v-for="(ticket, index) in $data.tickets">
                    <td>{{ index + 1 }}</td>
                    <td>Ticket ID {{ ticket }}</td>
                    <td><a :href="'edit-ticket.php?id=' + ticket">Editer</a></td>
                </tr>
            </table>
        </div>
    </div>
    Si tu veux pousser davantage sur Vue je te conseille la série de vidéos de Grafikart :



    Elles commencent à dater (à l'époque Vue 2 était en RC, aujourd'hui nous en sommes à Vue 3), mais le principal y est, et pour ce qui diverge tu peux te baser sur mes exemples.
    Forum Vue => https://www.developpez.net/forums/f2...meworks/vuejs/
    Doc Vue très bien faite => https://v3.vuejs.org/guide/installation.html
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. [XL-2016] Récupérer des données sur le web avec une API GET
    Par GroFlo dans le forum Excel
    Réponses: 0
    Dernier message: 06/05/2019, 22h49
  2. Réponses: 8
    Dernier message: 09/02/2006, 18h05
  3. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22
  4. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18
  5. [Excel] Récupérer des données d'une base Access
    Par FoxDeltaSierra dans le forum Excel
    Réponses: 8
    Dernier message: 03/09/2005, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo