Journal InDefero, clone GoogleCode en version 0.1.0

Posté par (page perso) .
Tags :
6
3
sept.
2008
Bonjour,

C'est avec plaisir que je vous annonce la sortie d'une nouvelle version d'InDefero. Comme écrit précédemment ici, InDefero[1] est un clone de GoogleCode[2] écrit à l'origine pour utiliser git pour la révision du code. La grande nouvelle est maintenant le support de Subversion (dépôt local ou distant) !

Téléchargez la dernière version : http://projects.ceondo.com/p/indefero/downloads/8/

InDefero est codé en PHP avec le framework Pluf[3] et est disponible sous licence GPL. Il est simple à utiliser et très léger. Si votre hébergeur est de qualité, il fonctionne très bien sur un mutualisé avec des pages ne nécessitant guère plus de 3Mo de mémoire pour le rendu.

La rapidité et la légèreté d'InDefero provient en grande partie de l'utilisation de Pluf. Pluf est un framework PHP reprenant les principes d'architecture de Django[4] lui permettant d'être simple, facile à utiliser même sur de gros projets et extrêmement performant. Le cœur de Pluf (la distribution d'une requête et le rendu minimal d'une page) est ainsi 5 fois plus performant que Symfony[5-7] sur la même configuration (test sur une instance EC2), pour avoir l'équivalent du rendu de "Hello World!" on obtient:

php pur: 1332.53 req/s (100%)
pluf-trunk: 344.02 req/s (25.82%)
symfony-1.1.0: 67.41 req/s (5.11%)

Cette méthodologie de test est celle utilisée par Rasmus Lerdorf pour évaluer le coût minimal en terme de performance du framework[8]. Cela veut dire que quelque soit le niveau de mise en cache[9], vous ne pourrez pas faire mieux.Notez que c'est exceptionnel de n'avoir qu'une si faible dégradation des performances entre un framework et PHP pur, je dois dire aussi que c'est un peu le hasard des choses, j'ai juste essayé de garder la pile d'appel de fonctions dans la boucle de distribution au minimum tout en gardant la philosophie de Django "On active une fonctionnalité que si vraiment demandé".

Je remercie les lecteurs pour les remarques constructives reçu depuis le début de cette aventure, j'invite les trolls avec ce benchmark des performances (mais bon, en utilisant la méthodologie du créateur de PHP, cela devrait les calmer un peu) et accueil les critiques les bras ouverts !

Loïc

[1]: http://www.indefero.net/
[2]: http://code.google.com/
[3]: http://pluf.org
[4]: http://www.djangoproject.com/
[5]: http://paul-m-jones.com/?p=315 (voir les commentaires)
[6]: http://xhtml.net/php/pluf-framework-php/494-Pluf-Framework-P(...) (lire la mise à jour)
[7]: http://www.symfony-project.org/
[8]: http://talks.php.net/show/froscon08/24
[9]: à moins d'utiliser la technique LinuxFr avec un callback sur une erreur 404 pour générer un contenu statique.
  • # Oups

    Posté par (page perso) . Évalué à 2.

    les remarques constructives reçues
  • # Troll ?

    Posté par . Évalué à 2.

    Tu ne donnes pas assez de matière pour pouvoir troller correctement sur les différents frameworks PHP. En plus, je ne vois pas qui s'aventurerait à dire que Synfony est une bête de course...
    • [^] # Re: Troll

      Posté par (page perso) . Évalué à 5.

      Sur mon serveur perso, un Hello World, c'est 8500 requêtes seconde. Ah oui, c'est une page statique.

      Tout ça pour dire qu'en fait, il faut comparer avec un truc un peu plus compliqué. Là c'est pas très représentatif.

      Envoyé depuis mon lapin.

  • # Mais ...

    Posté par . Évalué à -2.

    On va avoir le droit à un journal pour chaque milestone ?
    • [^] # Re: Mais ...

      Posté par (page perso) . Évalué à 3.

      Le support de Subversion avait été demandé par les personnes ici-même, donc c'est pour cela que je l'annonce ici.

      Pour ne pas trop déranger quand même, je poste toujours en "journal de seconde page", il me semble que cela donne un score de base plus faible au journal et donc une descente plus rapide.
      • [^] # Re: Mais ...

        Posté par (page perso) . Évalué à 1.

        nan mais t'inquiète, vu ta promptitude à répondre sur linuxfr aux demandes d'évolutions, tu vas avoir droit à une conversion de journal en dépêche :D
        • [^] # Re: Mais ...

          Posté par (page perso) . Évalué à 2.

          Merci ! Mais je préfère faire des journaux de seconde page en attendant la sortie de la 1.0.

          J'ai des vacances la semaine prochaine, cela correspondra parfaitement pour l'ajout d'une timeline et d'un petit système de documentation. C'est ce qu'il me manque pour la 1.0, mais les remarques pour des ajouts sont les bienvenues, du moment que j'arrive à garder l'interface la plus sobre possible...
          • [^] # Re: Mais ...

            Posté par (page perso) . Évalué à 1.

            Il me semble que tu as aussi parlé d'un wiki dans un précédant journal ? C'est une feature qui m'intéresses personnellement... :)

            Un autre truc qui serait pas mal c'est des flux pour les projets/tickets/commits/téléchargements/etc. pour interfacer indefero à son propre site, ou proposer une aggrégation à ses contributeurs.

            En tout cas, merci, c'est vraiment chouette ton truc. Quand le wiki sera implémenté, je risque de l'adopter.
            • [^] # Re: Mais ...

              Posté par (page perso) . Évalué à 3.

              Merci Antoine.

              Le wiki est effectivement prévu, c'est ce que j'appelle le système de documentation. J'ai constaté que le mot wiki, quoique banal pour nous développeurs, reste un mot bizarre pour la majorité des gens.

              Pour les flux, j'ajouterai cela, ce n'est pas compliqué du tout à faire. Le plus compliqué sera de trouver où mettre l'icône pour que cela reste élégant.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.