IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Échange de données entre 2 serveurs


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut Échange de données entre 2 serveurs
    Bonjour,

    Je mets actuellement en place un site web pour un photographe permettant à des étudiants de s'inscrire pour des photomontages de promotion qu'ils font à la fin de leurs études (Appelés orlas pour ceux qui auraient fait leur études en Espagne ça leur rappellera des souvenirs).

    En gros voila comment ça se présente :
    Un site web sur un serveur distant où les étudiant s'inscrivent et choisissent leurs packs de photos la couleur de leur montage (coul, NB, Sepia) etc.

    Un serveur local au studio du photographe où l'on créé les offres, on traite les infos récoltés sur le site web ET on inscris les étudiants qui n'ont pas PU, SU ou simplement pas voulu s'emm... à s'inscrire parce que ce sont de grosses couleuvres.

    Mon problème est de gérer les informations de la table des étudiants dans chaque base Locale et distantes de façon à :
    -Un étudiant inscris dans la base distante soit créer dans la base locale
    -Un étudiant inscris dans la base locale soit créer dans la base distante
    -Un étudiant mis à jour dans l'une des bases soit mis à jour dans l'autre

    et ce sans conflit de duplicate key, ni sans qu'un enregistrement plus récent soit écrasé par un plus ancien.

    Le serveur local doit également mettre à jour les tables produit et offres de la base distante, mais là c'est à sens unique l'info à jour est toujours celle du serveur local.

    Restrictions :
    Toute connexion directe entre le serveur local et la base distante est impossible, l'inverse également.

    Si quelqu'un a une suggestion elle sera la bienvenue.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 354
    Points : 15 700
    Points
    15 700
    Par défaut
    Pour assurer la cohérence des données, il ne faudrait pas qu'il y ait un 2e serveur en local mais une seule application en ligne avec une base de données unique.
    et donc que dans le studio du photographe il n'y ait qu'un client de cette application. ce client pourrait être un simple navigateur

  3. #3
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Effectivement...

    Mais j'ai besoin de ce serveur local pour la suite des applications.

    Entre autres :
    -Tri automatique des photos en fonction des offres choisies
    - Renommage des photos en fonctions du nom de l'étudiant
    - Création du modèle de photomontage (Merci GD)
    - Création dynamique d'un Javascript Photoshop (.Jsx)pour le montage automatique de la Orla

    Le studio traite environ 9000 étudiants à l'année, à 1.7 Mo par photo...

    T'imagines le trafic sur le serveur distant si on devais les uploader ?

    Le projet a une portée limitée (petit studio photo) mais la prog à développer est pharaonique.

    Sinon l'idée serait parfaite.

    Je pensait à un script Ping pong, ping.php en local et pong.php sur le serveur distant communiquant jusqu'à ce que les données soit à jour sur les 2 bases.

    J'ai testé sur mon Wamp et ça à l'air de marcher pour l'envoi de variable par POST.

    ça te parrait jouable ou c'est complétement idiot ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 354
    Points : 15 700
    Points
    15 700
    Par défaut
    Citation Envoyé par Jonahboss Voir le message
    Le studio traite environ 9000 étudiants à l'année, à 1.7 Mo par photo...

    T'imagines le trafic sur le serveur distant si on devais les uploader ?
    dans ce cas laisse les images en local mais stocke les données de chaque personne sur le serveur en ligne
    et donc quand l'application locale à besoin d'une information, elle se connecte à l'application en ligne (avec par exemple une requête HTTP POST comme tu as fais le test). et pareil pour les modifications, s'il faut éditer une données, l'application locale envoie une requête à l'application en ligne qui fera la modification dans la base de données

    pour le dialogue entre les 2 serveurs il faudra penser à :
    - faire un système sécurisé, pour que personne puisse accéder au serveur en ligne en se faisant passer pour l'application locale même si la personne "sniffe" le réseau. une solution serait d'envoyer une date et une signature dans chaque requête
    - faire un système fiable : à chaque requête, l'application en ligne devra répondre clairement si tout c'est bien passé ou s'il y a eu une erreur.

  5. #5
    Membre du Club Avatar de Jonahboss
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Espagne

    Informations forums :
    Inscription : Mai 2009
    Messages : 90
    Points : 56
    Points
    56
    Par défaut
    Salut Matthieu,

    Et merci de t'intéresser à mon cas.

    J'ai discuté de la solution avec le photographe hier et il est clair que pour ce qui est de la synchronisation des infos client, le plus sûr serait de ne rentrer de nouveaux client nous même que sur la base distante et de les rapatrier après en local, comme tu le suggère.

    Concernant la sécurité, est il sûr d'envoyer un login et un pass en variable POST depuis le serveur local au serveur en ligne pour qu'il accepte de traiter et d'envoyer les infos (elle même accompagnée d'un login et d'un pass pour accéder au serveur local).

    Cela se ferait selon ce schéma :
    Ping.php (le local) appelle Pong.php (le distant)

    -$_Post['login'] = Ping_login
    -$_Post['pass'] = Ping_pass
    -$_Post['étape'] = Update_XXX // Cette info rappellerai à quel moment de l'update on se situe, quel script Pong doit appeler et donc les infos qu'attend Ping en retour.
    -$_Post['datas'] = $datas // String résultant d'un implode d'un mysql_fetch_array sur la base de Ping ou Demande d'infos à Pong.

    Pong traite les infos et rappelle Ping

    -$_Post['login'] = Pong_login
    -$_Post['pass'] = Pong_pass
    -$_Post['étape'] = Update_XXX // Cette info rappellerai à quel moment de l'update on se situe, quel script Ping doit appeler et donc où entrer les infos de Pong.
    -$_Post['datas'] = $datas // String résultant d'un implode d'un mysql_fetch_array sur la base de Pong ou message de confirmation Succés/Erreur.

    La solution semble assez basique, mais je n'ai aucune idée du niveau de sécurité.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/06/2012, 16h36
  2. programme d'échange de données entre client/serveur
    Par g_lahcene dans le forum Réseau
    Réponses: 4
    Dernier message: 04/11/2008, 09h49
  3. Protocole - échange de données entre serveur et clients
    Par karistouf dans le forum Réseau
    Réponses: 8
    Dernier message: 14/09/2008, 19h13
  4. [MySQL] Comment copier données entre 2 serveurs ?
    Par hugue1 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/12/2006, 11h42
  5. [Système] Échange de données entre serveurs
    Par bpriscil dans le forum Langage
    Réponses: 7
    Dernier message: 19/05/2006, 09h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo