• [^] # Re: Qui, comment ?

    Posté par . En réponse à la dépêche Le Conseil Régional de Bourgogne soutient le développement d'un logiciel libre. Évalué à 2. Dernière modification le 03 mars 2024 à 20:45.

    Merci pour les encouragements et déjà pour les questions, qui m'ont permis d'expliquer plus en détails le projet.

    La seule chose qui me fasse tiquer (mais bon, il y a un ORM, et c'est sans doute lié à l'objectif de portabilité ultime), c'est sqlite.

    Alors en effet, Peewee permet d'utiliser SQLite, MySQL et Postgre. En dehors de l'avantage sur la portabilité et le peu de configuration nécessaire, je trouve que SQLite est un très bon moteur dans de nombreux cas. Je l'ai déjà utilisé en prod avec succès. On lui reproch(ait) souvent trois choses :

    • son défaut de certaines fonctionnalités importantes, comme les contraintes référentielles
    • son verrou sur toute la base de données en écriture
    • en Python, le pilote inclus n'est pas par défaut thread-safe

    Je vais peut-être dire des bêtises - dans ce cas, surtout arrêtez-moi - mais :

    • concernant le premier point, SQLite le supporte depuis la 3.6.19.
    • pour le second, le verrou ne devient important que si le volume de requêtes est élevé, ce qui ne devrait pas être le cas ici (même sur une grosse structure, nous n'atteindrons pas plusieurs centaines d'écritures par seconde). Plusieurs contournements existent cependant, bien que je n'ai pas eu à les tester : utiliser plusieurs bases et les lier lors des requêtes qui en ont besoin, utiliser le module asynchrone...
    • Peewee, entre autres, répond au problème via threadlocals.

    Cela dit, ce sont des fonctionnalités avancées de la base qui seront à jauger le moment venu. La montée en charge devrait par défaut se faire en migrant vers un moteur plus adapté.

    PPS: dès que vous avez un github/bitbucket/repo autre, faites-le savoir !

    A priori, il y aura un Trac avec les sources comme premier lieu de la gestion du projet, un accès HTTP au dépôt (Mercurial), plus un miroir Github (via HG-GIT).

    PS: (au passage, il y a un lyonnais dans mon enseigne (majerti) - j'ose faire ma pub)

    HS : le monde est petit, je suis allé visiter votre site ce matin, depuis celui de la PyCon Fr.