• [^] # Re: Perso, j'installe pas ça chez moi

    Posté par (site web personnel) . En réponse au journal Olcc-NG : un nouveau client de messagerie moderne et efficace. Évalué à 9.

    En tant qu'auteur de l'olcc original, je vais un peu expliquer le rôle du PHP là-dedans et pourquoi il est aussi basique.

    A la base, l'idée d'olcc était de faire un client de tribune entièrement en javascript. C'était un peu ce que faisait le script Greasemonkey "EnhancedBoard", en transformant totalement la page peu pratique linuxfr.org/board en quelque chose qui se rapprochait véritablement de l'expérience utilisateur d'un coincoin du type wmcc ou pycc. Cependant, il lui manquait une fonctionnalité de taille : l'agrégation de plusieurs tribunes différentes.

    Mais pour ce faire, Greasemonkey et le Javascript ne suffisaient plus, puisqu'on sortait de l'interaction avec un seul site, pour devoir afficher du contenu provenant de sites multiples, et donner la possibilité de poster dessus1. Il fallait héberger le code d'olcc sur un serveur et permettre à ce serveur de requêter sur les sites hébergeant les tribunes.

    J'ai donc conçu un mini proxy très simple en PHP qui est appelé par ajax, et se charge d'effectuer la requête vers le bon site avec la libcurl pour la récupération des backends XML et pour le post, uniquement dans le but de contourner l'impossibilité de faire les requêtes directement en js sur les sites cibles. Et effectivement, il serait simple de détourner l'utilisation de ce PHP pour par exemple en faire une sorte de proxy universel pour requêter n'importe quelle URL sur n'importe quel site (LiNuCe< en avait d'ailleurs fait un proof-of-concept). Il y aurait quelques trucs faciles à implémenter pour sécuriser un peu le bouzin, ne serait-ce par exemple que contrôler que l'url demandée correspond bien à une url de tribune configurée côté client. Mais moi, développer une partie serveur ne m'intéressait tout bonnement pas, j'étais dans une logique de pondre un client de tribunes purement javascript autant que possible.

    D'autres se sont penchés sur la question : un "olccs" (s pour server) avait été développé, sorte d'agrégateur/archiveur de tribunes fournissant une API de consultation/recherche et de post unifiée, sur laquelle pouvait se greffer olcc ou n'importe quel coincoin. Je parle au passé car il n'y a plus d'instance maintenue.

    Voilà voilà

    1 Je modère un peu cette remarque par la précision suivante : en fait, une possibilité purement javascript existe bien : le requêtage Ajax cross-domain (CORS). Mais pour que cela fonctionne, il faut que tous les serveurs de tribune l'autorisent, ce qui est rarement le cas en pratique. Sinon, linuxfr donne également la possibilité d'utiliser OAuth2 pour poster dans la tribune, mais c'est une spécificité que ne partagent pas les autres moteurs de tribunes et je ne me suis jamais penché sur la mise en oeuvre.