À 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 démonstration technique, autant sur le code que sur l’outillage et l’infrastructure qui l’entourent.
Un parcours façonné 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, à une époque où beaucoup de choses se faisaient “à la main”.
Au fil des années, j’ai traversé plusieurs générations de PHP, de la 5.4 à 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 débuts, j’ai régulièrement recréé mon propre framework PHP, en moyenne tous les trois à 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 défauts:
- manque de maturité sur certaines décisions
- documentation insuffisante
- abstractions parfois trop complexes par rapport aux besoins réels
Développer avec l’IA, sans lui déléguer le clavier
River 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 à niveau, notamment sur les évolutions récentes de PHP (8.4, 8.5), mais l’ensemble du code est écrit, compris et maintenu manuellement.
J'ai connu l'époque sans IA, en 2025 premiers tests avec assistance IA.
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és conjointement. Le site sert à la fois de vitrine, de terrain d’expérimentation et de support de documentation.
L’ensemble du projet est auto-hébergé et s’appuie sur une infrastructure personnelle incluant notamment:
- virtualisation via Proxmox
- segmentation réseau (VLAN, pare-feu OPNsense)
- conteneurisation avec Docker
- reverse proxy et routage via Traefik
- dépôt Git auto-hébergé (Gitea)
- pipeline CI/CD avec Woodpecker
Cette approche permet de couvrir tout le cycle de vie d’un projet moderne, du code jusqu’à la mise en production.