3 points par dopeflamingo 28 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Bonjour.

Je suis l’ingénieur qui avait présenté sur GeekNews, il y a environ 3 mois, Violit, un framework web Python que j’ai créé comme hobby afin de résoudre le goulot d’étranglement du full rerun de Streamlit.

Grâce aux retours positifs reçus à la fois de la communauté internationale et d’ici sur GeekNews, le projet a récemment dépassé les 400 étoiles sur GitHub. En voyant mes proches ainsi que des utilisateurs du monde entier appliquer concrètement mon framework à de vrais projets, j’ai réalisé une chose.

Une fois qu’on a rapidement assemblé une UI, les gens cherchent aussitôt à enregistrer en base de données et à gérer la connexion (Auth).

Au départ, je voulais absolument garder le framework léger et le laisser comme une simple bibliothèque front-end. Mais en voyant les utilisateurs peiner à raccorder de force une base de données et un système d’authentification, j’ai finalement décidé d’ajouter ces fonctionnalités.

Avec cette mise à jour majeure, j’ai fait évoluer Violit d’un simple outil UI vers un framework full stack batteries-included.

🚀 Points clés de cette mise à jour

  • ORM intégré (SQLModel) : il suffit de passer une seule ligne, vl.App(db="./app.db"), pour pouvoir interroger et enregistrer des données immédiatement, sans configuration supplémentaire.
  • Auth intégré : l’authentification basée sur les sessions, le hachage des mots de passe et la protection des accès aux pages (role-based) sont pris en charge nativement.
  • Tâches asynchrones en arrière-plan : pour éviter que l’écran ne se bloque pendant une inférence IA lourde, vous pouvez envoyer le traitement en toute sécurité en arrière-plan avec app.background().
  • Tailwind & Web Awesome : grâce au paramètre cls, il est désormais possible d’utiliser directement les classes utilitaires Tailwind pour un styling moderne.

Bien sûr, le moteur central de signal-based fine-grained reactivity est devenu encore plus robuste. Le code s’écrit sous une forme de script intuitive comme avec Streamlit (API compatible à 90 %), mais lors d’un clic ou d’une saisie, ce n’est pas tout l’écran qui est relancé : seuls les widgets ayant une dépendance sont mis à jour partiellement.

Il est désormais possible, avec un seul script Python, de gérer d’un seul tenant une UI moderne et réactive, la base de données et l’authentification des utilisateurs.

Si vous avez l’occasion de créer un prochain outil interne, une data app ou un MVP, j’apprécierais vraiment que vous l’essayiez et que vous me laissiez vos retours et conseils sur l’architecture ! :)

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.