Aller au contenu

À propos de PHIL

Des briques ouvertes, sûres et bilingues pour bâtir des sites collaboratifs avec Symfony.

Ce qu’est PHIL

PHIL veut dire « Parler Haut, Interagir Librement » ; en anglais, « Proclaim Honestly, Interact Liberally ». Le nom dit l’intention : des sites où les gens prennent la parole et échangent librement, sans qu’on décide pour eux de ce qu’ils partagent.

PHIL, c’est d’abord phil-ip, une plateforme pour bâtir des sites collaboratifs, et les paquets ouverts qui la composent : des librairies PHP et des bundles Symfony, chacun réglant un besoin précis, qu’on peut prendre un à un dans n’importe quel projet.

Son système de design, phil-ux, donne à tout cela le même visage : des composants accessibles, un mode sombre fourni et le HTML natif d’abord. Cette page en est habillée, et la démo de PHIL UX montre chacun de ses composants.

D’où il vient

PHIL n’est pas un projet théorique. Il est né de phil-ip, la plateforme qui fait tourner les sites du Gnome Archiviste. Chaque fois qu’un besoin revenait d’un site à l’autre, on l’a isolé dans un paquet indépendant, qui ne connaît aucun site en particulier. Ces paquets sont maintenant offerts à tous, en code ouvert.

Chaque brique sert d’abord en production sur nos propres sites : rien n’est fait « pour un jour peut-être ».

Le problème qu’il règle

Quiconque a bâti quelques sites le sait : les mêmes besoins reviennent à chaque projet.

Les formulaires

Des téléphones, des adresses, des montants, des événements qui se répètent, et le pourriel à tenir à distance.

Le contenu

Du texte riche, une typographie soignée, les différences entre deux versions d’un texte.

La sécurité

Le CSS et les images SVG envoyés par les gens, les robots, les appels à des services tiers.

Chaque fois, on recode, on reteste, on refait les mêmes erreurs de sécurité, et on maintient tout seul. PHIL réunit ces briques une fois pour toutes, vérifiées et documentées, pour qu’on puisse les assembler au lieu de les refaire.

Ses principes

Six règles s’appliquent à tous les paquets, sans exception.

Sûr par défaut

Les réglages prudents sont ceux qu’on obtient sans rien faire.

Licence MIT

Utilisable dans tout projet, commercial compris.

Symfony d’abord

On prolonge les composants de Symfony au lieu de les remplacer.

Bilingue

Une documentation en anglais et en français, tenue à jour ensemble.

La vie privée

Pensé avec la Loi 25 et le RGPD en tête : rien ne part chez un tiers en douce.

Rapide, et mesuré

La vitesse est mesurée par des bancs d’essai sur les chemins critiques, pas supposée.

La vitrine

La vitrine de PHIL compte 86 paquets publiés, en 11 familles. Un principe les traverse toutes : chaque besoin vient en deux morceaux, une librairie PHP qu’on peut utiliser dans n’importe quel projet, et un bundle qui la branche dans Symfony, avec les formulaires, Twig et Doctrine.

Fondations

Les briques sur lesquelles tout le reste s’appuie, des listes de valeurs à une architecture claire.

Texte et contenu

Écrire, convertir, embellir et comparer des textes, avec une typographie française soignée.

PHIL UX

Des composants Twig et Stimulus à installer dans le site, sur une feuille de style sans classes utilitaires, claire et sombre.

Sécurité

Accepter ce que les gens envoient sans risque, et bloquer le pourriel sans captcha.

Données

L’argent, les taxes, les téléphones, les adresses et les horaires, justes du premier coup.

Intégration

Parler aux autres services sans tomber avec eux quand ils sont en panne.

Exploitation

Sauvegardes, surveillance et migrations, pour garder un site en vie sans surprise.

Outillage

Les vérifications automatiques de PHIL, à reprendre dans ses propres projets.

Impression et rapports

Du site au papier, et aux tableaux de bord, avec des badges numériques vérifiables.

À côté, Tilttek publie 17 paquets pour la ludification et les jeux : des dés, des points, des badges, des quêtes, des collections et des tables de butin, bâtis sur les mêmes principes.

Parcourir le catalogue des paquets

La qualité

Aucun changement n’entre sans passer une série de vérifications automatiques :

  • des tests sur PHP 8.5 et 8.6, chaque paquet étant aussi installé seul ;
  • une analyse statique au niveau le plus strict ;
  • des tests de mutation, qui modifient le code exprès pour vérifier qu’un test s’en aperçoit ;
  • une revue de sécurité et un audit des dépendances ;
  • une architecture vérifiée, où une librairie ne dépend jamais d’un bundle ;
  • une documentation vérifiée, et sa traduction française suivie.

Ces outils sont eux-mêmes publiés, dans phil/dev-tools, pour que chacun puisse les utiliser dans ses propres projets.

Ce que PHIL apporte

Moins de code à écrire

On assemble des briques éprouvées au lieu de tout recoder, et il y a moins de code à maintenir.

Moins de risques

La sécurité et la vie privée sont vérifiées une fois, pour tous les projets.

Aucune dépendance captive

Une licence MIT, aucun service tiers imposé ; le code reste à vous.

En français, d’ici

Une documentation et une typographie françaises, avec la Loi 25 en tête.

La suite

  1. Maintenant

    La vitrine en 0.1.0-alpha

    86 paquets sur GitHub et Packagist, à essayer dès aujourd’hui ; leur interface peut encore bouger.

  2. Ensuite

    Un petit groupe par jour

    D’autres paquets sortent au fil des jours : commerce, événements, communautés.

  3. Puis

    Des gabarits

    Des squelettes de projets prêts à démarrer en quelques minutes.

  4. Enfin

    La version 1.0

    Après une revue de sécurité complète de chaque paquet.

Il n’y a pas de date ferme : la qualité passe avant.

Y prendre part

PHIL grandit avec ceux qui s’en servent : essayez-le, critiquez-le, proposez des améliorations. Tout se passe en public.

Pour suivre les sorties, voyez les nouveautés.