Syndication d’un site basé sur phpBB

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Cet article n’a qu’un rapport indirect avc SPIP. En effet, ce qui suit est destiné aux webmestres qui souhaitent associer un site SPIP avec un site proposant un système de forum basé sur phpBB par le biais de la syndication.

Installer

-  Récupérer et décompresser l’archive ci-jointe.
-  Placer le fichier backend.php à la racine de votre site phpbb.

Tester

-  appeler ce script de la manière suivante http://monsite.org/backend.php?mode=screen. Il doit afficher les 10 derniers sujets publics du site.

Référencer

-  Syndiquer votre site phpbb comme n’importe quel autre site. ne pas reproduire la variable mode dans l’url !
-  Avant de valider la syndication une fois que vous aurez saisi http://monsite.org/backend.php, il vous est possible de préciser des variables :

by=post vous permet de trier les sujets (topics) en fonction de la date de la dernières réponses au lieu de la date du sujet lui-même

desc=hierarchie vous permet de renseigner la description de l’item syndiqué avec le nom de la catégorie et le nom du forum où il se trouve

Les variables c et f :

On peut restreindre la syndication à des catégories précises et/ou des forums précis en suivant la syntaxe suivante :

-  Insérer une virgule entre les catégories (ou forum) que vous souhaitez lister.
-  Faites précéder le numéro de la catégorie ou du forum que vous voulez exclure par un point d’exclamation.

exemple :

&c=1,3&f=!4 permet de syndiquer les sujets des forums des catégories 1 et 3 à l’exclusion du forum 4

Attention toutefois, pour éviter un traitement impossible, il est impossible de restreindre et d’exclure en même temps pour les catégories et les forums. L’exclusion est prioritaire.

exemple :

&c=!1,3 se contentera d’exclure les forums de la catégorie 1

Voilà, voilà !

Attention ! pour l’exclusion, il faut taper = ! et non pas != ( ! ! !) c’est logique puisque il s’agit de fixer la variable $f (ou $c) dans l’url ce qui se fait par la syntaxe f=qqchose

Développements possibles

Ce script permet la syndication des forums ’public’ d’un site phpBB.

Il serait possible d’ajouter les forums privés en implémentant des variables telles que :
$type pour le choix des permissions simples de forums
$view et $read pour le choix des permissions avencées

Sélection/Exclusions des sujets spéciaux tels que sondages, annonces, post-it...

De plus, ajouter des types de description (nb lectures, nb réponses etc...), paramétrer le nombre de posts à récupérer pourrait peut-être s’avérer intéressant, non ?

Faire le contraire... syndiquer des articles et/ou des brèves spip dans un forum phpbb... ;)

Si l’url calculée par ce script ne convient pas, éditer ce fichier pour définir la variable $url_base. Cette variable est importante puisqu’elle définie l’url de tous les liens, ce serait dommage qu’elle soit fausse ;)

à titre d’exemple sur un site en cours de dev...Le site

Discussion

16 discussions

  • 2

    Est-ce qu’il serait envisageable de créer des squelettes SPIP qui permettraient de « cloner » phpBB ?

    • survivreausida.net

      Fil,

      J’ai vu le nouveau forum sur spip.net, c’est pas mal mais encore loin du compte.

      Il faudrait plus que des squelettes. Voici pourquoi nous utilisons phpBB sur survivreausida.net :

      -  Possibilité de s’abonner ou se désabonner à un fil (thread) pour recevoir par e-mail une notification de mise à jour (nouvelle contribution au forum ou modif de l’article)
      -  Affichage des visiteurs connectés au Forum
      -  Possibilités de régler avec finesse les permission (accès, lecture, écriture) par utilisateur ou groupe d’utilisateur, avec un ou plusieurs modérateurs pour chaque discussion
      -  Messagerie privéé avec masquage des adresses e-mail et possibilité d’envoyer des messages e-mail via une interface web, sans révéler l’e-mail du destinataire
      -  Utilisation d’un code simplifié (BBCode) pour enrichir les pages, plus sophistiqué que les codes SPIP, et utilisé sur des milliers de sites phpBB, vBulletin, etc.
      -  Affichage d’une « rubrique » même quand elle ne contient pas d’article (un des trucs incompréhensible et injustifiable dans SPIP...)
      -  une communauté d’utilisateur plus nombreux que celle de SPIP, avec une forme (le Forum) connu et reconnu par les usagers du net
      -  etc.

    • nous sommes en pleine discussion à ce sujet sur la liste spip-dev@rezo.net ;)

      Viens donc participer :)

    Répondre à ce message

  • 1

    Excellent James, voila un bon couple : spip+phpbb. Et ta syndication va bien aider du monde, a commencer par moi (quand j’aurais trouvé mieux que Lycos pour copid).

    Bravo et merci !

    • J’ai eu plein de sauts de lignes parasites à la recopie des codes (moi c’est IE6), d’où « impossible de syndiquer pas de contenus », et « parse error » sur le mode screen :

      http://membres.lycos.fr/copid/forum...

      En faisant du ménage ça marche, j’ai juste eu en admin du spip où j’ai testé :

      un affichage temporaire pas grave des liens backend en haut de la page admin quand je mets à jour :

      http://idem.levillage.org/spip/ecri...

      et j’ai aussi à résoudre un pti probleme d’adresse de messages :

      http://membres.lycos.frviewtopic.php/?t=13

      mais sur Lycos c’est pas étonnant et je dois pouvoir bidouiller.

      Bref c’est pratiquement ok. Merci encore !

    Répondre à ce message

  • 1
    Jean-Claude

    Je n’avais pas vu qu’il y avait un nouveau fichier sans les retours chariots et je me suis tout tapé à la main. Mais enfin, ça marche ou presque puisqu’en tapant monsite.com/forum/backend.php j’obtiens un résultat probant.

    Là où ça ne va plus, c’est dans spip qui refuse de comprendre. Pourtant je fais un copier coller et je suis sur de ne pas avoir d’erreur d’url. Spip me dit « Attention : la syndication de ce site a rencontré un problème ; le système est donc temporairement interrompu pour l’instant. Vérifiez l’adresse du fichier de syndication de ce site... » C’est pourtant la bonne adresse !!!

    • Jean-Claude

      Curieusement, le même fichier backend.php donne les résultats escomptés sur notre site web alors que spip refusait de le lire sur mon pc. Le but principal est atteint et tout est parfait !!!

      Merci :-)

    Répondre à ce message

  • 4

    Je coince, je n’arrive pas à récuperer le moindre truc :-/

    J’ai récupéré le fichier, renommé, placé sur mon site, j’ai syndiqué, validé et hop ...

    ... Rien !!

    Suis-je obligé de préciser les variables dans l’url ?

    Serait il possible d’avoir un exemple codé de ce qu’il faut remplir dans les cases de la syndication de spip et de la balise qu’il faut utiliser dans mon squelette ?

    Je suis sur que je suis presque bon a 95% mais que les 5% qui me manque sont tellement évident que je les ai pas vu ;-)

    • Un moyen de vérifer que le script fonctionne, c’est de l’appeler en mode html :

      Soit http://lesite.org/forums l’url du forum à syndiquer.

      Dans un navigateur, taper :

      http://lesite.org/forums/backend.php?mode=screen

      Il doit afficher un minimum de chose.

      Deuxième point : la variable $url_base ne renvoie peut-êter pas la bonne valeur : éditer le script, la coder en dur... :(

      Dans un futur de plus en plus proche, je vais fournir un fichier archive avec ce script enregistré au format Unix et contenant quelques évolutions...

    • Voila le résultat :

      Parse error : parse error in /home/sites/site19/web/forum/backend.php on line 11

      Pareil sur mon spip en local !!

      Pareil en modifiant la variable $url_base à la main

      Je fouille mais je trouve pas :-/

    • Le lien ci-dessous pointe sur un zip (je ne sais pas faire de tar.gz, c’est ma faute, c’est ma faute, c’est ma très grande faute...)

      Il contient le fichier ’backend.php’ au format unix...

      Dites-moi tout ;-)

    • C’est bien de la que venait le problème, le fichier contiens des retour chariot à la mode Windows et mon Mac ne savait comment l’interpréter.

      La nouvelle archive fonctionne d’enfer ;)

      Merci c’est vraiment un chouette outil qui va changer ma triste vie, sans toi je ne serais qu’un simple Webmestre sans prétentions mais maintenant le Web est à moi, yek yek, planquez vous le Maam se lâche :o)

      A suivre …

    Répondre à ce message

  • thomas1230

    pour l’exclusion, il faut taper =! et non pas != (!!!) c’est logique puisque il s’agit de fixer la variable $f (ou $c) dans l’url ce qui se fait par la syntaxe f=qqchose

    Répondre à ce message

  • 3
    survivreausida.net

    Comment syndiquer un forum dont l’accès aux messages est réservé aux membres ? J’ai réussi à faire fonctionner ce script, mais le Forum+ dont je m’occupe est privé. Merci d’avance.

    • Bonjour,

      Comme précisé dans les Développements possibles, la prise en charge de forums privés est en cours de développements.

      Cependant, si tu le souhaites, tu peux modifier le script en supprimant les lignes ci-dessous :

      ligne61 - // 1bis Ajout des permissions (seulement les forums publics)
      ligne62 - $cond .= ’ AND auth_view <= 0 AND auth_read <= 0’ ;

      Ainsi, tu ’syndiqueras’ tous les types de forums. Je te suggères de limiter la syndication aux forums qui te conscerne en utilisant les variables c et f comme décrit dans l’article.

      Amicalement,

      PS : J’ajoute dans la pile de boulot « permettre de ne syndiquer que les topics spéciaux » (sondages, annonces et/ou post-it)

    • survivreausida.net

      J’ai compris le principe de l’utilisation des variables c et f. Mais ce que je ne comprend pas, c’est où exactement il faut insérer ces variables, et avec quelle syntaxe ???

      Sinon, en bidouillant avec le ligne qui concerne l’accès aux forums privés, j’ai réussi à afficher tous les forums, excepté les forums invisibles.

      Enfin, j’ai du nettoyé le fichier texte car il y avait un problème avec les retours chariots.

    • On insère ces variables dans l’url de syndication.

      Exemple :

      http://monsite.com/monbackend.php?c=1&f=19

      Tes bibouilles m’intéresse...

      Enfin, mes excuses aux unixiens pour le fichier. Je bosse sous Windows... mea culpa...

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom