Jump to content

Nécessité de réaliser des export automatique (rue du commerce)


Recommended Posts

Bonjour à tous,

dans le cadre d'un export de catalogue vers rue du commerce j'ai développé un module basé sur le module googlebase.

Viens ensuite le soucis de réaliser la création du fichier XML tout les matins à 10h.

Le fichier php du module est la représentation d'une classe donc j'imagine qu'un cron n'y fera rien si je l'applique directement sur ce fichier.

Comment puis je appeler de l'extérieur une fonction d'une classe ? et cela marchera t'il si je ne suis pas dans le backoffice ? (instanciation de la classe puis appel de la fonction)

J'ai essayé ceci :

<?php
include("googlebase.php");

// instanciation de la classe
$myUpload=new GoogleBase();
// appel des méthodes publiques pour le paramétrage de l'upload
// types de fichiers acceptées
$myUpload->_postProcess();

?>

J'obtiens l'erreur suivante : Fatal error: Class 'Module' not found in ...

Merci d'avance

Link to comment
Share on other sites

J'ai rajouté les lignes de code suivante, je n'obtiens plus d'erreur mais le fichier XML n'est tjrs pas créé.

include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/googlebase.php');

Link to comment
Share on other sites

ceci ne répondera pas à ta question, en revanche c'est plus pour signaler que des tâches régulières cron ne doivent pas s'intégrer à un fonctionnement php/apache qui ne sont pas la pour ça !

Il faut plutôt créer des scripts cgi en python ou perl qui vont de façon autonome travailler en cron, sans être encapsulé dans le traitement apache/php/mysql !

Link to comment
Share on other sites

pas de risques particuliers !

C'est simplement un principe de dissocié les traitements différents ! Car si ton script tourne en php ça veut dire qu'il attend qu'un événement apache soit appelé pour qu'il puisse se lancer. Autrement dit, il attend qu'on consulte le site pour se lancer !

Imagine il n'y a aucune visite pendant 1 semaine (cause technique ou autre), ton script ne se lancera jamais puisqu'il n'est jamais appelé !

C'est pour ça que apache/php ne servent qu'à traiter des événements "demandé"

Tout ce qui est automatisé doit être géré par des scripts indépendant avec les tâches cron.

L'exemple est simple, si tu fais le même principe pour des sauvegardes, si je suis ton raisonnement, ton script de sauvegarde ne se lancera que si on visite ton site ! :(

M'enfin, c'est juste un conseil ;)

Link to comment
Share on other sites

Ne prend pas ma question comme un "quesqu'il vient me faire chier celui la" ^^

au contraire je suis preneur de ce genre de conseil car ça ne me serait jamais venu à l'esprit :)

bon par contre j'imagine qu'avec mes scripts perl je n'aurai pas accès aux fonctions toute faite de prestashop, va faloir coder

Link to comment
Share on other sites

Salut tlandru,

Super initiative de bosser sur un module permettant un export automatique du catalogue produit vers rueducommerce.

Je bosse aussi sur un module permettant d'exporter notre catalogue produit sur les principales Marketplaces, dont rueducommerce.

Mais j'avoues que j'ai un peu de mal, j'aurais sans doute dut partir du module googlebase au lieu de partir sur un développement "from scratch".

Est ce que ton module est opérationnel? Si j'ai bien compris, c'est le cas, et il te reste à paramétrer l'export automatique tous les X minutes/jours?

Est ce que tu souhaites faire partager le module que tu as développé avec la communauté? En tout cas moi je serais plus que preneur...

On peut peut être mettre nos compétences en commun pour finaliser ce module? Enfin si tu souhaites en faire profiter le reste de la communauté, car c'est un besoin qui revient souvent...

Link to comment
Share on other sites

Ne prend pas ma question comme un "quesqu'il vient me faire chier celui la" ^^

Pourquoi je penserai ça ? Je participerai pas au forum et à ta discussion sinon ;) C'est le but du forum prestashop !
En revanche, c'est vrai que beaucoup de professionnel passe sur le forum et ne peuvent pas non plus tout faire, par contre, donner des pistes de réponses peuvent aider ;)

bon par contre j'imagine qu'avec mes scripts perl je n'aurai pas accès aux fonctions toute faite de prestashop, va faloir coder

En fait vérifie si ton serveur dispose de l'interpréteur de commande php : php-cli
Comme ça tu peux lancer directement des script php depuis le cron ! attention, ça va pas non plus faire le travailleur d'un browser, les reponses doivent être en echo simple !

test sur le shell de ton serveur en tapant par exemple :
echo '<?php echo "toto\n"; ?>' | php



s'il te répond "toto", c'est que c'est bon :P

Link to comment
Share on other sites

Je suis hébergé sur du mutualisé donc aucun accès à un shell

Je vous contourner le soucis en créant un php qui se contentera de réaliser des 'echos' et qui sera directement interrogé par les serveurs de rue du commerce.

Merci pour toute les indications !

Link to comment
Share on other sites

Bonjour,

Moi aussi je me suis intéréssée à GoogleBase. J'avoue avoir un peu de mal (suis pas informaticienne moi !!!). Même si le fichier n'est pas généré tous les jours et qu'il faille une intervention de ma part, je suis intéressée...
Je vous aiderai bien mais mes compétences sont sûrement nettement en dessous des vôtres.... Mais je veux bien chercher la petite bête pour les tests (suis une femme et les petites bêtes ça nous connait !!:-) )

Link to comment
Share on other sites

  • 10 months later...
  • 9 months later...
  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...