• Tiens, est-ce que quelqu’un a déjà documenté comment il réalisait des passerelles pour rapatrier des données tirées d’autres bases de données vers SPIP ?

    Parce que j’en fais régulièrement, et je me rends compte que je le fais presque toujours sous forme de squelettes SPIP, en utilisant différentes fonctionnalités de SPIP avant d’intégrer les données dans la base de données :
    – boucles pour extraire les infos de la base de données,
    – copie_locale pour rapatrier des fichiers distants,
    – parfois (de moins en moins), boucles XML (plugin) pour extraire les données d’un fichier XML...

    Pas encore bidouillé les boucles DATA, mais je suppose que ça serait bien pratique aussi pour faire de telles importations.

    • Moi je fais ça avec des fonctions, en enregistrant dans le champ PS un identifiant de source, de manière à pouvoir le faire et le refaire en affinant en fonction du besoin. J’ai aussi une très pratique fonction creer_rubrique_nommee(’a/b/c’)

    • Je ne connais pas de méthode « typique » pour faire ce genre de choses. J’utilise beaucoup WordPress, c’est donc lui que j’exploite en ce moment comme passerelle pour certains de mes projets :

      source (S) => passerelle (P) : WordPress privé => destination (D)

      Ainsi, plutôt que de faire X versions du code où « X = nombre de sources S * nombre de destinations D », je me contente de « X’ = S + D ». Bref, le principe même d’une passerelle, rien d’extraordinaire.

      L’avantage que je vois d’utiliser WordPress est sa relative stabilité et sa relative exhaustivité, en plus d’éventuelles extensions prêtes à l’emploi répondant à des besoins génériques.

      Cependant, cela pose de très nombreux problèmes. En effet, WordPress n’est pas figé (il y a régulièrement de nouvelles versions), ni exhaustif (réclamant de trouver des solutions complémentaires), pas plus qu’il n’est performant (utiliser l’API de WordPress réclame le passage via XML-RPC qui reste limité, ou la connexion à un blog WordPress factice pour son API interne, inaccessible autrement pour l’essentiel de ses fonctions, sans même parler de sa carence en documentation).

      Ceci dit, mes besoins sont assez particuliers, puisqu’ils impliquent souvent de traiter avec des données issues ou à destination de plateformes ne disposant pas d’API, ou bien où l’usage d’une API n’est pas souhaitable. De ce fait, mes outils d’extraction et de suivi font parfois appel à Selenium RC (automatisation d’un navigateur web depuis un programme tiers), autant pour l’export que pour l’import. Bref, à la base, cela reste une usine à gaz, donc une tuyauterie à gaz de plus ou de moins...

      #développement #programmation