Page 1 sur 1
connection à une BDD via url
Posté : 06 août 2018, 10:46
par tenjy
Bonjour à tous,
Je reprends un script sur excel qui fait des métriques depuis des données d'une base. Je vais tout passer en php pour plus de rapidité et de fonctionnalité. Cependant je ne connais pas excel le code utilisé. Dans le code des macros la connection se fait comme suit :
Code : Tout sélectionner
With ws.QueryTables.Add(Connection:= _
"URL;https://URL/d'origine", Destination:=ws.Range("$A$1"))
.Name = "getData"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
etc...
.
.
.
End With
Et je ne sait pas du tout comment me connecter à cette base de donnée.
Pourriez vous m'éclairer sur la nature de cette connection et si je peux la transcrire en php. Merci

Re: connection à une BDD via url
Posté : 06 août 2018, 13:41
par @rthur
Bonjour,
Qu'est-ce qui s'affiche quand tu rentres l'url
https://URL/d'origine dans un navigateur web ?
Si c'est juste un tableau, alors il est probable que ce ne soit pas réellement une base de données mais juste un tableau issu d'une page web qu'Excel reprend tel quel
Re: connection à une BDD via url
Posté : 06 août 2018, 14:57
par tenjy
Bonjour Arthur,
En effet c'est bien un tableau qui s'affiche. J'ai essayé de récupéré le contenu via file_get_contents() de PHP. Cependant cette methode ne me permet pas de récuperer le contenu du tableau.
EDIT : Je pense que comme une connection à un compte est requise, le site redirige vers la page d'acceuil et donc c'est normal que je ne récupère pas les données du tableau. Je vais chercher dans cette direction.
Re: connection à une BDD via url
Posté : 06 août 2018, 18:54
par @rthur
Dans les autres paramètres sous Excel, tu as des identifiants qui sont indiqués ?
Je ne suis pas un expert des connecteurs Excel, mais si ça se trouve c'est une identification HTTP basic, donc tu peux tenter un appel sous cette forme là (toujours dans ton navigateur pour tester) :
https://LOGIN:PASSWORD@url/dorigine
Re: connection à une BDD via url
Posté : 21 août 2018, 13:41
par tenjy
Désolé pour ne pas avoir répondu j'ai travaillé sur un autre sujet qui etait réalisable immédiatement étant en manque de solution.
Pour les identifiants je pourrais simplement utiliser les miens.
Dans le script du macro d'excel les identifiants ne sont pas renseignés. La personne qui a réalisé ce script m'a expliqué qu'elle avait contourné le problème en ajoutant l'option "rester connecté" sur l'application web.
Je ne peux pas faire de même. Je suis connecté en SSH sur un serveur du bureau, donc même si avec ma session je reste connecté, le script qui s'execute depuis le serveur sera considéré comme non logué. Me fais-je comprendre ? ^^
J'ai testé l'identification http mais comme je m'en doutais ça me redirige vers la page de login.
Re: connection à une BDD via url
Posté : 21 août 2018, 15:45
par @rthur
Une solution crado serait de récupérer le cookie qui permet de rester connecté et de le renvoyer à chaque appel en utilisant Curl.
La solution propre serait que tu simules l'action de connexion à la page en PHP via Curl ou Guzzle pour ensuite dans la même session récupérer les données.