Comment se connecter a une BDD externe?

cs_mimimou Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 31 août 2011 - 16 juil. 2009 à 07:19
cs_mimimou Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 31 août 2011 - 2 août 2009 à 17:09
Bonjour a tous,

J ai fais un site qui demande une authentification utilisateur, dont les users/pass sont stockes dans ma bdd sur mon serveur local.
La page php d authentification va se connecter a la bdd grace aux lignes suivantes :
$user = "root";
$passwd = "";
$host = "localhost";
$bdd = "default_db";
$connect = mysql_connect($host, $user,$passwd) or die("Connection error to host : ".$host);
$db_sel = mysql_select_db($bdd,$connect) or die("Connection error to DB : ".$bdd);

En local tout fonctionne bien, mais dans le cas ou je voudrais deplacer cette bdd sur un serveur externe (en l occurence chez x10hosting.com), comment je peux m y connecter?
J ai essaye de remplacer $host="localhost" par $host="http://x10hosting.com" mais sans success. Normal car lorsque je vais sur phpmyadmin de x10hosting, le nom d'host est "localhost", ce qui implique que je dois deplacer tout mon site web sur leur serveur, ce que je ne veux pas.
Si quelqu un a une idee.......

Merci
M.

8 réponses

lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
27 juil. 2009 à 20:01
Salut,

D'après ce que j'ai compris :
Tu souhaite héberger ton site web en local, et héberger la base de données chez x10hosting.com.

Si cela est le cas :
L'accès externe au serveur de base de données est très souvent désactivé pour raison de sécurité.
Néanmoins, certain fournisseur active le port d'accès externe pour une adresse IP.

Si tu détiens une IP fixe, contacte le support de chez x10hosting.com pour leur demander comment ils peuvent satisfaires à tes besoins.

Une autre solution pour accèder à ta base de données depuis l'extérieur est développer une webservice que tu appelera depuis l'extérieur, qui effectuera les requêtes sur tes tables, et que tu renverras les données.

J'espère t'avoir aider. Dans le cas contraire, n'hésite pas.

Salutations
0
cs_mimimou Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 31 août 2011
31 juil. 2009 à 19:17
Salut, et merci pour ta reponse, la seule et unique recue par ailleurs :)

Neamoins, ce n est pas tout a fait ce que je recherche.
Pour etre plus clair, je bosse dans une boite d effets speciaux 3d, et j ai developpe un site intranet en php qui permet a tous les utilisateurs d avoir acces aux projets sur lesquels on travaille, sans avoir a ouvrir le poste de travail et les sous repertoires pour trouver un fichier, une video, etc...
J ai donc une base de donnees mysql qui contient tous les user/pass, settings du site, infos, etc...
En gros tout fonctionne parfaitement dans notre boite, mais mon but est de le proposer aux boites concurrentes, mais pas gratuit evidemment.

Le truc c est que ce site ne peut etre installe qu en local car il faut acceder au repertoire qui contient tous les projets, ce qui represente des gigas voire teras, donc impossible a heberger sur un serveur externe). s

J avais pense a proposer en telechargement les sources html/php, mais sans les fichiers de connection a la bdd, qui serait elle meme herbergee quelquepart et accessible par ceux qui auront le site en local. Le probleme c est que si ma bdd est hebergee ailleurs, le fichier php qui contient les infos de connection a la bdd doit contenir le login/pass de cette bdd, donc pas possible.

Je suis vraiment a cours d idees alors si tu as une solution pour moi n hesite vraiment pas !
Merci bcp,

Mimo
0
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
31 juil. 2009 à 19:42
Salut,
D'après ce que je comprends :

Tu as ta plateforme de listing des projets et les fichiers des projets.
Tu veux que ta boîte puisse y accèder
Tu veux que des clients qui se soient enregistrer auparavent puissent y accèder.

En plus, tu veux permettre à tes clients d'installer ta plateforme sur leurs serveurs.
Finalement, toute les plateformes installé (celle de ta boite, celles de tes clients) iront lister tes projets de manière centrale.

Juste?
0
cs_mimimou Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 31 août 2011
2 août 2009 à 14:28
Hmm, toujours pas :)

A mon taff nous avons un disk d un tera ou se trouvent tous nos projets, chacun dans un repertoire portant leur nom.
Dans ce meme disk, j ai mon site web ou l on peut s y connecter en allant sur http://192.168.0.178/
En y allant, on arrive a la page d authentification, donc chaque personne inscrite peut y acceder.
Tout ceci est donc en local sur notre serveur.
Maintenant, si je veux installer ce site chez quelqu un d autre, je suis donc oblige de donner toutes mes sources html/php, et configurer un serveur web/mysql pour qu il puisse l utiliser.

Je ne veux pas centraliser les projets de tout le monde sur un seul serveur, si une autre boite utilise ce site, il aura donc ses propres projets en local.
Mais ce que je voudrais, c est centraliser tous les utilisateurs sur un serveur externe pour savoir combien de personnes s enregistrent, combien utilisent ce site, etc...

Mimo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
2 août 2009 à 14:39
Ah d'accord.
Ouff, on y arrive.

Ok.

Donc comme je t'ai noté dans mon première poste, la solution la plus simple quand il est question de "fusionner" les données de plusieurs base de données, c'est le webservice.

Comme je vois la chose : une base de donnée chez une hébergeur (ou dans ta boîte, sur un serveur placé en DMZ, mais c'est pas idéal à cause de la maintenance, les pannes etc... c'est mieux de donner cette tâche à une entreprise tierce) Ensuite, dans ton site, toute les communications entre les différents serveurs de tes clients (qui ont installé ta plateforme) et le serveur de base de données central se font par le webservice.
0
cs_mimimou Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 31 août 2011
2 août 2009 à 14:46
Ok mais si la base de donnees est sur un serveur externe, il va falloir que la page d authentification contienne le login/pass de cette bdd pour s y connecter non?
0
lemmingperceval Messages postés 128 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 2 août 2009 6
2 août 2009 à 15:00
De manière simple, ton système de login sera composer de 2 page :
login.html : c'est la page avec tes inputs, celle où tu entres tes données
loginControl.php : c'est la page qui recoit par POST les données de la page html.

Dans ta page loginControl, tu as le code pour se connecter à ta base de données, faire la requete pour trouver l'utilisateur en fonction de son nom et de son mot de passe. En gros.

Avec ton webservice, c'est différent à quel point de vue?

Eh bien, tu aura en faite un serveur web qui contiendra ta base de données d'utilisateur (la partie serveur de base de données de ton hébergement) et une, deux, x pages php du coté serveur web de ton hébergement (le webservice quoi).

Ca fonctionne comment?

Ok, dans ta page loginControl.php (celle qui se trouve dans ta plateforme), au lieu de faire une requete sur ta base de donnée (mysql_connect, mysql_query, etc), tu envoie une requete au webservice (google te propera de la documentation si tu cherche "php webservice").

Ca marche comment?
Ton script loginControl.php envoie une requete au webservice
Ton webservice, qui est hébergé en localhost par rapport à ton serveur de base de données, effectue les opérations (mysql_connect, mysql_query, etc) et te renvoie le résultat. Toi après, dans loginControl.php, tu gère le résultat.

Le webservice est en gros une partie délocalisé de ta plateforme. Seul ton webservice connait les informations de base de données, le reste de ta plateforme ne connait que ton webservice.
0
cs_mimimou Messages postés 48 Date d'inscription vendredi 17 janvier 2003 Statut Membre Dernière intervention 31 août 2011
2 août 2009 à 17:09
ok je vais tenter de fouiller un peu plus le sujet car je n ai jamais touche aux webservice...
Mais ca a l air d etre une bonne piste pour mon site.
Merci pour les infos en tout cas, et si j ai un soucis j te tiens au courant.

Mimo
0
Rejoignez-nous