A propos du projet River
Ce projet n'a pas pour objectif de concurrencer des frameworks établis comme Laravel ou Symfony. Il sert avant tout de support d'apprentissage, de réflexion et de demonstration technique.
Un parcours façonne par le temps
Je développe en PHP depuis la version 4, avec une pratique plus ou moins assidue selon les périodes. J'ai connu PHP sans Composer, sans frameworks populaires, a une époque ou beaucoup de choses se faisaient "a la main".
Au fil des années, j'ai traverse plusieurs generations de PHP, de la 5.4 a PHP 8.x, avec une période de transition parfois difficile, notamment lors de l’arrivée du typage strict. Aujourd'hui, PHP 8 est devenu un langage que j’apprécie pleinement.
Refaire un framework, encore
Depuis mes debuts, j'ai régulièrement recrée mon propre framework PHP, en moyenne tous les trois a cinq ans. Non par rejet des solutions existantes, mais parce que cet exercice permet de consolider ses bases et de mieux comprendre les choix d'architecture des frameworks modernes.
Ces projets ont souvent souffert des mêmes defaults:
- Documentation insuffisante
- Abstractions parfois trop complexes par rapport aux besoins reels
- La difficulté à maintenir un projet sur la durée
Développer avec l'IA, sans lui déléguer le clavier
River c'est également l'occasion d’intégrer l'IA comme outil de travail. Elle intervient comme assistant de réflexion, de revue ou de remise a niveau, notamment sur les evolutions récentes de PHP (8.4, 8.5), mais l'ensemble du code est écrit, compris et maintenu manuellement.
L'objectif n'est pas le "vibe coding", mais une collaboration raisonnée entre développeur et outils modernes.
Un projet technique de bout en bout
Le framework River et le site qui l'accompagne sont développé conjointement. Le site sert a la fois de vitrine, de terrain d'experimentation et de support de documentation. D'autres projets permettent maintenant de tester le framework.
L'ensemble du projet s'appuie sur une infrastructure personnelle :
- Virtualisation via Proxmox
- Conteneurisation avec Docker
- Reverse proxy et routage via Traefik
- Gitea
- Pipeline CI/CD avec Woodpecker
Cette approche permet de couvrir tout le cycle de vie d'un projet moderne, de l'infra. au code et jusqu'a la mise en production.