[PHP + MySQL] C'est possible de faire un site mirroir ?

C'est possible de faire un site mirroir ? [PHP + MySQL] - PHP - Programmation

Marsh Posté le 09-10-2002 à 08:51:25    

Etant donné que "pour le moment" je suis chez un hebérgeur gratuit, mais que les hebergeurs gratuit sont lents... plantent ... etc ..., j'aimerais mettre un site mirroir chez un autre hebergeur gratuit. Est-il possible de faire un "synchro" entre les 2 ? Que si les personnes viennent poster sur le 1er, les message s'affichent aussi sur le 2eme ?
 
Sinon, il est 8h51, je viens de me lever, bonjour a tous :)
 
 :hello:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-10-2002 à 08:51:25   

Reply

Marsh Posté le 09-10-2002 à 09:09:07    

C'est pas forcément évident ce que tu demandes. Effectivement, si le contenu est "statique", c'est à dire que ce qui est en base et les pages ne changent pas, y a pas de souci : tu n'as qu'a exporter ta base de données pour la réimporter une fois, et ça roule.
 
Après, pour faire des mises à jour simultanées, il faut que tes scripts accèdent aux 2 bases de données simultanément pour les mettre à jour en même temps. Seul souci : généralement, les hébergeurs n'autorise pas l'accès aux bases de données depuis l'extérieur, et c'est bien là tout le pb. Tu peux quand même tenter une gruge pour éviter de faire des connexions directes aux serveurs de bdd distants, mais c'est pas gagné : sur le site 1, l'utilisateur rentre des données dans un formulaire qui est posté sur le script A. Ce script A met à jour la bdd locale et fait un post HTTP du même formulaire sur une autre script B mais du site 2 pour envoyer également les données au site 2. Seul limitation : il faut que le site 1 puisse faire des requêtes HTTP vers le site 2...
 
Est-ce clair ?

Reply

Marsh Posté le 09-10-2002 à 09:18:53    

Oui c très clair, et je t'en remercie.
 
C'est vrai ça a l'air bien chaud à faire de truk. Mais etant donné que j'utilise phpBB et ke je suis pas un pro en php ... je vais abandonner l'idée :D
 
Merci bcp en tout cas :)


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-10-2002 à 10:11:00    

_Mac_ a écrit a écrit :

C'est pas forcément évident ce que tu demandes. Effectivement, si le contenu est "statique", c'est à dire que ce qui est en base et les pages ne changent pas, y a pas de souci : tu n'as qu'a exporter ta base de données pour la réimporter une fois, et ça roule.
 
Après, pour faire des mises à jour simultanées, il faut que tes scripts accèdent aux 2 bases de données simultanément pour les mettre à jour en même temps. Seul souci : généralement, les hébergeurs n'autorise pas l'accès aux bases de données depuis l'extérieur, et c'est bien là tout le pb. Tu peux quand même tenter une gruge pour éviter de faire des connexions directes aux serveurs de bdd distants, mais c'est pas gagné : sur le site 1, l'utilisateur rentre des données dans un formulaire qui est posté sur le script A. Ce script A met à jour la bdd locale et fait un post HTTP du même formulaire sur une autre script B mais du site 2 pour envoyer également les données au site 2. Seul limitation : il faut que le site 1 puisse faire des requêtes HTTP vers le site 2...
 
Est-ce clair ?



Autre méthode :
Le site 1 reçoit des données d'un utilisateur.
LE site 1 met à jour ses données.
Le site 1 préviens le site 2 qu'une modif à eu lieu (mise à jour ou nouveauté) en lui donant les infos nécessaire pour qu'il puisse savoir quoi demander. (fonction fopen() )
Le site 2 appelle une page web du site 1 afin de récupérer les données du site 1. (fonction fopen() )
Le site 1 retourne une page contenant les données demandé. (comme si la demande venait d'un navigateur)
Le site 2 récupére ces données (comme si ca venait d'un fichier statique) et les traitent.
Le site 2 retourne des infos pour dire si ca c'est bien passé.
Le site 1 récupére les données provenant du site2 et si tout c'est bien passé tope ses enregistrements pour savoir qu'il ne doit pas retourner à nouveau ces infos là à l'autre site.
Le site 1 renvoie la page "normale" à l'utilisateur qui même si l'affichage arrive un peu plus tard sur son navigateur n'est pas au courant de tout ce qu'il c'est passé derrière.
 
Un petit truc pour éviter les problèmes de rajout de donnée qui se croisent. Sur chaque table rajouter deux champs :
1 champ ID qui contiendra le numéro d'identifiant sur l'autre site
1 champ MAJ qui indique si les données de cette ligne doivent être mises à jour sur l'autre site ou pas.
Par contre, en cas de modif croisé d'une même ligne de donnée sur les deux sites, ca ce complique beaucoup plus et là, il faudrait savoir qu'elles sont les champs à envoyer sur l'autre serveur. (l'utilisation d'un table contenant la liste des modifs me semble le plus simple là)
 
L'avantage de cette méthode, c'est qu'il sufit de savoir afficher des données sur la sortie standard pour la mettre en place.
L'inconvénient, c'est qu'elle est surement assez lente à éxécuter.

Reply

Marsh Posté le 09-10-2002 à 11:41:42    

bobotète  :sweat:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 09-10-2002 à 12:01:00    

omega2 a écrit a écrit :

Autre méthode :
...
L'avantage de cette méthode, c'est qu'il sufit de savoir afficher des données sur la sortie standard pour la mettre en place.
L'inconvénient, c'est qu'elle est surement assez lente à éxécuter.




 
C'est pas mal, sauf que tu oublies que pour ton fopen, il faut passer un protocole (http:// notamment), et que donc ta sortie, elle n'est pas si standard que ça, surtout que pour le HTTP, t'es limité à la méthode GET donc à la lecture d'info...

Reply

Marsh Posté le 09-10-2002 à 12:48:26    

_Mac_ a écrit a écrit :

 
 
C'est pas mal, sauf que tu oublies que pour ton fopen, il faut passer un protocole (http:// notamment), et que donc ta sortie, elle n'est pas si standard que ça, surtout que pour le HTTP, t'es limité à la méthode GET donc à la lecture d'info...



fopen(http/serveur/dossier/fichier.php3?nomtable=exemple&ligne=1);
C'est un exemple mais je vois pas où c'est compliquer de faire un tel appel.
Quand au script qui est ouvert par le fopen, il fait des echo tout con, je vois toujours pas en quoi la sortie de ce script n'est pas une sortie standard.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed