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 :

Utilisation d'API en PHP [PHP 7]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 28
    Par défaut Utilisation d'API en PHP
    Bonjour à tous et à toutes,

    J'aurais aimé avoir de l'aide et des informations concernant un projet en PHP pour mon stage.

    Pour résumer, je dois créer un outil/site dans lequel on insère un nom de domaine afin de le tester. Une fois le nom de domaine inséré, il le site est testé sur des sites de test de performance (tel que GTmetrix ou autre).

    Il faudra donc que j'utilise les API de ces sites.

    Le but étant de collecter les informations données par ces sites (à titre qualitatif), et d'établir un résultat / une note en fonction des tests à la fin (stockés dans une BDD par exemple).

    J'ai crée le formulaire où rentrer l'URL, la base de donnée, mais n'y connaissant pas grand chose en API, je me demandais comment je peux par exemple utiliser l'API de GTmetrix, afin de par exemple introduire les résultats (telle que la note Google Page Speed ou Yslow qui est donnée par ce site), dans la base de données ? Ou du moins, l'afficher à l'utilisateur ayant effectué le test...

    Je dois aller sur https://github.com/philcook/php-gtmetrix, télécharger les dossiers puis écrire ce code pour que cela fonctionne par exemple (comme donné dans l'API) ?

    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
    use Entrecore\GTMetrixClient\GTMetrixClient; 
    use Entrecore\GTMetrixClient\GTMetrixTest; 
     
    $client = new GTMetrixClient(); 
    $client->setUsername('***@***'); 
    $client->setAPIKey('your-gtmetrix-api-key'); 
     
    $client->getLocations(); 
    $client->getBrowsers(); 
    $test = $client->startTest('http://www.example.com/'); 
     
    //Wait for result 
    while ($test->getState() != GTMetrixTest::STATE_COMPLETED && 
    $test->getState() != GTMetrixTest::STATE_ERROR) { 
    $client->getTestStatus($test); 
    sleep(5); 
    }
    Si vous avez des liens vers des cours, des avis, des informations ou autre, cela me serait d'une très grande utilité.

    Merci d'avance !

    PS : J'utilise Netbeans IDE 8.2 pour coder et XAMPP comme serveur.

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    Bonsoir,
    il faut regarder leur documentation pour le type de requete a leur envoyer
    puis regarder par exemple du coté de Curl.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 28
    Par défaut
    Bonsoir et merci beaucoup pour votre réponse !

    J'ai bien vu la documentation mais je dois dire que je mouline pas mal encore.
    Je suis sous NetBeans, j'ai vu qu'il y avait pas mal de dossiers et fichiers : assets, data, src, tests, .gitignore, .travis.yml, LICENSE.md, README.md, build.xml, composer.json, phpunit.xml. J'ai lu pas mal de chose, je ne sais pas s'il faut tout prendre, juste decoder le .json avec une fonction ou autre...
    Justement je suis en train de regarder du coté de curl j'ai vu quelques trucs là dessus, merci .

    Si on en suit la documentation en suite :
    Pour l'installation il est écrit :
    This client library can be installed using composer
    Il faut donc que je l'installe depuis Netbeans grâce à composer je suppose.

    Puis pour effectuer les tests écrire le code :

    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
    use Entrecore\GTMetrixClient\GTMetrixClient;
    use Entrecore\GTMetrixClient\GTMetrixTest;
    
    $client = new GTMetrixClient();
    $client->setUsername('your@email.com'); // (ici avec l'email de mon inscription car il y a un quota en crédit pour effectuer les tests)
    $client->setAPIKey('your-gtmetrix-api-key'); // (la clé qui m'a été fournie à l'inscription)
    
    $client->getLocations();
    $client->getBrowsers();
    $test = $client->startTest('http://www.example.com/'); // (le site à tester)
     
    //Wait for result
    while ($test->getState() != GTMetrixTest::STATE_COMPLETED &&
        $test->getState() != GTMetrixTest::STATE_ERROR) {
        $client->getTestStatus($test);
        sleep(5);
    }

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    tu dois installer composer en premier si tu comptes utiliser le dernier code
    (ce sera la facon la plus simple de resoudre le probleme)

    Puis installer via composer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    composer require le_nom
    Puis tester le code que tu m'a montré
    Ca donne quoi

    Si tu utilises directement leur Api (sans rien installer)
    il faudra utiliser curl et regarder la documentation expliquée

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 28
    Par défaut
    Citation Envoyé par bonjourajax Voir le message
    tu dois installer composer en premier si tu comptes utiliser le dernier code
    (ce sera la facon la plus simple de resoudre le probleme)

    Puis installer via composer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    composer require le_nom
    Puis tester le code que tu m'a montré
    Ca donne quoi

    Si tu utilises directement leur Api (sans rien installer)
    il faudra utiliser curl et regarder la documentation expliquée
    J'ai regardé du coté de Curl, il y a des exemples donnés ici https://gtmetrix.com/api/?generate_key=1#api-details
    Cela veut dire qu'on a juste à passer depuis l'URL, c'est peut être mieux que d'installer l'API avec composer non ?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 28
    Par défaut
    Citation Envoyé par bonjourajax Voir le message
    tu dois installer composer en premier si tu comptes utiliser le dernier code
    (ce sera la facon la plus simple de resoudre le probleme)

    Puis installer via composer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    composer require le_nom
    Puis tester le code que tu m'a montré
    Ca donne quoi

    Si tu utilises directement leur Api (sans rien installer)
    il faudra utiliser curl et regarder la documentation expliquée
    J'ai installé l'API via la commande composer require philcook/gtmetrix
    Tout c'est bien déroulé.
    Je vais tester le code.

    EDIT : J'ai testé le code, j'obtient des erreurs, j'essaie de voir ce qui ne va pas.

    "Fatal error: Uncaught Error: Class 'Entrecore\GTMetrixClient\GTMetrixClient' not found in E:\xampp\htdocs\projets\ProjetQuadran\resultat.php:41 Stack trace: #0 {main} thrown in E:\xampp\htdocs\projets\ProjetQuadran\resultat.php on line 41"

  7. #7
    Membre chevronné
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2018
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2018
    Messages : 537
    Par défaut
    composer n'installe pas forcément les fichiers au même endroit que l'exemple du code
    cela depend de ton arborescense

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. php utilisant l'API SNMP se comportant ainsi comme ZABBIX
    Par the first one dans le forum Développement
    Réponses: 0
    Dernier message: 29/07/2011, 21h56
  2. Wikiloc : exemple d'utilisation des API SFR dans un script PHP
    Par hhoareau dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 22/02/2011, 11h16
  3. Wikiloc : exemple d'utilisation des API SFR dans un script PHP
    Par hhoareau dans le forum Téléchargez
    Réponses: 0
    Dernier message: 22/02/2011, 11h16
  4. [Java] Utiliser une API Java en PHP
    Par Antoun dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/10/2007, 12h19
  5. Cherche à utiliser l'API de PHP
    Par loupin dans le forum Langage
    Réponses: 6
    Dernier message: 10/08/2006, 18h56

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