Dev Playbook
dev-standards

Comment se fait une feature, stack par stack

Les guidelines de dev-standards, montrées en code : la séquence complète d'une feature, les patterns du moment, et les pièges.

Twig rend les pages, React prend la main là où il faut de l'interaction. PHP est la source de vérité, les types TS en descendent. symfony-react/symfony-guidelines.md et reactony.md

La séquence du playbook, dans l'ordre : le contrat backend, la route, les types générés, le composant, le cache, les tests, la porte qualité.

1symfony-guidelines.md, Playbook 1 · reactony.md §2

Modéliser le contrat backend

PHP est la source de vérité. Les types et la validation vivent sur l'entité, et tout le reste en découle.

src/Entity/AlerteRecherche.phpphp
<?php

class AlerteRecherche
{
    #[ORM\Id]
    #[ORM\GeneratedValue(strategy: 'IDENTITY')]
    #[ORM\Column]
    private ?int $id = null;  // privé et sans Groups : le Serializer l'ignore

    #[Assert\NotBlank]
    #[Assert\Count(min: 1)]
    #[Groups(['alerte:read', 'alerte:create'])]
    public array $canaux = [];

    #[Assert\Email]
    #[Groups(['alerte:create'])]
    public ?string $email = null;
}

Le piège. Charge utile 1:1 avec l'entité : l'entité directement. Sous-ensemble d'une grosse entité : un DTO allowlist plus ObjectMapper, pour la sécurité. Rien qui corresponde à une entité : un DTO simple.

1 / 9