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 Loïc d'Anterroches (site web personnel) . Évalué à 2.
# Troll ?
Posté par lezardbreton . Évalué à 2.
[^] # Re: Troll
Posté par yellowiscool . Évalué à 5.
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 alexissoft . Évalué à -2.
[^] # Re: Mais ...
Posté par Loïc d'Anterroches (site web personnel) . Évalué à 3.
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 BAud (site web personnel) . Évalué à 1.
[^] # Re: Mais ...
Posté par Loïc d'Anterroches (site web personnel) . Évalué à 2.
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 Antoine (site web personnel) . Évalué à 1.
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 Loïc d'Anterroches (site web personnel) . Évalué à 3.
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 à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.