« KeePass Password Safe | Page d'accueil
13/06/2005
PLog
Je vais commnencer une série d'articles sur les outils de blogging opensource. J'essaierai de les comparer en précisant leurs forces et faiblesses. pLog est un outil que j'ai récémment découvert.
Une installation simple et sans difficultés particulières. Un éditeur html intégré qui semble avoir encore quelques problèmes d"intégration. Une sauvegarde de l'état brouillon grâce à AJAX. 1ère fois que je vois ça sur un outil de blogging. Je pense que c'est quelque chose qui va se démocratiser de plus en plus sur certaines actions. On pourrait imaginer une sauvegarde automatique via AJAX ça serait encore mieux : plus besoin de cliquer sur enregister à l'état brouillon.
Une fonction intéressante est la possiblité de rajouter des champs personnalisés. Cependant il ne s'affiche pas dans le blog donc l'intérêt devient moins important. J'aurai préféré choisir un gabarit de note. Une note ressemblant à un événement, une note par défaut, ...
Le reste c'est du classique avec sa gestion des plugins.
On peut remarquer néanmoins l'intégration de filtres bayesiens pour lutter contre le spam. (j'ai vu une autre implémentation de ce filtre sur http://www.xhtml.net/).
En résumé les fonctionnalités sont présentes mais l'ergonomie pourrait être améliorée.
Si on rentre dans les entrailles de pLog on voit qu'il est complétement orienté objet et qu'il utilise Smarty et adodb. Sur le wiki du projet on trouve toutes les informations pour ceux qui souhaitent développer des plugins. En regardant les ressources utilisées sur la page "New post" ; page la plus appelée de ce type d'application on s'aperçoit que le projet doit encore progresser. Quelques lignes de code insérées dans le code permettent de le voir :
register_shutdown_function('_end');
function _end() {
echo '<pre>';
print_r(get_declared_classes());
print_r(get_included_files());
print_r(memory_get_usage());
}
Constat : plus de 170 fichiers ouverts avec plus de 170 classes. Ce test montre simplement qu'il y a sûrement de fichiers et des classes qui sont inclus et qui ne devraient pas. C'est souvent le travers des applications qui sont trop orientées objet et qui s'inspirent trop des patterns utilisées pour java. On utilise des ressources qui son inutiles dans 80% des cas. Je pense qu'il y a un gros travail de refactoring à faire afin d'optimiser le code.
Je finirai quand même par un bon point c'est son wiki. Peu de projets ont une documentation aussi fournie et expliquent leur architecture logicielle : documentation pour les développeurs
23:20 Publié dans Outils de blogging | Lien permanent | Commentaires (16) | Envoyer cette note



Commentaires
Can't speak too much French, but I think it was enough to get an idea of your article... Thanks for commenting on pLog, and just to let you know that we're working hard on reducing the memory footprint and the amount of files used in every request. I do agree that the current amount is just insane.
pLog 1.1 will be released at some point after the summer and will be mostly focused on performance improvements and reduction of the memory consumption (you'll be surprised to know that we've already dropped ADOdb because it's a memory hog)
In the meantime, take a closer look at pLog if you're interested to see not just a "script" but instead, a fully-features blogging platform with a complete object-oriented API (http://www.plogworld.net/api)
Ecrit par : oscar | 14/06/2005
Adodb (http://adodb.sourceforge.net/) uses more memory than a simple API but it's more powerful and faster than PEAR:DB. I haven't yet tested the extension in C but I suppose that the performance would be increased. The pLog API is good but I think it's too object-oriented. Using Smarty is a good choice. I think that the arrays are often better than classes in the templates. blogSpirit is a mixed between the both and the platform blogSpirit succeeds better in the test of my post.
Ecrit par : Olivier | 14/06/2005
I never said that ADOdb is not powerful, but the problem is that it does too much considering our requirements (and the requirements of most medium PHP applications)
We ended up implementing our own DB abstraction layer (we've called it PDb -- pLog Db) which implemented only the methods that we really used from ADOdb. If you look at the MySQL driver that we implemented, it's hardly 50 lines (http://www.plogworld.net/svn/plog/plog/trunk/class/database/pdb/drivers/pdbmysqldriver.class.php) and only by changing a line in one of our classes, plog 1.1 can run without any change using PDb instead of ADOdb...
We were clearly underusing ADOdb and it wasn't worth the memory wasted on the code.
Regarding the design of pLog in general and the API, the main goal when the project started was to try to bring some organization and design concepts to PHP. There is too much "spaghetti code" out there which is giving a bad name to the PHP community. There is a lot of PHP code mixed with SQL code altogether mixed with HTML code that is basically useless outside that particular application. For example, when we implemented support for resources in pLog 0.3, I had a look at the code in Gallery 1 to see if something could be used... Nothing! It was basically a mess without proper organization, no clear separation of presentation and data access, etc. Have you recently seen the development code of Gallery2? It is completely another world! (and the gallery2 devs probably had a look at plog when implementing some of the code, some things reminded me a lot of what we've done :))
The only problem we've had so far while implementing a proper OOP application in PHP is that we were loading too much code every time when in fact, only a tiny fraction of it was being used... We've already done a lot of work in the 1.1 branch to fix this, and we'll still be working on it for the next few months. Hopefully these efforst will pay off :)
Ecrit par : oscar | 14/06/2005
Sans aucun rapport avec la note (et je m'en excuse)
Le FrenchDoctor a le plaisir, l'honneur et l'avantage de vous convier à participer à la chaîne "Questionnaire littéraire" sévissant actuellement au sein de la communauté BlogSpirit.
Votre mission, si vous l'acceptez, sera de répondre avec brio aux cinq questions suivantes :
Question 1 : Combien lisez-vous de livres par an ?
Question 2 : Quel est le dernier livre que vous avez acheté ?
Question 3 : Quel est le dernier livre que vous avez lu ?
Question 4 : Listez cinq livres qui comptent pour vous ou que vous avez appréciés.
Question 5 : A qui allez-vous passer le relais ?
Voilà.
C'est difficile, mais possible.
Le FrenchDoctor compte sur vous.
Ne le décevez pas.
;-)
Ecrit par : a.k.a. FrenchDoctor | 19/06/2005
Salut,
tu as certainement entendu parler de DotClear !? ;-)
Bonnes études ...
++
:)
Ecrit par : tbaz | 27/06/2005
Bien sûr,
Il est sur ma liste ;-)
Ecrit par : Olivier | 28/06/2005
hi. nice blog . thanks.
Ecrit par : robert | 23/09/2007
Bonjour,
Pourquoi les commentaires sur votre article sur XP sont bloqués ?
Sinon ce petit message pour vous dire que dans mon projet nous avons mis en place XP, avec notamment du binomage en permanance. Pourquoi cela vous pose problème ?
Ecrit par : fmottet | 26/02/2008
the
in
the
the
for
Ecrit par : waineniupleli | 14/09/2008
Come to poland and see polish sea wczasy nad morzem
greetz polish turist
Ecrit par : samuiclassic.com | 25/10/2008
Come to poland and see polish sea wczasy nad morzem
greetz polish turist
Ecrit par : samuiclassic.com | 25/10/2008
Come to poland and see polish sea wczasy nad morzem
greetz polish turist
Ecrit par : samuiclassic.com | 25/10/2008
Come to poland and see polish sea wczasy nad morzem
greetz polish turist
Ecrit par : samuiclassic.com | 25/10/2008
Come to poland and see polish sea wczasy nad morzem
greetz polish turist
Ecrit par : samuiclassic.com | 25/10/2008
All greetings! I have fallen in love today:)))))
I wish to shout about love to all world ! :)
Love this magnificent feeling:)))))
Ecrit par : NeickNotWothe | 26/10/2008
Emm.. Nuzzle my kind stool I have a fresh joke for you) What kind of tree has hands? A palm tree.
Ecrit par : EZWilliam | 11/11/2008
Ecrire un commentaire