Technologies
Ouvretaferme est développé avec un cadriciel maison appelé Lime qui fonctionne sur :
- PHP 8+
- MySQL
Ce cadriciel intègre également des librairies JS pour uniformiser le développement côté client.
Cadriciel
Le cadriciel a été conçu pour :
- Minimiser le nombre de lignes de code nécessaire pour produire une fonctionnalité
- Supprimer la notion même de dette technique en agissant sur les techniques de développement
- Réduire significativement la consommation énergétique et le coût des serveurs
- Écarter au maximum les dépendances à des librairies externes
Il n'y a pas de documentation technique qui permette de faciliter sa prise en main.
Méthode de développement
Le développement sur Ouvretaferme est basé sur des cycles de développement très courts, avec une production régulière de nouvelles fonctionnalités pour améliorer l'expérience utilisateur :
- Les fonctionnalités sont développées rapidement sur la base d'un fonctionnement par copié / collé
- Une validation fonctionnelle est réalisée pour garantir que le développement est conforme aux attentes
- Dès lors que le fonctionnel est conforme, les portions de copié / collé qui le permettent sont refactorisées
- Avant leur mise en ligne, les nouvelles fonctionnalités sont testées avec plus ou moins de rigueur en fonction de leur criticité
- Juste après leur mise en ligne, les fonctionnalités sont immédiatement utilisées en contexte réel par une ou plusieurs fermes
- Des ajustements fonctionnels et techniques sont généralement apportés dans les minutes ou heures qui suivent la mise en ligne
Cette méthode de travail permet de garantir des développements rapides, adaptés aux attentes et de préserver la qualité du code informatique sur le long terme.
Par contre, elle impacte négativement certains utilisateurs lorsque les développements ne sont pas encore tout à fait stabilisés après la mise en ligne. Elle rend également difficile la réutilisation du code source pour installer une instance de Ouvretaferme sur un serveur privé.
Évolutions futures
Si la priorité actuelle reste de tout faire pour enrichir rapidement Ouvretaferme de nouvelles fonctionnalités, un travail sera mené à moyen terme pour faciliter le déploiement du code source sur d'autres serveurs en adoptant des méthodes de développement plus adaptées.