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 :

solution pour un site distant php/mysql


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut solution pour un site distant php/mysql
    Bonjour, j'ai une application web en php/mysql qui est hebergé sur un serveur distant, sa base des données est alimenté via le site par 500 clients environ, chaque client reçoit une 40 de personnes par jour, donc environ 40 updates/jour * 500 partenaire , donc elle est alimenté continuellement avec des données tres sensibles.

    A chaque fois que nous voulons exploiter les données de cette base nous demandons son backup, est bien sur nous avons pas les données à 100 % à jour, toujours il y a un décalage, donc je suis dans l'obligation d'automatiser cette tache et avoir l'information instantanément.

    Que me proposez vous ? une solution simple qui va droit au but.

    Merci pour nos expert qui orientent toujours les personnes débutant et manquant d'expériences comme moi

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 366
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 366
    Billets dans le blog
    17
    Par défaut
    A chaque fois que nous voulons exploiter les données de cette base nous demandons son backup
    Qu'appelles-tu "exploiter la base" ? Pourquoi demander un backup ? Donne des exemples.

    est bien sur nous avons pas les données à 100 % à jour, toujours il y a un décalage, donc je suis dans l'obligation d'automatiser cette tache et avoir l'information instantanément.
    Je pense que ceci s'éclairera lorsque tu auras répondu aux questions ci-dessus.

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    A chaque fois que nous voulons exploiter les données de cette base nous demandons son backup
    nous sommes pas le propriétaire de ce site, nous avons droit juste aux données remontées par nos partenaires qui sont les 400 clients qui utilise le site X,

    Exp :
    les clients du site : des bibliothèque qui réceptionnent 40 personnes par jour demandant un service,
    ce service doit être imprimé sur des papiers
    le propriétaire du site a installé le site web chez les bibliothèques pour leurs renvoyer le service sur des papiers que lui imprime et réceptionne les commandes via le site, le site s'en charge de formater les données selon le modèle de papier sur lequel il vont imprimé les donnée demandé par les 40 personnes

    nous on s'interesse aux personnes,leurs natures, leurs demandent, le type de donnée qu'il souhaitent avoir.......

    Dans une situation logique, on devait être nous qui communiquent avec les biblio directement mais ce n'est pas le cas pour le moment

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 366
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 366
    Billets dans le blog
    17
    Par défaut
    nous on s'interesse aux personnes,leurs natures, leurs demandent, le type de donnée qu'il souhaitent avoir.......
    Je comprends que c'est de l'analyse à froid et que tu n'as pas accès direct à la BdD.
    Il faut donc travailler sur un export, et il y aura donc toujours un décalage plus ou moins important avec la data réelle, selon la périodicité de l'export.
    Sachant cela quelle est ta demande ?

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    ma demande ; quel est le moyen qui me permettra d'avoir l'info au temps auportun

    un web service par exemple sera t il une bonne solution ?

    si oui que dois je leur demander comme infos a me fournir ?

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 366
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 366
    Billets dans le blog
    17
    Par défaut
    un web service par exemple sera t il une bonne solution ?
    Oui c'est sûrement la solution la plus simple à mettre en place pour avoir la data à jour.

    De ton côté tu te connectes au ws dédié, une clef secrète t'authentifie, et tu importes le fichier obtenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $context = stream_context_create([
        'http' => [
            'method' => 'GET',
            'header' => ['Key: 1234314-3434124-1343412-34134134'],
        ],
    ]);
    $fp_source = fopen('https://example.net/ws/export-db.php', 'r', $context);
    $fp_destination = fopen(__DIR__ . '/export-db.sql.gz', 'w');
    stream_copy_to_stream($fp_source, $fp_destination);
    // Arrivé ici tu as un fichier export-db.sql.gz qu'il te suffit de dézipper : gzopen() etc.
    // et d'importer, en ligne de commande : mysql -uuser -ppassword dbname < /path/to/export-db.sql
    Côté serveur / webservice il y aurait un script /ws/export-db.php de ce style qui générerait l'export à la volée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    // Tableau de clefs autorisées
    $keys = ['1234314-3434124-1343412-34134134'];
     
    // On récupère la clef "Key" soumise
    $incoming_key = $_SERVER['HTTP_KEY'];
     
    if (!in_array($incoming_key, $keys)) {
        header('HTTP/1.0 401 Unauthorized');
        exit;
    }
     
    // Faire un mysqldump en ligne de commande https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
    // Sauvegarder la bdd dans /path/to/backup-db.sql
    // Compresser backup-db.sql
     
    header('Content-Type: text/plain'); // Type du fichier d'origine
    header('Content-Length: ' . filesize('/path/to/backup-db.sql.gz')); // On donne la taille pour mieux suivre le dl
    header('Content-Encoding: gzip'); // Type de compression
     
    // Envoyer le fichier
    readfile('/path/to/backup-db.sql.gz');
    Voilà pour l'idée et un début de mise en œuvre.

  7. #7
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    ohhhhhhhhhhhh merci infiniment pour cette aide vous etes genereux

    alors, j'ai bien réfléchi, je ne peux invoquer le web service pour me ramener la base de données à chaque fois, pour ne pas prendre un vrai backup et l'importer dans ma base à moi, et apres mon web service sera juste pour les mises à jour, ma question maintenant comment dois je différentier entre ce que j'ai et ce que je n'ai pas, surtout que la base distante est remplie avec des nouvelles insertions et aussi des updates, peut être des suppréssion

    une idée svp ?

  8. #8
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 366
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 366
    Billets dans le blog
    17
    Par défaut
    Tu peux te repérer si dans chacune de ses tables la base enregistre les dates de création/modification/suppression de chacune de ses lignes.

    Ensuite même principe que plus haut.

  9. #9
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 709
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 709
    Billets dans le blog
    10
    Par défaut
    Si je comprends bien le besoin, il s'agit de faire des études statistiques sur les types de services demandés par les adhérents des différentes bibliothèques.
    Auquel cas, il est inutile de connaître les toutes dernières demandes des adhérents, une extraction périodique, par exemple hebdomadaire, suffit amplement.

Discussions similaires

  1. Quelle solution OLAP pour un site web PHP/MySQL
    Par mad_martigan dans le forum Forum général Business Intelligence
    Réponses: 0
    Dernier message: 12/02/2019, 15h01
  2. Cherche Hébergement gratuit site web [PHP-MySQL]
    Par HULK dans le forum Gratuit
    Réponses: 15
    Dernier message: 20/01/2010, 23h53
  3. Réponses: 2
    Dernier message: 14/08/2008, 17h34
  4. Extranet et les sites Internet : php/mysql
    Par kagura dans le forum Outils
    Réponses: 12
    Dernier message: 21/06/2006, 11h48
  5. créer son site en php/mysql entierement
    Par zimotep dans le forum Requêtes
    Réponses: 15
    Dernier message: 25/03/2006, 00h39

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