connection à une BDD via url

Petit nouveau ! | 6 Messages

06 août 2018, 10:46

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 :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 août 2018, 13:41

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
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 6 Messages

06 août 2018, 14:57

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 août 2018, 18:54

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
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 6 Messages

21 août 2018, 13:41

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.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 août 2018, 15:45

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.
Quand tout le reste a échoué, lisez le mode d'emploi...