Comme à son habitude, OVH change les paramètres de configuration de ses hébergements sans vraiment prévenir ses clients, et sans vraiment évaluer toutes les conséquences que cela peut avoir. En l'occurence, depuis quelques jours les appels à l'API OVH que je vous ai proposée ne marchent plus, vous avez droit à une erreur "ERROR (#0000) : Compute time drift fail !"
Comment résoudre ce problème: c'est très simple, vous devez juste modifier la configuration de votre hébergement pour la faire passer de LEGACY à STABLE. Comment faire ? C'est ici : https://docs.ovh.com/fr/fr/web/hosting/modifier-lenvironnement-dexecution-de-mon-hebergement-web/
Une fois cette modification faite, tout remarche comme avant...
Et si vous utilisez mon API pour la première fois, commencez bien évidemment par faire ce petit réglage...
OVH est un très bon hébergeur, mais il n’y a pas que des côtés positifs dans sa manière de travailler. Il y a 6 mois, il nous a déjà imposé un changement de version de PHP, le langage de base utilisé par mes logiciels. J’ai donc dû reprendre tous les sites Internet que j’ai réalisés et m’assurer qu’ils continuaient de fonctionner malgré ce changement de version, et corriger ceux qui ne marchaient plus. Plus de deux mois de travail pour moi, autant de manque à gagner sur le point de vue financier car pendant que je programme, je ne fais pas de sites web.
Là encore, ce changement de langage pour l'API m’oblige à reprogrammer une partie du logiciel. Cela pourrait se faire simplement si on avait suffisamment d’explications de la part d’OVH, des exemples concrets, mais ce ne fut malheureusement pas le cas ici. Il a fallu apprendre par soi-même, avec une documentation obscure, des logiciels imposés, et très peu d’exemples concrets. Et sur le coup, c’est encore un mois de perdu pour ma société, et une perte de chiffre d’affaire non négligeable…
Et je ne vous parlerai pas de la fermeture prématurée du manager V3 à la fin 2015, alors que le nouveau manager était bugée jusqu’à la moelle et totalement incomplet : OVH a dû le remettre en œuvre rapidement devant le mécontentement de ses clients.
Bref la prise en compte des problématiques des clients n’est pas le fort d’OVH, c'est un peu comme son support technique qui met 1 semaine pour répondre à une question, souvent à côté de la plaque, et cela malgré la qualité de ses hébergements.
Tout cela pour vous dire que je continue à veiller à la bonne marche de vos sites Internet en assurant une maintenance continue et à suivre les évolutions technologiques, celles que je choisis ou celles qu’on m’impose. C’est pour cela que certains sites qui ont plus de 10 ans d’âge continuent de fonctionner. Et c’est également à ça que servent les abonnements que vous payez : la maintenance de vos sites en état de marche.
La suite de cet article s’adresse à ceux qui veulent comprendre comment utiliser cette nouvelle interface de programmation (pour les non techniciens, on aborde le langage chinois...) : comme il n’y a que très peu d’exemples de programmation, et que l’interface de programmation est complexe, j’ai préparé quelques tutos pour les techniciens qui sont à la recherche d’informations. Je l'avais promis à certains lecteurs, c'est donc chose faite.
Je vous explique ici comment aller au plus vite pour utiliser la nouvelle API de programmation OVH, sans rentrer dans les détails. Pour ceux qui veulent tout comprendre et aller plus loin, vous trouverez les informations ici :
Pour utiliser la nouvelle API V6 d’OVH, vous avez la possibilité d’utiliser deux wrappers différents :
C’est donc cette deuxième solution qui a ma préférence, mais je vais d’abord vous expliquer pourquoi.
OVH a réalisé un wrapper PHP, qui est sensé simplifier l’utilisation de l’API : https://github.com/ovh/php-ovh. Une fois installé, il est en effet simple d’emploi (quand on a compris le principe de fonctionnement de l’API). La problématique est de l’installer, de faire les premiers cas d’usage et de comprendre comment traiter les erreurs
Malgré tout, bien qu’ayant réussi à la mettre en œuvre, je trouve qu’il y a plusieurs problèmes liés à ce wrapper :
Plus simple à installer et à utiliser, je vous recommande le Wrapper cURL. A l’origine il avait été fait par https://github.com/ovh/php-ovh. Je l’ai récupéré, et je l’ai légèrement modifié pour corriger quelques bugs liés à l’utilisation du GET (gestion des paramètres), simplifier l’usage et faire en sorte qu’il marche aussi avec easyPhp (problèmes SSL).
Je vous mets à disposition 3 fichiers dans un ZIP, qui seront utilisés dans la suite de ce tutotiel. CLIQUEZ ICI pour les télécharger. Installez ces fichiers sur votre hébergement, ou en local avec easyPhp.
Donc pour faire simple et vite, vous avez besoin de 3 clefs : AK, AS, et CK.
Les deux premières AK et AS s’obtiennent ici : https://eu.api.ovh.com/createApp/
Saisissez votre identifiant OVH, votre mot de passe, donnez un nom à votre application, et une description. Cliquez sur « Create Keys »
Là vous obtenez vos deux premières clefs.
(Bien évidemment, les clefs de cet exemple sont fictives, inutile d’essayer de les utiliser)
Ouvrez ensuite le fichier OvhApi.php que je vous ai fourni dans le ZIP. Vous allez devoir mettre les clefs dans ces define en haut de fichier (il faut les mettre à jour) :
Copiez / collez les deux premières clefs dans les « define » correspondant, en haut de fichier
Ensuite, appelez le fichier get-key3.php pour récupérer la 3ème clef, qui s’affichera à l’écran. Vous avez deux actions à faire :
Je vous ai mis un fichier « test.php » dans lequel j’ai codé quelques actions pour que vous ayez des exemples de codes. Vous pouvez obtenir des informations sur un nom de domaine, gérer des mails de redirection, ou gérer des mailing list. Si vous avez besoin de plus d’actions, posez directement vos questions sur le forum OVH (je ne connais pas l’API par cœur, et ne pourrai pas faire tous les tests pour vous ;-)
Pour utiliser test.php, vous devez d’abord initialiser les variables qui se trouvent en haut de fichier avec vos propres noms de domaines, de mailing liste, de mails, etc. J’ai mis des variables « bidon » pour l’exemple, donc ça ne marchera pas de base.
CLIQUEZ ICI POUR TELECHARGER LES FICHIERS
David Arneau - 27 janvier 2016
Parfait ! Je suis heureux que cela ait pu vous aider, les documentations et frameworks OVH étant si peu clairs... Bonne continuation.
JMG - 28 janvier 2016
Dans le même cas que vous je doit adapter plusieur utilisation de l'api .... dans un délais très court .... arfff ... merci ovh !
Merci pour ce mini tuto ... bien plus compréhensible que les explication de ovh pour les " débutants " ...
Manu - 06 février 2016
Merci pour ce tuto. Avec ça c'est beaucoup plus facile pour moi de capter le fonctionnement et faire la transition vers le nouvel API. En effet tout le truc des wrappers c'est cool, mais ce n'est pas forcément pour tout le monde.
Yann Hérault - Cabinet médical Péan - 19 février 2016
Je n'ai rien compris!!!!
Mais je vous fais confiance et je sais comme les changements de règles du jeu unilatéraux sont contraignants et énervants pour les gens qui les subissent.
Bon courage.
Question bête: Pourquoi ne pas changer d'hébergeur?
Antoine - 01 mars 2016
** MERCI **
Je suis tombé sur vos explications pragmatiques juste au moment où j'allais devenir fou avec les "explications" d'OVH pour installer le wrapper PHP.
Votre petit script sera simple à adapter et suffisant pour bien des usages.
David Arneau - 01 mars 2016
Merci à tous pour vos commentaires, si ce petit script vous aide, c'est parfait !
yohan - 27 mars 2016
Bonjour,
MERCI pour ton script. c'est vrai que la nouvelle api ovh est mal documentée.
j'arrive à lancer le script à partir de mon browser, mais impossible de le lancer directement à partir d'une connexion Putty.
message :
PHP Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112) in /var/www/clients/ovh_test/OvhApi.php on line 57
une idée ?
yohan
Jack - 20 juin 2016
Bonjour,
Merci pour ce tuto super génial.Mais j'ai une erreur:
Notice: Undefined index: cartId in C:\xampp\htdocs\tuto-api-ovh\test.php on line 52
merci d'avance
Lionel VEST - 15 juillet 2016
Beaucoup, beaucoup, beaucoup plus simple que le wrapper recommandé par OVH. J'ai vite fait mon choix !
Gautier Michelin - 03 août 2016
Hello,
Pas moyen de mettre les scripts sur Github ?
Cela permettrait d'y contribuer :-)
Gautier
Hawa Bane - 25 août 2016
C'est très généreux de votre part!
Merci énormément, ça m'a été d'une grande utilité!
Pisamad - 04 septembre 2016
Excellent travail. Dommage que ce ne soit pas OVH qui l'ai fait !
greg - 16 septembre 2016
Bonjour et merci !
Une petite question je ne comprend pas comment exécuter cette partie :
Ensuite, appelez le fichier get-key3.php pour récupérer la 3ème clef, qui s’affichera à l’écran. Vous avez deux actions à faire... si je ne comprend pas comment appeler le fichier get-key3.php ?
Merci pour votre aide
AD WAIBE - 16 septembre 2016
En réponse à votre question, si votre site est www.monsite.com, vous placez le ficher get-key3.php sur le site et vous appelez www.monsite.com/get-key3.php
Skipi D - 17 octobre 2016
Bonjour, et merci pour ce tuto.
une petite question, je récupère dans $POST['num'] le numeroe à appeler (qui arrive d'un champ de saisi en html). j'associe $ligne_a rappeler= $POST['num'].
Ensuite :
$resp = $ovh->post('/telephony/ovhtel-xxxx-1/line/xxxxxxxxx/click2Call', array(
'calledNumber' => $POST['num'], // Required: (type: string)
'intercom' => 'false', // Activate the calling number in intercom mode automatically (pick up and speaker automatic activation). (type: boolean)
));
et là j'ai un message :
Array
(
[message] => Missing calledNumber parameter while calling click2Call
)
alors que si je met le numéro en dur ça fonctionne.
si vous avez une idée.
bien cordialement
AD-WAIBE - 17 octobre 2016
A mon avis, votre $POST n'est pas bon (ou plutôt $_POST). Faites un print_r ($_POST) et je pense qu'il n'y a pas de champ "num". Je pense qu'il vaut mieux regarder dans $_REQUEST ['num']
FRanck - 04 novembre 2016
Beau travail ! Claire, limpide ! Merci à vous !
Ludovic - 15 décembre 2016
Bonjour,
Je vous remercie beaucoup pour votre article, qui va beaucoup m'aider! Et quel différence entre l'api ovh et votre fichier!
L'api OVH est plutôt claire pour les différentes actions possible, par contre c'est vraiment le plus grand flou pour la configuration et création des crédits de connexion de base!
Bonne continuation!
Oyeee - 16 décembre 2016
Génial, un grand merci !!
david combarieu - 17 janvier 2017
merci pour ces explications très claires, je vous cite sur mon nouveau blog : http://combari.eu/?it=14846559703950%26i%3DExplications--la-nouvelle-API-PHP-V6-de-OVH
Olivier - 30 janvier 2017
Sincèrement Merci; j'allais devenir chèvre avec la doc et les fichier OVH!
ar - 19 avril 2017
Bonjour,
Merci pour votre tutoriel très bien fait ! Je voudrais executé le get sur un domaine externe (n'étant pas sur mon compte OVH), est-ce possible ? Car ça m'affiche une erreur alors que ça fonctionne bien pour mes NDD...
Merci !
leplutonien - 19 juillet 2017
bon article
Thomas - 26 juillet 2017
Bonjour,
J'ai me message suivant pour "Liste mail de mailing liste" :
Array
(
[message] => This service does not exist
)
Savez-vous à quoi c'est du ?
A+
Thomas
PierreJo - 31 août 2017
Ahhhhh Super !
Merci beaucoup, vraiment...
Les pages d'OVH sont incroyablement succintes et peu claires, là au moins, tout fonctionne rapidement.
Well done, callaghan !
Thibaud - 14 novembre 2018
Bravo !
Il faudrait des gens comme vous chez OVH !
Tweeter |
|
Comment créer un site photo pas cher. Création site web pas cher. Liens vers des sites photo - Comment créer un site Internet pour autoentrepreneur ? - Creation de sites Internet Bassin d'Arcachon - duovip.waibe.fr -
Christophe Arsonnaud - 27 janvier 2016
Merci pour ces scripts php, j'ai enfin compris qqchose, et j'ai pu commencer à corriger le site dont je m'occupe (une association).
Christophe.