Meilleure solution pour échange de données entre 2 sites ?

WRInaute discret
Bonjour,

Je dois réaliser une série de script mais afin de le faire de la manière la plus optimum possible avant de me lancer dans la programmation. Celà se fait essentiellement en 2 étapes :

1er étape : l'affichage
- J'ai un site A et un site B. Sur le site B, je dois afficher des listes d'information contenues dans la base de données de A (liste de concours, liste d'évènenemts, informations sur des lieux, etc.). Je voudrais donc savoir quelle est la manière la plus optimum de procéder ?

2ème étape : la modification et l'insertion
- Je dois aussi insérer depuis le site B des données dans la base de données du site A. J'utiliserai un système de clé où il faut les deux valides pour pouvoir insérer une donnée dans A afin de sécuriser le système.
Mais le principe est donc depuis le site B de remplir un formulaire, qui après vérification, envoie les informations dans la base de données de A et en cas de réussite de l'insertion, renvoie un message de validation (ou d'erreur) que B affichera.

Est-ce que quelqu'un pourrait me donner une piste afin de m'aider un tout petit peu à démarrer et comment le faire ?

Merci d'avance de votre aide,

Cordialement,

Laurent
 
WRInaute passionné
1/ aucun problème, il faut utiliser les flux RSS
2/ Si tes 2 sites sont sur des serveurs différents, il est possible que l'opération ne soit pas possible. A moins de faire pointer le formulaire du site A sur le site B, de faire l'ajout, puis de rediriger vers le site A en fin de procédure.
 
WRInaute discret
1/ Question très bête... est-ce que tu connaitrais un site qui explique comment générer des flux RSS ? Unn page XML, c'est pas mieux, c'est pas plus portable en cas d'extension vers d'autres "supports" ?

2/ Ils sont sur le même serveur mais quand tu dis pointer c'est par exempler :
< form action='www.siteA.ext/ajout.php' method='post' name='nom' >

et dans la page 'ajout.php' on fait un Header location en php sur une page de retour de A avec en paramètre si c'est réussi ou pas ?
 
WRInaute passionné
1/ je connais pas, mais il suffit de respecter les standarts rss puis de les "parser" pour en extraire les données.
Cherche "parser un flux rss" sur google, tu va tomber sur wri :wink:

2/ c'est tout à fait ça, mais si ils sont sur le même serveur tu peux aussi essayer de te brancher depuis le site B sur la base de A, non ?
 
WRInaute discret
1/ Je vais checker ça ;-) mais je pense qu'un simple flux rss sera trop basique pour la quantité d'infos que je dois extraire. a mon avis, je vais tacher de faire une page XML complète que je parserrai ensuite :-D.
Reste juste à trouver comment faire ça... lol

2/ Je préfère développer une solution la plus portable possible... dans l'optique d'un site C qui ne sera peut-être pas sur le même serveur ;-)

Merci de ton aide.
 
WRInaute occasionnel
Même serveur ou serveurs différents, tu dois pouvoir à partir d'un site B te connecter à la base SQL du site A, pour peu que tu aies l'adresse du MySQL host en question ;)
 
WRInaute impliqué
Le problème est que certains serveurs interdissent l'accés MySQL par d'autres serveurs externes :S

Sinon tu pourrais tester fopen(); de PHP...
 
WRInaute discret
J'ai réussi à générer le fichier XML que je voulais mais maintenant je suis un peu perdu devant les différentes méthodes qui existent pour l'exploiter et je trouve pas vriament de bon tutorial pour l'expliquer.

Pour lire un fichier XML depuis le site B et récupérer toutes les infos dans un tableau par exemple, je devrais faire comment ?

Désolé de vous embêter avec ça mais je suis un peu perdu dans une immense jungle là.
 
WRInaute discret
Le parser RSS c'est pratique quand on a définit le fichier XML au format RSS ou Atom... mais ici mon fichier XML n'a pas du tout cette structure là. Je peux bien sûr réécrire toute une partie mais je ne comprends pas très bien comment ça fonctionne (c'est les classes que je comprends pas trop en fait mais en général pas juste ici)
 
WRInaute passionné
Alors cré toi une structure personnelle que tu pourra parser, par exemple un fichier txt du type :

champ1#champ2#...
champ1#champ2#...
...

Ensuite tu le récupère grace à file() puis tu lis les lignes unes à unes et tu les explosent.
 
WRInaute discret
ça va quand il y a que 2 sites mais le problème est que plus tard, on pourrait en faire un webservice c'est pour ça que je voudrais arriver à un code "portable".
 
WRInaute impliqué
Pourquoi ne pas utiliser la serialization.

Exemple en PHP:
Code:
<?php
  // Récupération des données de la base dans $result sous forme d'un tableau
echo serialize( $result );
?>

Sur B:
Code:
<?php
  $result = unserialize( fread( 'adresse_du_fichier' ) );
?>
 
WRInaute discret
J'ai réussi à faire quelque chose :-D.

En fait je parcours les balises ouvrantes et fermantes et avec une instruction Switch, je détecte la balise en cours et je crée petit à petit un tableau multidimensionnel que je peux utiliser sans problème après ;-)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut