Yoan le 21/02/2009 :

Oho, même toi tu es diabolique : body onload="document.getElementById('url').focus()"

Sinon, juste pour dire qu'HTML 5 est un peu plus qu'un doctype dont il est possible de se souvenir. Tu peux supprimer les balises head et body de ta page et utilise cette splendide balise meta: <meta charset=utf-8> et n'oublie pas l'attribut lang sur ta balise html, ça fait toujours plaisir. Et as-tu jeter un œil à autofocus? C'est toujours aussi diabolique à mon sens, mais il est possible que le navigateur gère ça de manière plus agréable.

Sinon, je découvre les web.form.Form et ai déjà des frissons dans le dos.

Damien B le 21/02/2009 :

"Enfin HTML5 c'est juste pour être plus concis"

Tu veux dire, HTML 5 peut-être ?

"<meta http-equiv="Content-Type" content="text/html; UTF-8" />"

validator.nu dit : "Error: Bad value text/html; UTF-8 for attribute content on element meta: The legacy encoding did not contain charset= immediately after the space.

From line 4, column 13; to line 4, column 73"

Ralalalala : trop concis.

"<meta http-equiv="Content-Type" content="text/html; UTF-8" />"

§8.1.2.1 point 6 dit très clairement que /> est tout à fait optionnel, tu aurais donc pu finir par 'UTF-8">' : deux caractères de gagnés pour la concision. Et pareil pour les input.

"<header><h1>Admin</h1></header>"

Vu la taille et le contenu du document, header est totalement inutile : 17 caractères de gagnés.

Au final, avec tout ce qu'on gagne, tu peux te permettre de mettre
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
sans perdre un caractère de concision, et tu es valide par rapport aux spécifications publiées :) Bon, c'est vrai qu'au passage on perd un effet de manche : c'est dommage :-P

David, biologeek le 22/02/2009 :

Ok, bon je vais être honnête j'ai fait un vilain copier-coller de l'en-tête de l'ami mauriz et j'aurais pas dû, surtout que j'ai été assez faignant pour pas valider le code ensuite... bref, mea culpa, je vais corriger ça.

@Yoan : par contre autofocus, tu as un lien pour ça ?

Damien B le 22/02/2009 :

Tiens, pour autofocus : http://dev.w3.org/html5/spec/Overview.html#autofocusing-a-form-control

Et tu feras attention sur ton blog, ton colorisateur syntaxique n'est pas assez pragmatique pour détecter "header". Mwahahaha.

David, biologeek le 22/02/2009 :

Merci Damien, bon du coup je vais plus pouvoir utiliser les forms de webpy, ce qui ne va pas non plus trop me manquer.

Et sinon oui, je viens de mettre à jour le highlight.js :p

Damien B le 22/02/2009 :

Sinon, pas terrible d'avoir fait sauter le titre du post du fil de commentaires, on ne sait plus à quelle conversation ça appartient.

David, biologeek le 22/02/2009 :

Bien vu, et corrigé. C'est dû à ma récente utilisation de la solution native de Django pour les commentaires. Merci pour le report de bug :)

Yoan le 22/02/2009 :

L'ami Lachlan (http://standardssuck.org/) a écrit une série de tests concernant l'autofocus : http://lachy.id.au/dev/markup/tests/html5/autofocus/

Oui, le premier doctest des forms web.py donne des boutons. Web.py contient trop d'outils dont on a pas envie de se servir à mon goût.

>>> import web
>>> web.utils.commify(1234567890)
'1,234,567,890'
>>> web.utils.nthstr(1001)
'1001st'

Certaines choses doivent rester hors d'un web framework dont le motto est d'être simple et puissant. Je trouve Werkzeug séduisant, même si je passe pas mal de temps à jouer avec Restish. Enfin, bref, les goûts et les couleurs comme on dit.

sebsauvage le 22/02/2009 :

web.py est pas mal, oui.
Mais comme toi, parfois je cherche encore plus minimal. J'ai fini par écrire le mien (pour ce que ça vaut):

http://sebsauvage.net/python/snyppets/#simplewebdispatcher

Amusant à faire, et vraiment minimaliste.

Un petit coup de l'excellent SQLite là dessus et des cookies , et on a ce qu'il faut pour gérer les sessions.

NiCoS le 22/02/2009 :

Si tu devais faire un petit comparatif web.py / django, tu en dirais quoi ?

J'avias vu web.py il y a qqs temps mais pour éviter de me disperser, je l'avais laissé de coté. Vous avez déjà tous l'air de lui reprocher le fait qu'il ne soit plus aussi léger qu'auparavant...

Pierre-Jean le 23/02/2009 :

> NiCoS, A l'époque où je l'avais regardé, le code source de web.py comportait beaucoup de "magic".

Mais suite à cet article je vais refaire un petit tour d'évaluation.

David, biologeek le 23/02/2009 :

@Yoan : merci pour les liens, bon la conclusion c'est que ça ne fonctionne pas encore dans mes versions de Firefox ou Safari...

C'est marrant car j'ai failli le faire avec werkzeug, je vais jeter un œil à restish.

@sebsauvage : au bout d'un moment c'est fatigant (mais intéressant...) de tout refaire à la main ;-)

@NiCoS :

> Si tu devais faire un petit comparatif web.py / django, tu en dirais quoi ?

Pas les mêmes usages/objectifs, tout dépend des besoins du projet, comme toujours.

@Pierre-Jean : au plus tu simplifies et au plus ça devient magique, forcément (à moins de créer un langage qui soit vraiment orienté web ?), le tout est de trouver le bon équilibre !

NiCoS le 23/02/2009 :

En fait, oups, j'ai confusionné avec web2py (http://mdp.cti.depaul.edu/) qui semble plus proche de django que web.py ;-)

Après lecture du site, en effet, rien à voir !

desfrenes le 10/03/2009 :

je crois aussi qu'une comparaison djang/web2py un minimum objective (cad pas faite par l'auteur de web2py!) serait intéressante.

David, biologeek le 12/03/2009 :

Les comparaisons/benchmarks objectifs sont assez rares :)

desfrenes le 15/03/2009 :

Y compris ton article dans linux mag? ;-)

David, biologeek le 16/03/2009 :

Héhé, surtout celui-là ! :-)

neofutur le 19/08/2011 :

dns le genre alternatives en php, voir aussi casimir :

https://github.com/nhoizey/casimir

et mon fork avec 1 ou 2 features en plus, et quelques fixes pour le php 5.3 :
https://github.com/neofutur/casimir