Losmose se construit ici
Ce site est autant la vitrine de la communauté que celle de la manière dont il est fabriqué. Le code, les choix techniques et les erreurs sont publics.
Ce qui fait tourner ce site
- FrankenPHP en mode worker
- L'application reste chargée en mémoire entre deux requêtes au lieu de repartir de zéro à chaque fois. Le serveur, PHP et le certificat tiennent dans un seul binaire.
- Hub Mercure intégré
- Le temps réel passe par le serveur lui-même : aucun service à héberger ni à surveiller à côté.
- PostgreSQL 17
- Une seule base pour les données, la file de messages et les sessions, plutôt que trois systèmes à maintenir.
- Turbo, Stimulus, Live Components
- Les pages se mettent à jour sans rechargement, à partir de HTML rendu par le serveur : rien à écrire en JavaScript.
- AssetMapper et Tailwind
- Ni Node, ni étape de compilation à installer : le navigateur reçoit les fichiers tels qu'ils sont écrits, versionnés au déploiement.
- Messenger et Scheduler
- Les traitements longs et les tâches récurrentes vivent dans le code, pas dans une crontab posée à la main sur le serveur.
- Français et anglais
- Chaque page existe dans les deux langues, avec son propre chemin, et déclare ses traductions aux moteurs de recherche.
- En-têtes de sécurité
- La politique de contenu s'appuie sur un jeton renouvelé à chaque page plutôt que d'autoriser le code écrit dans la page.
- Analyse et tests
- Analyse statique au niveau maximal, modernisation et style vérifiés, tests : rien ne part en ligne sans être passé au vert.