A propos du projet River

Ce projet n'a pas pour objectif de concurrencer des frameworks etablis comme Laravel ou Symfony. Il sert avant tout de support d'apprentissage, de reflexion et de demonstration technique.

Un parcours faconne par le temps

Je developpe en PHP depuis la version 4, avec une pratique plus ou moins assidue selon les periodes. J'ai connu PHP sans Composer, sans frameworks populaires, a une epoque ou beaucoup de choses se faisaient "a la main".

Au fil des annees, j'ai traverse plusieurs generations de PHP, de la 5.4 a PHP 8.x, avec une periode de transition parfois difficile, notamment lors de l'arrivee du typage strict. Aujourd'hui, PHP 8 est devenu un langage que j'apprecie pleinement.

Refaire un framework, encore

Depuis mes debuts, j'ai regulierement recree 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 memes defauts :

  • Manque de maturite sur certaines decisions
  • Documentation insuffisante
  • Abstractions parfois trop complexes par rapport aux besoins reels

Developper avec l'IA, sans lui deleguer le clavier

River est egalement l'occasion d'integrer l'IA comme outil de travail. Elle intervient comme assistant de reflexion, de revue ou de remise a niveau, notamment sur les evolutions recentes de PHP (8.4, 8.5), mais l'ensemble du code est ecrit, compris et maintenu manuellement.

L'objectif n'est pas le "vibe coding", mais une collaboration raisonnee entre developpeur et outils modernes.

Un projet technique de bout en bout

Le framework River et le site qui l'accompagne sont developpes conjointement. Le site sert a la fois de vitrine, de terrain d'experimentation et de support de documentation.

L'ensemble du projet est auto-heberge et s'appuie sur une infrastructure personnelle :

  • Virtualisation via Proxmox
  • Segmentation reseau (VLAN, pare-feu OPNsense)
  • Conteneurisation avec Docker
  • Reverse proxy et routage via Traefik
  • Depot Git auto-heberge (Gitea)
  • Pipeline CI/CD avec Woodpecker

Cette approche permet de couvrir tout le cycle de vie d'un projet moderne, du code jusqu'a la mise en production.