4/23/10

Premature end of script headers


Configuration :

Une méthode POST ne fonctionnait pas et l'erreur Apache était "Premature end of script headers". Erreur totalement inexplicable, à s'arracher les cheveux. La documentation d'Apache sur cette erreur est d'ailleurs plus que laconique.

Après des tests interminables, j'ai finalement upgradé Passenger vers la version 2.2.11 et tout est rentré dans l'ordre sans pour autant que je ne comprenne vraiment d'où venait cette erreur.

En ce moment, j'ai un talent fou pour perdre du temps avec ce que j'appellerais “des conneries” :/ Grand gagnant au tirage au sort des bugs en tous genres.

4/8/10

Le cache de pages avec Sinatra


Le cache de pages avec Sinatra est extrêmement simple avec le gem sinatra-cache.

require 'sinatra/base'
require 'sinatra/cache'

class MyClass < Sinatra::Base
 
  set :root, 'full_path_vers_mon_app'
  register(Sinatra::Cache)
  set :cache_enabled, true
  set :cache_output_dir, 'full_path_vers_mon_cache'

... / ...

end
Si on utilise Passenger, le minimum fonctionnel pour le fichier de conf est :
RewriteEngine On
RewriteRule ^([^.]+)$ /mon_cache/$1.html [QSA]
Pour purger une page en cache cache_expire('/path_vers/ma_page').

4/7/10

Bundler : un must-have du développeur ruby


gem Bundler  gem vraiment beaucoup !

Ryan Bates le présente dans un de ses screencasts dans le cadre de Rails 3 mais c'est tout aussi pratique (sinon plus) lorsqu'on développe un petit projet sans Rails.

DataMapper master branch is now compatible with both active_support and extlib


DataMapper master branch is now compatible with both active_support and extlib


humm... humm... à condition d'avoir une version 1.8.7 de Ruby. Je ne sais plus où j'avais lu que la compatibilité avait été testée avec une version 1.8.6 de Ruby mais chez moi, ça ne marche pas :/

J'ai donc du upgrader la version de Ruby de 1.8.6 (patch 287) à 1.8.7 (patch 173) sur un serveur pour que cette news devienne une réalité car, sans cela, extlib (0.9.4) et activesupport (2.3.5) ne faisaient vraiment pas bon ménage (sur un serveur Debian Etch qui commence par dater, il est vrai :p).

Si ça peut éviter à quelqu'un d'autre de chercher quelques longues minutes... ^^