[Perl] Hackathon perl pour Open Food Facts

Dami Laurent (PJ) laurent.dami at justice.ge.ch
Lun 18 Mar 08:32:33 CET 2024


Salut à tous,

En examinant le code de ProductOpener afin de me préparer au hackaton, je constate que l'architecture actuelle n'est pas du tout orientée-objet : chaque module expose une collection de routines et importe de large pans des routines d'autres modules; l'état de l'app est dans des variables globales ou dans les hashmaps passés entre modules. L'introduction d'une architecture OO à travers Corinna (ou Moose, ou des Plain Old Perl Objects)  serait très certainement bénéfique, mais ça demande un travail de conception sur l'organisation OO souhaitée (classes, méthodes, héritage, etc). Sujet passionnant mais ambitieux pour un week-end !

Si Corinna sert uniquement à "sécuriser les hashmaps", c'est à mon avis un peu overkill; un mécanisme comme Hash::Util::lock_keys permettrait déjà de réduire les risques d'erreurs sans forcer une montée en version de Perl.

Just my 2 cents .. je me réjouis d'en discuter ce week-end !

A bientôt, L. Dami



De : perl-bounces at mongueurs.net <perl-bounces at mongueurs.net> De la part de Alex Garel
Envoyé : dimanche 17 mars 2024 22:46



Le 17/03/2024 à 18:45, Sébastien Feugère a écrit :



* utilisation de corinna pour remplacer les hashmap par des objets dans le code

[.. Corinna ]

Hello,

Clairement l'idée est plutôt d'aller sur du code qui parte rapidement en production.

je pense que l'on partira plutôt sur Perl >= 5.38. Après c'est à l'équipe qui prendra le sujet en main de décider :-)
Actuellement on est en Perl 5.32 donc j'imagine que la montée de version sera plutôt facile en soit (peut-être en partant de l'image Docker adéquat<https://hub.docker.com/_/perl>, au moins pour les tests).

En production (qui est une installe LXC/container proxmox), on est encore sur debian bullseye, est-il difficile d'installer une version de perl différente de celle officielle ? (le dockerfile de l'image ci-dessus<https://github.com/perl/docker-perl/blob/eda25fcceccf8e178bf1e41ce4d4196ab3e8f8af/5.038.002-main-bookworm/Dockerfile> peut servir d'exemple)

++Alex

-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://listes.mongueurs.net/archives/perl/attachments/20240318/7bab653c/attachment-0001.html>


Plus d'informations sur la liste de diffusion Perl