Skip to content

About PHIL

Open, secure and bilingual building blocks for collaborative websites with Symfony.

What PHIL is

PHIL stands for “Proclaim Honestly, Interact Liberally”; in French, “Parler Haut, Interagir Librement”. The name states the intent: websites where people speak up and exchange freely, without anyone deciding for them what they share.

PHIL is first phil-ip, a platform for building collaborative websites, and the open packages it is made of: PHP libraries and Symfony bundles, each one meeting a precise need, which can be picked one at a time for any project.

Its design system, phil-ux, gives all of it the same face: accessible components, a dark mode included and native HTML first. This page is dressed in it, and the PHIL UX demo shows each of its components.

Where it comes from

PHIL is not a theoretical project. It was born from phil-ip, the platform that runs the Gnome Archiviste websites. Each time a need came back from one site to the next, it was isolated in an independent package that knows no site in particular. These packages are now offered to everyone, as open source.

Every building block serves in production on our own sites first: nothing is made “for some day, maybe”.

The problem it solves

Anyone who has built a few websites knows it: the same needs come back with every project.

Forms

Phone numbers, addresses, amounts, recurring events, and spam to keep at bay.

Content

Rich text, careful typography, the differences between two versions of a text.

Security

CSS and SVG images sent by people, bots, calls to third-party services.

Each time, we recode, we retest, we repeat the same security mistakes, and we maintain it all alone. PHIL gathers these building blocks once and for all, checked and documented, so they can be assembled instead of rebuilt.

Its principles

Six rules apply to every package, without exception.

Secure by default

The careful settings are the ones you get without doing anything.

MIT licence

Usable in any project, commercial ones included.

Symfony first

Symfony's components are extended rather than replaced.

Bilingual

Documentation in English and in French, kept up to date together.

Privacy

Designed with Québec's Law 25 and the GDPR in mind: nothing is quietly sent to a third party.

Fast, and measured

Speed is measured by benchmarks on the critical paths, not assumed.

The showcase

The PHIL showcase holds 86 published packages, in 11 families. One principle runs through them all: each need comes in two pieces, a PHP library that can be used in any project, and a bundle that plugs it into Symfony, with forms, Twig and Doctrine.

Foundations

The building blocks everything else rests on, from lists of values to a clear architecture.

Text and content

Writing, converting, polishing and comparing texts, with careful typography in French too.

PHIL UX

Twig and Stimulus components to install in the site, on a stylesheet without utility classes, light and dark.

Security

Accepting what people send without risk, and blocking spam without a captcha.

Data

Money, taxes, phone numbers, addresses and opening hours, right the first time.

Integration

Talking to other services without going down with them when they fail.

Operations

Backups, monitoring and migrations, to keep a site alive without surprises.

Tooling

The automated checks of PHIL, to reuse in your own projects.

Print and reports

From the website to paper, and to dashboards, with verifiable digital badges.

Alongside, Tilttek publishes 17 packages for gamification and games: dice, points, badges, quests, collections and loot tables, built on the same principles.

Browse the package catalogue

Quality

No change gets in without passing a series of automated checks:

  • tests on PHP 8.5 and 8.6, each package also installed on its own;
  • static analysis at the strictest level;
  • mutation testing, which changes the code on purpose to check that a test notices;
  • a security review and a dependency audit;
  • a checked architecture, where a library never depends on a bundle;
  • checked documentation, with its French translation kept in step.

These tools are published too, in phil/dev-tools, so anyone can use them in their own projects.

What PHIL brings

Less code to write

Proven building blocks are assembled instead of recoded, and there is less code to maintain.

Fewer risks

Security and privacy are checked once, for every project.

No lock-in

An MIT licence, no third-party service imposed; the code stays yours.

In French, from here

French documentation and typography, with Law 25 in mind.

The road ahead

  1. Now

    The showcase in 0.1.0-alpha

    86 packages on GitHub and Packagist, ready to try today; their interface may still change.

  2. Next

    One small group a day

    More packages come out day by day: commerce, events, communities.

  3. Then

    Templates

    Project skeletons ready to start in a few minutes.

  4. Finally

    Version 1.0

    After a full security review of every package.

There is no fixed date: quality comes first.

Taking part

PHIL grows with the people who use it: try it, criticise it, suggest improvements. Everything happens in the open.

To follow the releases, see the news.