Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 16h11   #1
Invité de passage
 
Homme
Inscription : juin 2011
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 14
Points : 2
Points : 2
Par défaut Regroupement d'info sur serveur distant

Bonjour à tous,

Moi et deux amis voulons mettre en commun et centraliser certaines informations saisies sur nos sites (php5/mysql).
Ces informations sont entrées via des formulaires directement par nous (ou certains membres) et peuvent aussi êtres modifiées.

En gros nous voulons regrouper sur une seule base de données ces infos (elles sont aussi enregistrées en locale, traitement déjà présent sur les sites)
J'aimerais avoir vos avis sur la solution qui vous semble la plus adaptée et la plus simple à mettre en oeuvre.


- Est-ce qu'il est possible en php de créer une classe qui communique avec une bdd présente sur un autre serveur ?
Si c'est le cas comment procéder ? Y a t-il des précautions particulières à prendre au niveau des connections à la db déjà présente sur le site ?
Toujours dans ce cas est-ce que cette classe peut être elle aussi présente uniquement sur le serveur (plus simple pour les maj) ou se trouvera la base et etre appelée de "l’extérieur" (ça commence à ressembler à un webservice non ?)

- Créer un Webservice (je n'y connais pas grand chose, mais si c'est le mieux ...)

- Autres possibilités ?



Merci pour votre aide
zakaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 16h57   #2
Membre du Club
 
Maxime
Inscription : décembre 2009
Messages : 85
Détails du profil
Informations personnelles :
Nom : Maxime
Âge : 23
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : décembre 2009
Messages : 85
Points : 56
Points : 56
Bonjour,

A mon sens, la meilleure solution serait de centraliser la base de données sur un seul serveur et les serveurs distants se connectent sur le premier.
Pour se faire il faut modifier le fichier de config de mysql du serveur :
Dans my.cnf ( Généralement situé dans /etc/mysql/my.cnf )
Il faut commenter la ligne suivante :Puis ajouter ceci :
Code :
1
2
port = 3306
bind-address = 0.0.0.0
A moins qu'il soit possible dans le my.cnf de ne spécifier que les adresses des serveurs autorisés à la place de 0.0.0.0 mais je ne crois pas.

Ensuite, dans mysql (via PhpMyadmin par exemple), il faut s'assurer que l'utilisateur soit autorisé à se connecter à distance (Donc que le serveur soit : % et non localhost).

Après pour se connecter en php il suffit d'utiliser la fonction mysql_connect comme d'habitude en passant en premier paramètre, l'ip du serveur qui contient la base de données, et pour identifiants, ceux définis pour cette base.
D'un point de vue sécurité, il n'y rien de plus à surveiller que ce qui se fait lorsque l'on utilise MySQL.

Cela peut effectivement être considéré comme webservice.
A noter que si un serveur n'a pas besoin ou ne doit pas pouvoir modifier les données présente dans la BDD, il n'est pas nécessaire de le connecter ainsi, dans ce cas il sera préférable d'un point de vue sécurité de mettre en place sur le premier serveur, un flux Json qui permet de récupérer les données de la BDD qui seront par la suite traitées et affichées.

Voilà, bon courage.
oOXimOo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h04.


 
 
 
 
Partenaires

Hébergement Web