Le coin du Koinkoin

tifauv_at_gmail_point_com

16 octobre 2007 - trunk r351

Un certain nombre de modifications sont en cours pour arriver à la 0.4.0.

La gestion de l'authentification progresse. Il est possible de s'authentifier à condition de modifier manuellement le fichier tribune/tribune.prefs. L'interface d'ajout/suppression d'identités est aussi en cours d'écriture. L'interface de gestion des bouchots a subi de gros changements.

Parmis les autres modifications mineures de l'interface, le Pinnipede affiche des boutons pour recharger le backend et s'authentifier si (au moins) une identité a été configurée. Ah, encore deux petits détails. Les liens apparaîssent dans le bas du Pinnipède et plus dans la barre de statut globale ; et la barre qui affiche le temps avant le prochain rechargement affiche aussi le temps restant (en secondes).

De plus, j'ai commencé à jouer avec les templates. Un nouveau namespace a vu le jour : koinkoin::core::utils. Il regroupe une classe template Singleton, ainsi qu'un ensemble pour gérer des plugins. En effet, koinkoin se dirige vers une architecture où plusieurs types de plugins pourront cohabiter. Les détails ne sont pas encore totalement fixés mais il y a déjà un BotsManager qui gère les plugins de type Koinkoin/Bot. Ces plugins sont maintenant séparés de ceux du PostProcessor. En parlant de lui, il hérite maintenant lui aussi de Singleton et de PluginsManager.

Enfin, ce n'est pas grand-chose mais j'ai ajouté un début de documentation DocBook, en anglais uniquement pour le moment.

5 novembre 2006 - tags/0.3.1

La 0.3.1 est terminée !

La configuration est désormais enregistrée sous .kde/share/apps. Les bouchots et plugins sont restaurés au lancement. Enfin, la boite de dialogue de gestion des bouchots affiche correctement les bouchots personnalisés.

2 novembre 2006 - trunk r301

Sur la route de la 0.3.1... Le crash possible quand on tentait de recharger ou fermer le pinnipède courant sans pinnipède courant est réglé. Une grosse mise à jour des README, TODO, Changelog, toussa...

28 octobre 2006 - tags/0.3

Ayé ! Enfin une release stable de koinkoin depuis la 0.1.

Il n'y a pas eu de nouvelles ici, mais le dernier mois a vu de gros changements dans le core. En particulier, il n'y a plus un seul fichier de configuration mais un par tribune. Le format de ce fichier correspond à celui discuté il y a un moment sur la tribune de moules.org.

Parmis les plus grosses modifs :

core
  • ajout de la classe Module qui surclasse BoardModule et un hypothétique RssModule
  • éclatement de la classe Bouchot en Bouchot, BoardModule, BoardConfig, HttpEngine et BackendUpdater. Modularisation ro><ore
  • le koinkoin::core::BouchotsManager permet d'ajouter et de supprimer des fichiers de configuration
  • le BackendUpdater n'appelle plus directement les slots du BouchotsManager mais lui envoie des signaux. Ainsi, c'est toujours la thread de la boucle d'évènements de Qt qui modifie l'interface graphique. Cela supprime les plantages au lancement de koinkoin.
gui
  • les widgets Palmipede et Pinnipede sont basés sur un fichier .ui créé avec KDevDesigner.
  • ajout d'une boite de dialogue pour récupérer la liste des configurations de bouchots et choisir ceux que l'on veut.
  • possibilité d'ajouter un bouchot manuellement (incomplet)
  • la toolbar contient maintenant les boutons pour effacer et changer le mode du palmipède. Elle est placée en bas par défaut.

26 août 2006 - trunk r230

Le plus gros changement est le passage de Scons au système de compilation de KDE. Ainsi, toute la recherche des répertoires d'installation est automatique.

Dans les gros changements, le core a subi un gros lifting. La gestion des slips est passée de KoinkoinCore à un SlipsManager tout beau. Les *Manager sont maintenant des singletons, et il n'est plus nécessaire de passer par le KoinkoinCore pour les obtenir. De plus, la gestion des signaux/slots est plus directe car ne passe plus par le KoinkoinCore.

Le système de chargement des plugins utilise maintenant la notion de service de KDE.

L'interface est i18n-isée, avec bien évidemment une traduction française fournie par défaut.

Dernière petite chose : j'ai installé Trac pour suivre les bugs, features-requests, toussa...

10 août 2006 - trunk r206

Quelques corrections dans la mise à jour de la configuration évitent de disgracieux plantages. De plus, un système de suivi est en place.

31 mai 2006 - trunk r199

Les fichiers de configuration et préférences n'utilisent plus d'URLs https. De plus, on peut indiquer dans les préférences un élément <UseHttps/> pour forcer son utilisation. Les archives de l'ebuild sont à jour.

29 mai 2006 - trunk r196

Changement dans la procédure d'installation. Elle ne passe plus par SCons mais utilise un simple script bash. Pour les utilisateurs de Gentoo, un ebuild est disponible. Vous trouverez plus d'informations sur la page d'installation.

20 mai 2006 - trunk r180

Quelques petites modifications ont permis d'améliorer la détection des faux totoz. Par ailleurs, la syntaxe du fichier de préférences a évolué pour permettre de définir le User-Agent à envoyer pour chaque bouchot.

17 mai 2006 - trunk r177

Pas de nouvelles depuis longtemps, mais ça ne signifie pas qu'il n'y ait eu aucune avancée. Le core (0.8.6-b3) a subit pas mal de modifs :

8 mars 2006 - trunk - r151

Deux nouveautés :

Le core est en version 0.7.2 et koinkoin en 0.1.3.

24 février 2006 - koinkoin-0.1.0 - r143

La méthode d'encodage reprise de QUrl présentait une erreur d'adaptation qui faisait apparaitre des caractères bizarres à la fin des messages envoyés. En plus, ça sentait un peu la vieille chaussette trouée dans Bouchot à cause d'un QDomDocument non libéré.

Bref, avec le fonctionnement correct de l'encodage, il est temps pour une sortie importante. Le core passe en 0.7.0 tandis que koinkoin atteint la 0.1.

22 février 2006 - trunk - r139

Au menu : correction d'un léger bug dans la gestion de l'historique. Ça, c'est l'entrée. Le plat de résistance, c'est que l'encodage des posts semble marcher honorablement. J'ai dû repiquer la méthode QUrl::encode(QString) pour qu'elle gère des QCString et conserve l'encodage. Normalement, c'est bon pour ces histoires tordues.

En dessert, le core passe en version 0.6.7

21 février 2006 - trunk - r137

Les nouveautés au programme concernent la gestion des carctères non US-ASCII lors de l'envoi de messages. J'ai tenté deux approches :

Après moultes hésitations, la première solution a tout pour marcher, mais ça déconne. Le QTextCodec créé semble bon, mais le résultat de la transformation ne montre aucune différence. A garder pour investigation dans les méandres de Qt...

La seconde méthode est imparfaite car certains moteurs de tribunes ont la fâcheuse habitude de remplacer systématiquement les & par &amp;, ce qui pose problème à pycc. Disons que c'est un weurkarounde en attendant un encodage propre et frais.

Au passage, le core passe en version 0.6.5.

20 février 2006 - koinkoin-0.0.8b - r134

Correction d'un petit bug dans l'analyse des posts. Si le message contient un élément DOM (tags non encodés), les attributs sont pris en compte. Cela corrige le bug des [url] non cliquables sur certains bouchots. Le core passe à la version 0.6.3.

19 février 2006 - koinkoin-0.0.8a - r132

Les fichiers sources ont été convertis en UTF8. L'interface utilise désormais trUtf8() au lieu de tr(). Les traces envoyées sur kdDebug() sont également en UTF8. La version 0.0.8 (core 0.6.2) peut sortir.

Un include obsolète s'était glissé malencontreusement et empêchait la compilation. La 0.0.8a corrige cela.

17 février 2006 - trunk - r123

Voici une nouvelle version du core (0.6.0) qui analyse enfin correctement le backend de dlfp. Les entités en début de ligne et les tags nonésolus sont de l'histoire ancienne !

9 février 2006 - trunk - r120

Le core utilise un délai de rafraîchissement auto-adaptatif des backends. Le délai est calculé avec la formule delai = dernierDelai / nbPostsAjoutes. Les délais minimum et maximum sont respectivement de 9 secondes et 3 minutes. Le dernierDelai est mis à jour lorsqu'on force le rechargement.

Viennent d'autres petites corrections dans la gestion des namespaces du fichier de configuration, ainsi que l'apparition de fenêtres d'erreur quand le core renvoie une erreur. Comment ça fait pro !

Le core passe en version 0.5.4.

26 janvier 2006 - trunk - r116

Petite évolution dans la syntaxe du fichier de configuration :

Ceci amène la version 1.2 de la configuration et sa description XML Schema. La version du core passe à 0.5.2.

25 janvier 2006 - trunk - r115

La classe MoteurBouchot et tout ce qui s'y référait a été renommé en Slip. De plus, un slip prend désormais en charge les noms des cookies nécessaires pour l'authentification. Comme cela a entraîné des modifications dans le fichier de configuration le rendant incompatible avec l'ancien, j'ai ajouté un système de version sur la config. Si le core étecte une version incompatible, il téléchargera sa version tout seul comme un grand.

22 janvier 2006 - koinkoin-0.0.7 - r106

Les modifications apportées depuis la précédante rilize sont suffisamment importantes pour sortir officiellement la version 0.0.7 ! On dirait que mes versions impaires sont stables et les paires celles de développment mais c'est pas voulu. J'ai aussi supprimé la branche koinkoin-tif puisque personne n'autre ne committe. Je vais donc tout faire dans trunk/.

21 janvier 2006 - koinkoin-tif - r103

Toute une série de modifications visantà éliminer la grande majoé des pointeurs et à les remplacer par des QGuardedPtr. De plus, davantage de passages de paramètres se font par références. Enfin, l'interface proposée par KoinkoinCore est épurée et repensée.

15 janvier 2006 - koinkoin-tif - r96

Modifications :

08 janvier 2006 - koinkoin-tif - r86

Juste des corrections de bugs au programme. Tout d'abord, ajout de QMutexes pour mieux synchroniser les tâches de KIO_http. De plus, les SIGSEGVs qui avaient lieu lors de l'arrêt ont visiblementété suppés.

Enfin, le premier pinnipède est affiché au lancement.

06 janvier 2006 - koinkoin-tif - r84

Il est maintenant possible de recharger et appliquer la configuration du serveur. Ce fichier est automatiquement récupéré si le fichier local ne peut être lu correctement.

Graphiquement, les menus Processeurs de Posts et Configuration sont inversés.

De plus, les namespaces core, gui et plugins sont réunis sous le méta-namespace koinkoin.

Enfin, le core renvoie des exceptions et l'interaction core <-> GUI utilise des signaux et slots. Par exemple, les menus Bouchots et Processeurs de Posts sont mis à jour via les signaux du core. Le statut actif/inactif des Bouchots et PostProcessors est donc modifié en temps réel par le core. Par contre, la GUI n'influe pas encore sur le core.

15 décembre 2005 - koinkoin-tif - r78

Plus besoin de copier le fichier de configuration distribué, Koinkoin le fait pour vous ! Un fichier-type est disponible à https://tifauv.homeip.net/koinkoin/dist/koinkoin.cfg. Un merge dans trunk et une version 0.0.6 auront lieu quand on pourra récupérer et recharger une configuration depuis l'interface. Les fichiers koinkoin.cfg et koinkoin.pro devenus inutiles sont supprimés.

13 décembre 2005 - koinkoin-tif - r77

Le Makefile a été revu afin de limiter les dépendances inutiles qui forçaient une recompilation de certains éléments. De plus, les fichiers du core sont rassemblés dans la bibliothèque libkoinkoincore.so. koinkoin est maintenant lié à cette bibliothèque. J'ai ajouté un descriptif de la démarche à suivre pour compiler et installer koinkoin dans cette page. Enfin, la documentation du code est mise à jour (doxygen 1.4.4) et comprend désormais les namespaces.

26 novembre 2005 - 0.0.5

Modifications :

Et toujours pas de prise en compte des norloges (mais ça pourrait arriver dans pas longtemps, au moins au niveau du core).

22 novembre 2005 - trunk

Passage de la branche koinkoin-tif courante dans trunk. Il y a eu un nombre sigificatif de modifications :

19 novembre 2005 - 0.0.4-pre3

Un certain nombre de modifications sont en cours afin d'ajouter un système de plugins. Dans un premier temps, les seuls plugins seront des post processors. Ces plugins sont appelés pour chaque nouveau message et peuvent le modifier. Un premier exemple est libvalidcoincoin.so qui colore en vert les \_o< valides. Pour le moment, la recherche des plugins dans un répertoire n'est pas faire, mais c'est la prochaine étape. Le chargement dynamique fonctionne, c'est déjà pas mal.

Cette fonction provoquera le passage en 0.0.4 finale. D'ici là, il devrait y avoir encore une ou deux -pre

12 octobre 2005

Kimael ayant demandé à participer au développement du \_o<, l'organisation du projet dans le repository a changé pour permettre la gestion des branches. Premier fait d'armes du nouveau : il a tué le bug de l'aperçu. Encore !