Baobab Posté 19 Juin 2008 Posté 19 Juin 2008 Bonsoir à tous, Je souhaite intégrer dans une BD MySQL de mon site plusieurs catalogues d'affilieurs. Beaucoup de régie proposent maintenant des catalogues XML, en plus des fichiers .CSV. Avec un format .CSV, il est facile d'extraire certains produits d'un catalogue (afin de ne pas intégrer sur le site tous les produits d'un même catalogue), et de télécharger ce catalogue "réduit" dans une BD. Le gros inconvénient est que la mise à jour des produits (prix notamment) doit se faire manuellement, sans que l'affilieur ne vous informe que ses prix ont changé. Avec un format XML, j'ai cru comprendre que la mise à jour pouvait s'automatiser, donc bcp plus intéressant que le CSV. Je me pose donc les questions suivantes : - comment ne garder que certains produits dans un catalogue XML fourni par un affilieur ? (et aussi scinder un catalogue XML en plusieurs sous-catalogues car le temps de téléchargement d'un catalogue complet est trop long, et incompatible avec la durée max d'exécution d'un script imposée par mon hébergeur). - quel mécanisme dois-je prévoir pour la mise à jour des produits ? Est ce que je dois faire tourner périodiquement le script de téléchargement de ma BD avec tous les catalogues XML de mes affilieurs afin de mettre à jour les données des produits ? Je suis preneur de toute info sur l'exploitation de ces catalogues XML. Et si qq'un connait une régie disposant d'un outil pour "préparer" en ligne son propre catalogue XML (en enlevant les produits non désirés), je suis preneur aussi Merci d'avance.
captain_torche Posté 20 Juin 2008 Posté 20 Juin 2008 Personnellement, je retélécharge et je reparcours tous les enregistrements, pour mettre à jour les infos. J'ai plusieurs scripts en crontab, qui se lancent une fois par semaine : - Le premier télécharge un zip, et le décompresse dans un répertoire (C'est un script bash, je n'y connais malheureusement rien) - Le second, un script PHP, analyse chacun des fichiers un par un, ajoute les infos ou les met à jour en fonction du besoin, et se relance après coup jusqu'à ce qu'il ait fini.
pluriels Posté 20 Juin 2008 Posté 20 Juin 2008 Tu peux utiliser simpleXML pour parser le fichier et xpath, un fonction de SimpleXML qui permet d'effectuer une requête "XPATH" un peu d'aide sur SimpleXML
KaRaK Posté 20 Juin 2008 Posté 20 Juin 2008 Hello, Pour information, tu peux également très bien traiter à la volé et donc automatiser tout le process avec du csv. Le traitement du XML sous PHP5 est un vrai bonheur, tu ne devrais pas rencontrer trop de problème.
adn Posté 20 Juin 2008 Posté 20 Juin 2008 Salut, Perso je déclenche par une tache cron un script php qui lit les fichiers XML ou CSV des régies d'affiliation et qui charge ma base de données. Et c'est tout Pour le CSV et le XML avec PHP2, c'est super simple, il y a des fonctions toutes faites pour çà.
fplus39 Posté 10 Février 2009 Posté 10 Février 2009 Bonjour, Je viens de m'inscrire pour une affiliation. ON m'a donné un fichier xml à télécharger (et aussi un csv). Comment dois je m'y prendre pour l'utiliser et intégrer les données dans mon site? POuvez vous m'expliquer l'ensemble des choses à faire parce que je suis un peu perdu, là? Merci beaucoup et bonne journée ! Mac
captain_torche Posté 10 Février 2009 Posté 10 Février 2009 Il va te falloir : - Télécharger le fichier régulièrement, pour avoir les mises à jour - Parcourir ce fichier via ton langage de programmation (Si tu utilises PHP5, simplexml_load_file() est parfait pour le fichier XML, par exemple) - Choisir les éléments du fichier que tu veux voir intégrés dans ta base de données - Les ajouter (ou les mettre à jour) dans ta base - Les afficher sur ton site
fplus39 Posté 10 Février 2009 Posté 10 Février 2009 Il va te falloir :- Télécharger le fichier régulièrement, pour avoir les mises à jour ca se met pas à jour tout seul? Ben c'est quoi l'intérêt alors? - Parcourir ce fichier via ton langage de programmation (Si tu utilises PHP5, simplexml_load_file() est parfait pour le fichier XML, par exemple) je vais mater ton lien, merci - Choisir les éléments du fichier que tu veux voir intégrés dans ta base de données ça, c'est dans le fichier xml que je le vois? mais il y a plein de caractères que je ne connait pas dans ce fichier, du type :ррррm (ça s'affiche pas pareil ici, je ferai un imprim ecran) - Les ajouter (ou les mettre à jour) dans ta base tu veux dire que je dois créer une bdd, mais je dois mettre quoi dedans, j'ai jamais créé ça moi - Les afficher sur ton site Donc si je suis ton raisonnement, sur mon site, c'est ma base de données que j'appelle en fait et pas le xml??? Merci pour ton aide !
captain_torche Posté 10 Février 2009 Posté 10 Février 2009 Théoriquement, le fichier sur le site du fournisseur est tout le temps à jour. Mais tu ne peux pas te permettre de le retélécharger et de l'analyser à chaque affichage de la page, c'est trop long. Par contre, la tâche est relativement complexe pour un débutant. Tu ne te serais pas attaqué à trop gros ?
fplus39 Posté 10 Février 2009 Posté 10 Février 2009 Ben le souci, c'est que c'est une demande de mon boss, alors pas trop le choix je vais essayer de faire les choses dans l'ordre que tu me donnes et voir ce que ça donne, mais j'aurais sûremet pleins de questions à venir poser, sans vouloir trop vous embêter... Merci de ta gentillesse!
captain_torche Posté 10 Février 2009 Posté 10 Février 2009 Je te conseille de commencer par l'apprentissage des bases de données. Tu trouveras un très bon tutorial ici : http://www.siteduzero.com/tutoriel-3-14668...e-avec-php.html
Baobab Posté 13 Mai 2010 Auteur Posté 13 Mai 2010 Salut, Perso je déclenche par une tache cron un script php qui lit les fichiers XML ou CSV des régies d'affiliation et qui charge ma base de données. Et c'est tout Pour le CSV et le XML avec PHP2, c'est super simple, il y a des fonctions toutes faites pour çà. Salut, Après bcp de temps passé à créer un script php de mise à jour de catalogue xml, tjrs pas de résultat satisfaisant Ca marchote mais ca manque de fiabilité et en plus le script est bcp trop long pour mon hébergement mutualisé. Tout doit donc être revu. Est ce que tu aurais un exemple concret de script qui fonctionne bien pour les fichiers xml fournis par Netaffiliation, Zanox, Affilinet ou Effiliation ? Le seul aspect qui fonctionne c'est le déclenchement du script par tache cron. Pas glorieux... Merci d'avance
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant