Jabber Feed 0.4 : l’évolution avant la révolution

Une nouvelle version de mon plugin Wordpress se montre au petit jour!
Ci-dessous la liste des nouveautés. Ce sont beaucoup de nouveautés liées à la sécurité (identification, encryptage, etc.) et au réseau, donc assez techniques. Pour résumer les changements, si vous ne comprenez pas tout, dites vous juste que c’est beaucoup mieux!

  • Encryption TLS des communications si proposé par votre serveur. Attention néanmoins, mon utilisation de TLS par les fonctions PHP n’inclut pas la validation du certificat X.509 (du peu que j’en comprends), qui permet une bien meilleure identification du serveur (en plus de l’encryption). En fait je n’ai pas étudié la question à fond, ni n’ai trouvé de docs suffisantes et pas trop chiantes pour comprendre tout cela (cependant si un utilisateur aguerri de PHP veut m’aider, n’hésitez pas à me le dire et à me donner davantage d’indications pour intégrer cela dès maintenant à mon plugin).
    En réalité, j’encrypte avec SSLv2 ou 3, car apparemment Gmail ne gère pas TLS même s’il dit le gérer (après tests. Encore une fois, si je dis une bourde, tout retour est le bienvenu. Car ce sont des sujets complexes qui ne sont pas trop dans mon domaine de compétence). L’encryption SSLv23 semble donc le compromis à court terme.
  • Nouvelles méthodes d’identification SASL: le plugin sait s’identifier actuellement avec les méthodes suivantes (par ordre de préférence): DigestMD5, CramMD5, PLAIN. Notez que seul DigestMD5 et PLAIN ont été testés en réalité et que je ne supporte que l’identification SASL, ce qui est de toutes façons l’identification recommandée.
  • Création et configuration automatiques des noeuds pubsub: cela existait déjà avant, mais a été amélioré. Le plugin se charge automatiquement de créer les noeuds nécessaires et de les configurer. Voici comment sont configurés les noeuds: inclusion du contenu par défaut dans les notifications (pubsub#deliver_payloads), changement du titre des noeuds (pubsub#title) avec des noms significatifs (sauf si un titre a été manuellement mis, auquel cas le plugin ne le changera pas!), rendre les items persistants (pubsub#persist_items), augmentation automatique du nombre maximum d’éléments à sauvegarder dans le noeud (pubsub#max_items), autoriser la souscription au noeud (pubsub#subscribe).
  • Gestion des SRV Records: désormais si le nom de domaine gère les enregistrements de Services (SRV Records), il n’y a pas besoin de préciser les données serveur/port sur les serveurs configurés de manière particulière (par exemple le domaine gmail.com qui est joint sur des sous-domaines!). Cela simplifie donc la configuration pour l’utilisateur final, est mieux pour l’internet en général (car les enregistrements de service sont une grande évolution qui n’est malheureusement pas encore assez utilisée, notamment dans aucun navigateur web pour les services web!), et permet de gérer la haute disponibilité (si des domaines ont de nombreux serveurs pour répartir la charge ou gérer l’arrêt d’un serveur, le plugin sait boucler jusqu’à trouver un serveur fonctionnel).
  • Possibilité d’envoyer un extrait ou un résumé à la place des articles complets: lorsque cette case de configuration est activée, alors le plugin n’enverra que le résumé de l’article, si vous en avez fourni un. Si vous n’avez pas fourni d’extrait, mais que vous utilisez la balise <!-- more -->, il enverra seulement l’introduction avant la dite balise. Enfin si vous n’utilisez ni l’un ni l’autre, il enverra l’article complet.
  • Envoi de l’article en html: lorsque la case est cochée, l’article est envoyé dans deux versions: html et texte brut, de sorte que si le client de l’utilisateur inscrit sait lire le html, alors il pourra afficher une page formatée en html. Si le client ne connaît pas le html, alors il aura toujours la version texte à disposition. Il n’y a donc aucune perte d’information lors de l’activation de cette option, uniquement une méthode alternative.
  • Et évidemment la correction de divers bugs que j’ai vus ou qui m’ont été pointés du doigt par des admirateurs utilisateurs ;-) .

Tout retour est le bienvenu. Pour information, je ne serai malheureusement plus disponible à partir de mars/avril (à peu près). Il se peut même que l’on n’entende plus trop parler de moi avant longtemps après cela (ou peut-être que si… car la vie est pleine de surprise! Mais pour l’instant, c’est mystère et boulet de canon). Par conséquent si vous souhaitez faire un retour, c’est maintenant. D’un autre côté, si quelqu’un souhaite reprendre la maintenance du projet, qu’il me contacte afin que je lui passe les rennes.

Tchouss’!

P.S.: si personne ne se manifeste avant que je disparaisse, je laisserai de toutes façons à quelqu’un de confiance l’ensemble de mes accès sur mon serveur, les divers projets auxquels je participe, etc. Je laisserai donc également le moyen de le contacter, de sorte que si quelqu’un souhaite reprendre le travail sur un de mes codes une fois que je ne serai plus là, il puisse le faire.

3 Responses to “Jabber Feed 0.4 : l’évolution avant la révolution”

  1. louiz' Says:

    Ça a l’air intéressant, mais j’ai pas réussi à le faire fonctionner…
    Et comme j’ai rien trouvé pour faire un bug report, je le fais ici :p

    Warning: require_once(Auth/SASL/DigestMD5.php) [function.require-once]: failed to open stream: No such file or directory in /usr/share/wordpress/wp-content/plugins/jabber-feed/xmpp_stream.php on line 24

    Fatal error: require_once() [function.require]: Failed opening required ‘Auth/SASL/DigestMD5.php’ (include_path=’.:/usr/share/pear:/usr/share/php’) in /usr/share/wordpress/wp-content/plugins/jabber-feed/xmpp_stream.php on line 24

  2. Jehan Says:

    Salut,

    t’as raison de le faire ici. Ce projet n’a pas d’outil de suivi de bug. Désolé.
    En fait, ce que tu soulèves n’est pas un bug, mais une dépendance obligatoire du plugin. Les quelques dépendances (ou options de compilation de php) sont notées sur le site Wordpress: http://wordpress.org/extend/plugins/jabber-feed/installation/

    En l’occurrence ici, le module PHP “Auth_SASL” doit être installé sur le serveur. Il me procure les diverses fonctions PHP pour gérer l’identification SASL. Si tu peux administrer ton serveur, ça s’installe généralement avec la commande “pear install Auth_SASL”. Sur certains serveurs un peu proche des utilisateurs, tu peux peut-être demander aux admins s’ils peuvent pas installer ce module.
    Voilà, j’espère que j’aurai pu t’aider. N’hésite pas à demander si tu veux plus d’infos ou à venir faire un retour après.
    Bye.

  3. Sailitabee Says:

    amazing work have nice day kisses,