Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : FluxBB

eZFluxBB 1.3

Guillaume Kulakowski

Je viens de publier la version 1.3 d'eZFluxBB l'extension permettant de lier votre forum FluxBB à votre CMS eZ Publish.

Mais quelles sont les nouveautés ?

  • Ajout d'une fonction eZJSCoreCallServer pour récupérer les informations sur l'utilisateur courant,
  • Ajout d'un bloc eZFlow pour afficher les informations de connexion.

Autres nouveautés invisibles pour l'utilisateur

eZFluxBB 1.3 marque la fin du support de PunBB/FluxBB 1.2. Jusquà présent lorsque vous configuriez eZFluxBB, vous instanciez au besoin la classe eZFluxBB12 ou eZFluxBB14 en fonction de votre version, toutes les 2 héritant de la classe eZFluxBB.

Le problème est que de plus en plus de différences apparaissent dans les versions mineures (cookie différent, etc...). J'ai donc arrêté d'utiliser cette façon de faire et j'ai maintenant recours à des appels à version_compare au sein du code.

Mais l'autre nouveauté est l'utilisation d'un fichier *.ini pour toutes les requêtes MySQL ! Cette façon de procéder quelque peu étrange permet :

  • De modifier une requête uniquement dans le fichier ini en fonction de la version de FluxBB,
  • de pouvoir modifier une requête sans toucher au core de l'extension. Utile si vous avez des mods comme les sondages ou les messages privés sur votre forums.

A noter également que cette version est issue du travail d'intégration continue que j'ai récemment mis en place pour tous mes projets. L'archive est dailleurs générées à partir de phing.

Comme d'habitude c'est téléchargeable sur la forge de projet d'eZ Systems :

FluxSphinx, l'intégration de Sphinx dans FluxBB

Guillaume Kulakowski

Il y a de cela quelques mois, nous avons rencontré des montées en charge sur Borsalino (l'ancien serveur de Fedora-Fr). Après enquête, il s'est avéré que la recherche de certains mots (ceux qui remontaient le plus de résultats) sur les forums faisait planter les sites en entrainant une charge sur le serveur MySQL. La sentence est vite tombée et nous avons été contraints de couper la recherche native sur les forums de Fedora-Fr et de basculer sur Google Custom Search Engine.

Avec l'arrivée de Stetson, le nouveau serveur mis à disposition par nos amis d'Ikoula, la question de remettre la recherche en place s'est posée. Cependant, je trouvais frustrant de répondre à un problème de conception (la recherche native de FluxBB bien que très efficace n'est pas adaptée aux grosses volumétries) par une course à l'armement (la RAM dans notre cas). Bref, je travaillais depuis quelques temps à limplémentation de Sphinx pour FluxBB sous le nom de code FluxSphinx. Et depuis ce long week-end de Toussaint, FluxSphinx est en production sur les forums de Fedora-Fr et le code est disponible sur le site du projet.

A noter que la configuration permet d'inclure la librairie PECL compilée plus efficiente que l'API en php (que vous pouvez également utiliser).

Pour le moment FluxSphinx est Iso fonctionnel avec la recherche native de FluxBB, seul le tri par pertinence ainsi que le récapitulatif dans le résultat de la recherche le distingue de la recherche native.

Cette version 0.9 donnera naissance rapidement à une v1.0 lorsque les bugs éventuels auront été remontés et corrigés. Ensuite devrait arriver une version 1.1 avec l'arrivée de facettes.

Fedora-Fr v5, étude de cas d'un site sous eZ Publish & eZ Flow

Guillaume Kulakowski

Rappelez-vous, il y a de cela 3 ans, Fedora-Fr passait sous eZ Publish pour les sous-domaines de portail et planet. Récemment nous avons entrepris une grosse refonte graphique de Fedora-Fr sous le nom de code "Fedora-Fr v5". L'occasion de revenir sur mon article précédent afin de converser sur les évolutions de notre implémentation du CMS eZ Publish.

eZFluxBB

La gestion des utilisateurs de Fedora-Fr est toujours confiée à FluxBB, notre logiciel de forums. C'est encore plus vrai que via notre application Gauffr, ce sont les informations issues de FluxBB qui sont utilisées par toutes les autres applications. eZ Publish utilise donc le connecteur eZFluxBB afin de récupérer les différentes informations (utilisateurs, statistiques, news, derniers topics, etc...) issues des forums.

Ce qui a le plus évolué c'est que le connecteur utilise à présent eZFlow et propose un ensemble de blocs pour cette extension portail d'eZ System.

Structure eZ mise en place sur Fedora-Fr

Les extensions

La structure a quelque peu évolué par rapport à mon précédent article.

On est toujours dans une architecture classique en eZ Publish, à savoir : 1 site = 1 extension. Mais en plus de l'extension dite socle (permettant de regrouper certains designs, les traductions et certains paramètres propres à tous les sites de Fedora-Fr), j'ai rajouté une extension de type socle_frontend regroupant l'ensemble des informations propres aux sites frontaux (notamment le fichier override.ini.append.php).

Structure des sites Fedora-Fr

Puisqu'on parle d'extensions, il est à noter que toutes les extensions créées pour les besoins de Fedora-Fr sont publiées sous licence GPLv2 :

  • eZFluxBB : connecteur eZ Publish / FluxBB.
  • eZGauffr : connecteur eZ Publish / Gauffr.
  • eZPlanet : gestion du planet avec notamment la tache planifiée qui va chercher les billets à partir des Flux renseignés dans le profil des membres.
  • eZTidy : implémentation de Tidy dans eZ Publish
  • leZRSS : amélioration de la fonction RSS native d'eZ Publish utilisant le système de template.
  • leZToolBox : ma boite à outils.

En plus de ces extensions, la plateforme utilise les composants officiels ci-dessous :

  • eZFlow : gestion des fonctionnalités de portail.
  • eZIE : éditeur d'image en ligne.
  • eZJSCore : framework JS/Ajax.
  • eZMultiIpload : upload multiple
  • eZOE : éditeur WYSIWYG.
  • eZWebin : dépendance d'eZFlow

Pour les extensions third party nous utilisons les suivantes :

  • admin2pp : amélioration de l'interface d'administration.
  • eZClassList : interface pour filtrer les objets eZ par type de contenu.
  • eZFeedParse : parseur de flux RSS.

Les classes

Les classes ont évolué avec le temps afin d'intégrer eZFlow et le datatype "page".

Les classes dans Fedora-Fr

Pour la petite histoire le système de "global layout" n'a été introduit qu'avec la version 5 de Fedora-Fr, avant il fallait à chaque fois se retaper toute la colonne pour chaque page...

Exemple de global layout

On notera également que pour la colonne de droite, celle-ci est facultative, si elle est vide alors c'est le "global layout" qui est utilisé.

Édition d'une classe avec eZFlow

Les différents sites de l'instance eZ Publish

Au www et planet dont javais parlé précédemment se sont rajoutés 2 nouveaux sous-domaines gérés par eZ Publish :

  • recherche.fedora-fr.org : Moteur de recherche globale sur tout le domaine Fedora-Fr
  • mon.fedora-fr.org : Système de page personnalisable

Le planet

Le planet a subit quelques évolutions avec la v5. J'ai notamment publié une nouvelle version de mon extension eZPlanet qui permet à présent de gérer les tags multiples. Une fois les billets tagués, il devenait évident de mettre en place un nuage de tags.

Le nuage de tags du planet de Fedora-Fr

La structure du planet a elle aussi beaucoup changé. Suite à une remarque de Damien, je suis passé d'une structure où tous les billets étaient dans un même nœud à une structure où tous les billets sont fils de l'auteur. Ce qui me permet de pouvoir rapidement supprimer tous les articles d'un même auteur simplement en masquant ce dernier.

La structure du planet de Fedora-Fr

Recherche globale

Le sous-domaine recherche n'est qu'une page eZFlow avec un bloc implémentant le service de Google : Google Custom Search engine. Actuellement en bêta, ce service a pour vocation de remplacer l'API Google Web Search, à présent dépréciée.

Google Custom Search Engine

Mon Fedora-Fr

Mon Fedora-Fr est une page d'accueil personnalisable reprenant les informations autours de Fedora et de Fedora-Fr. C'est une page inspirée des Netvibes ou iGoogle utilisant jQuery et jQueryUI dont notamment le composant sortable-portlets.

Ce site est actuellement en version alpha et devrait s'enrichir de fonctionnalités ainsi que de widgets. Il devrait également bientôt permettre de sauvegarder/charger ses préférences en base de données. Comme le site est assez lié au choix technologiques de Fedora-Fr, je ne pense pas en faire une extension eZ Publish. Cependant lorsque tout sera fini je ne manquerai pas de publier le code et d'expliquer le bouzin dans un billet dédié. Pour rappel les contraintes techniques sont :

  • Cache statique,
  • 0 requête MySQL,
  • Pas ou peu d'appel Ajax,
  • Base membres issue de FluxBB


Mon Fedora-Fr

Choix technologiques

Cache statique

Fedora-Fr utilise toujours massivement le cache statique. Je ne reviendrai donc pas dessus.

Bye bye Mootools

Depuis le passage à eZ Publish 4.3, j'ai dû me résoudre à migrer de MooTools vers jQuery, l'un des framework JavaScript retenu par eZ System et bien mieux intégré à eZ Publish via l'extension eZJSCore.

CSS Sprites

Fedora-Fr v5 a été l'occasion pour optimiser encore plus le site en adoptant notamment la technique du CSS Sprites. C'est un peu galère au début mais, en plus de diminuer le nombre de requêtes HTTP, ça évite de faire des preloads afin de contrer les effets de clipping sur les roll-over (les boutons du forum par exemple).

CSS Sprites Forums

CSS Sprites eZ Publish

eZ Publish + FluxBB = eZFluxBB 1.1.0

Guillaume Kulakowski

Ceux qui suivent l'actualité de fedora-fr l'auront remarqué : nous sommes passés sous la branche 1.4 du logiciel de forum FluxBB. L'occasion pour moi de mettre à jour mon extension pour eZ Publish permettant d'y intégrer FluxBB : eZFluxBB.

Au sommaire des nouveautés :

  • Bien entendu le support de la branche 1.4 de FluxBB.
  • Tout comme Fedora-Fr qui a fait dernièrement le tournant vers eZFlow, eZFluxBB intègre à présent la plupart de ses fonctionnalités au travers de block eZFlow.

Voila, c'est visible sur la home de Fedora-Fr, des exemples sont également visibles dans la galerie du projet. Le projet est hébergé sur la forge d'eZ System et c'est donc tout naturellement là-bas que vous pourrez télécharger la version 1.1.

Fedora-Fr de PunBB 1.2 vers FluxBB 1.4

Guillaume Kulakowski

Aujourd'hui les forums de Fedora-Fr ont été migré d'une archaïque version 1.2 de PunBB vers la toute dernière version de FluxBB : la 1.4.2. L'occasion pour mettre à jour mon extension eZFluxBB (disponible sur le SVN, le build arrive bientôt) permettant d'établir un pont entre FluxBB et eZ Publish. L'occasion aussi de développer un petit mod permettant de marquer les sujets comme résolus (bientôt mis à disposition, faut que je le package). Les autres nouveautés sont :

  • Léger rafraichissement du look grâce à CSS3 et CSS3 PIE.
  • Possibilité de rajouter des sondages.
  • Implémentation de reCaptcha.
  • Implémentation d'AddThis.

Voila, un dimanche bien studieux.

Sortie de Gauffr 0.4

Guillaume Kulakowski

gauffr_logo.pngC'est la première fois que j'aborde le sujet de Gauffr sur ce blog alors que le projet vient d'atteindre sa 3ème release : la 0.4.

Si c'est la première fois que j'en parle c'est que, selon moi, la version 0.4 de Gauffr est la première version vraiment utilisable (même si Fedora-Fr carbure à la Gauffr depuis la v0.1). Mais tout d'abord, qu'est-ce que Gauffr ?

Gauffr est une solution d'authentification unique, qui permet de définir un GauffrMaster (dans le cas de Fedora-Fr, notre forum FluxBB) et des GauffrSlave (Trac, Dotclear, eZ Publish, MediaWiki, etc...). Les GauffrSlave vont alors, grâce à des plugins se connecter en utilisant les informations (login/mot de passe) de Gauffr donc du GauffrMaster. Gauffr est donc une couche d'abstraction entre votre base de membres et vos autres applications permettant de se connecter avec 1 seul et même identifiant. A la différence d'un SSO, la session n'est pas propagée avec Gauffr.

Gauffr in Fedora-Fr

Technologiquement Gauffr repose sur :

Schéma de fonctionnement de Gauffr

Les autres points forts de Gauffr sont :

  • Gestion de logs : on sait, par exemple, qui tente de se connecter sur une application sans en avoir le droit.
  • Gestion des AltLogin : par exemple, mon identifiant sur les forums de Fedora-Fr est llaumgui alors que sur le wiki c'est GuillaumeKulakowski, Gauffr sait faire la conversion et retrouver le bon compte sur le GauffrMaster.
  • Gestion des accréditations : on peut gérer les accès aux différentes applications (GauffrSlaves) directement depuis Gauffr.
  • htacess : Gauffr est coupable avec des htacess via mod_auth_mysql.
  • API : Gauffr possède une API documentée.

Voila, le projet est encore tout jeune mais les prochaines versions devraient amener la GaufrAdmin qui permettra de configurer les droits et les GauffrSlave à partir d'une interface web.

En attendant Gauffr 0.4 est disponible sur le site du projet et également en RPM depuis mon dépôt.

Fedora-Fr, mise à jour sous eZ Publish 4.3 et migration vers eZ Flow

Guillaume Kulakowski

Avec un peu de retard, Fedora-Fr vient enfin de passer d'eZ Publish 4.2 vers la version 4.3. Une mise à jour sans encombre une fois de plus grâce au cache statique qui permet de "tout casser" sans que les visiteurs en soient pénalisés ou même ne s'en rendent compte. Les autres éléments mis à jour ou modifiés sont les suivants :

C'est ce dernier point qui a été le plus long à réaliser. Jusqu'à présent, les blocs de Fedora-Fr étaient directement inclus depuis l'éditeur de texte (eZOE). Cette solution, à l'époque, était pratique mais avec l'arrivée d'eZ Flow les astuces utilisées devenaient absurdes. A présent la gestion des différents layouts d'une page est déléguée non plus à des cases à cocher mais à eZ Flow tout comme la gestion des différents blocs.

Fedora-Fr et eZ Flow

Cette migration a été aussi l'occasion de mettre à jour eZFluxBB qui comprend à présent des blocs eZ Flow pour inclure directement les informations de votre forum FluxBB dans votre portail eZ Publish ! Une nouvelle version d'eZFluxBB devrait bientôt voir le jour juste le temps de faire des tests avec FluxBB 1.4.

En effet, la prochaine étape sur Fedora-Fr sera de mettre à jour le forum de PunBB ver FluxBB 1.4.