je n'ai jamais compris comment PHP l'avait détrôné pour le CGI, si quelqu'un a un pointeur ou une explication, je suis preneur
Il y avait une mauvaise raison : PHP peut nativement servir de langage de template, donc il était facile de transformer une page HTML en page PHP. En Perl, c'est possible (Mason, etc), mais ce n'est ni facile ni usuel.
L'autre raison est plus acceptable : la facilité de déploiement. Jusqu'à récemment, la norme pour installer un environnement web PHP était d'installer Apache + mod_php, et la configuration par défaut était tout de suite suffisante.
Par comparaison, le CGI est plus lourd à configurer, plus dangereux, et terriblement lent. Perl propose bien mod_perl mais c'est très différent du mode "chaque requête est autonome", et c'est difficile à utiliser, surtout que mod_perl2 est très peu documenté.
Aujourd'hui, tout converge vers une architecture de type FASTCGI où le serveur web (Nginx, Apache, etc) joue le rôle de proxy sur les applications. Les frameworks Perl récents (Dancer, Mojolicious) utilisent PSGI (Plack) sur le modèle du WSGI de Python, tout comme PHP promeut php-fpm en remplacement de son module Apache.
[^] # Re: Entretien avec une citrouille
Posté par rogo . En réponse à la dépêche Sortie de Perl 5.22.0. Évalué à 8.
Il y avait une mauvaise raison : PHP peut nativement servir de langage de template, donc il était facile de transformer une page HTML en page PHP. En Perl, c'est possible (Mason, etc), mais ce n'est ni facile ni usuel.
L'autre raison est plus acceptable : la facilité de déploiement. Jusqu'à récemment, la norme pour installer un environnement web PHP était d'installer Apache +
mod_php, et la configuration par défaut était tout de suite suffisante.Par comparaison, le CGI est plus lourd à configurer, plus dangereux, et terriblement lent. Perl propose bien
mod_perlmais c'est très différent du mode "chaque requête est autonome", et c'est difficile à utiliser, surtout quemod_perl2est très peu documenté.Aujourd'hui, tout converge vers une architecture de type FASTCGI où le serveur web (Nginx, Apache, etc) joue le rôle de proxy sur les applications. Les frameworks Perl récents (Dancer, Mojolicious) utilisent PSGI (Plack) sur le modèle du WSGI de Python, tout comme PHP promeut php-fpm en remplacement de son module Apache.