Tribune, mode d'emploi
Le nom pokemon
Le nom pokemon en tête de l'ua (sauf pour les utilisateurs de coin²) est stocké en session, il dépend donc du cookie positionné par le serveur. Ce nom ne peut pas être changé par l'utilisateur, il peut servir à alimenter la bak.
La BAK côté serveur
La BAK côté serveur est remplie par l'intermédiaire du /ignore. La syntaxe est:
- /ignore anonymous
pour baker tous les posts venant de non-authentifiés.
- /ignore login unlogin
pour baker tous les posts postés par le login unlogin.
- /ignore ua uneregex
pour baker tous les posts matchant la regex sur le user agent.
- /ignore post uneregex
pour baker tous les posts matchant la regex sur le post.
/ignore remplit des tableaux en session utilisateurs, et chaque post (lors de la mise à jour et de l'envoi de données au brouteur) est testé via ces tableaux. Si le post remplit une des conditions (i.e. le login == ou post.match(uneregex) par exemple), le post n'est pas envoyé.
Pour supprimer une entrée de la BAK, il suffit de refaire un /ignore dessus avec la même syntaxe. Une liste sur la page présente les machins dans la bak.
Cette fonctionnalité, côté serveur, est bien sûr gourmande en ressource.
Changement du nick/user agent
Sans utiliser d'extension côté client, on peut ici changer son ua avec la commande
- /nick talope
Cela positionne une variable en session qui remplacera le user agent du navigateur.
Le post anonyme
/anonymous permet de poster un post en anonyme. L'ua sera remplacée par [Anonymous] Coward. L'ip est bien sûr logguée tout de même dans la base.
Le CPS intégré
Pour être intégré au CPS, il suffit de mettre cps:lat:long à la toute fin de son UA (avec /nick par exemple, suivez un peu). Le fait, pour un utilisateur authentifié, de poster avec un cps:42:42 à la fin de son UA mets à jour l'enregistrement correspondant dans la base de données (à chaque fois, donc le dernier cps écrasera le précédent).
La page du CPS effectue ensuite les actions suivantes:
- On regarde le backend pour les posts anonymes, et on prend le cps:: s'il existe
- On prend les enregistrements de tous les authentifiés s'ils existent
- On remplit le tableau qui va bien, et on passe le tout au script Google Maps.
Pour les anonymes, on fait bien attention de prendre le dernier cps. Genre si on a ces deux UA (dans l'ordre chronologique):
- [Pikachu] Marcel Beliveau cps:42:3.1416
- [Pikachu] Marcel Beliveau cps:3.1416:42
C'est ce dernier cps qui sera prise en compte.
Gestion des URLs
Chaque URL qui passe est traitée de 2 manières:
- On tente d'afficher le contenu du lien (ce qui est affiché, donc) comme quelque chose de compréhensible (genre [Libé] pour un lien sur libe.fr)
- On stocke l'URL dans la base de données, histoire d'avoir un historique
Divers
- Les icônes HFR ([:totoz] [:gle] et cie) deviennent des liens vers le totoz.eu. Aucun test n'est effectué, si l'icône n'existe pas, tant pis. *Un mouseover a été ajouter pour l'affichage en "tooltip" des liens.
- leçon 42 sera remplacé vers le lien correspondant dans Leçons. La regex est (?:L|l)eçon ([0-9]{1,3}(?: bis)?), sont acceptées les leçon 42 bis, donc
Coin²
- URL de post: /tribune/post_coincoin
- Remote: /tribune/remote
Pour récupérer le cookie avec pyc², il faut mettre dans l'interface de login l'url /tribune/post et cliquer sur "se loguer sur le site".