[Perl] Les joies d'une application web modernes

Marc Chantreux eiro at phear.org
Mar 1 Juin 10:05:11 CEST 2021


salut à tous,

désolé pour la réponse tardive mais je viens de tomber sur cet article

https://dev.to/grinnz/perl-cgi-but-modern-4630

dont l'esprit me semble plus conforme à ce que Guillaume cherchait.

> Pour moi, les intérêts majeurs du passage à PSGI sont:
> * une perf accrue
> * l’indépendance par rapport à un outil donné
> * la possibilité d'avoir différentes applications qui tournent chacune
>   avec un utilisateur dédié

Je crois qu'on mélange des choses ici:

    * une perf accrue
    * la possibilité d'avoir différentes applications qui tournent chacune
      avec un utilisateur dédié

C'est parce que tu sers ton contenu en FastCGI plutôt qu'en CGI
(et je me demande si mod_perl n'est pas plus rapide que FastCGI même si
je n'aime pas l'idée de tout coller dans le serveur http).

PSGI c'est l'abstraction qui te permet de choisir ou de changer de
stratégie de service en cours de route donc

* l’indépendance par rapport à un outil donné

oui.  et cette indépendance ne se limite pas aux 3 technos évoquées plus
haut: en plus du choix du Handler, on peut construire des applis en
composant des bouts d'applis et des middlewares qui permettent de se
charger de taches qui peuvent être gérée entre l'application et les
handlers et on va pouvoir composer tout ça avec un builder:

    https://metacpan.org/pod/Plack::Builder

J'étais pas mal séduit par tout ça au début mais on se rend vite compte
que les briques de l'écosystème plack ne s'assemblent pas sans code
et qu'au lieu de réinventer la roue, utiliser un framework web utilisant
plack et étant maintenu et documenté par une communauté me parait être
l'approche la plus raisonnable.

En conclusion, si je devais encore utiliser perl et apache pour faire
une application web complète (authentification, session et autres)
avec des CGI, j'utiliserais Dancer2 en ayant conscience du coté
overkill de la chose: l'idée est de faire simple/rapide tout en ayant:

* la richesse, la stabilité et la fiabilité  de l'écosystème Dancer2
  pour évoluer si besoin
* la possibilité de passer sur du FastCGI simplement en cas d'explosion
  des usages

https://metacpan.org/pod/distribution/Dancer2/lib/Dancer2/Manual/Deployment.pod#As-a-CGI-script

belle journée,
marc


Plus d'informations sur la liste de diffusion Perl