private void OnBeginRequest_(object sender, EventArgs e)
        {
            var app     = sender as HttpApplication;
            var context = app.Context;

            var environment = ChiffonEnvironmentResolver.Resolve(context.Request);

            new ChiffonContext(environment).Register(context);
        }
        // NB: La session peut ne pas être disponible à ce moment.
        // http://stackoverflow.com/questions/276355/can-i-access-session-state-from-an-httpmodule
        private void OnPostAcquireRequestState_(object sender, EventArgs e)
        {
            var app     = sender as HttpApplication;
            var context = app.Context;
            var request = context.Request;

            if (!(context.Handler is IRequiresSessionState))
            {
                // NB: Normalement, on ne devrait pas avoir à faire cette vérification,
                // mais cela peut poser des problèmes si il s'agit d'une requête prise
                // en charge par IIS en cas d'erreur (cf. httpErrors et customErrors dans
                // web.config).
                return;
            }

            var environment = ChiffonEnvironmentResolver.Resolve(request, app.Session);

            new ChiffonContext(environment).Register(context);
        }