
---

# 3. `backend/CLAUDE.md`

Celui-ci serait beaucoup plus spécifique :

```md
# Backend - Spring Boot

## Stack

- Java
- Spring Boot
- Maven
- Spring Data JPA
- Hibernate
- PostgreSQL
- Spring Security

## Package principal

`com.pressing`

## Architecture

Le backend suit l'architecture existante :

- `common`
- `config`
- `domain`
- `modules`
- `security`
- `tenant`

Ne pas déplacer les packages existants sans raison.

## Règles Spring

- Les Controllers exposent les API REST.
- La logique métier doit être dans les Services.
- Les Repositories gèrent l'accès aux données.
- Ne pas mettre de logique métier importante dans les Controllers.
- Utiliser les DTO existants lorsque disponibles.
- Réutiliser les exceptions et handlers existants.
- Respecter les conventions de validation existantes.
- Respecter la sécurité existante.
- Respecter le système multi-tenant existant.

## Base de données

PostgreSQL.

Avant de modifier une Entity :

1. Vérifier les relations existantes.
2. Vérifier les migrations/scripts SQL.
3. Vérifier les DTO.
4. Vérifier les Services.
5. Vérifier les Repositories.
6. Vérifier les API concernées.

Ne jamais supprimer une colonne ou une table sans confirmation.

## Sécurité

Le code dans :

`security/`

est sensible.

Ne pas modifier l'authentification ou les autorisations sans analyser le fonctionnement existant.

Ne jamais afficher :

- mots de passe
- tokens
- secrets
- clés JWT
- credentials PostgreSQL

## Tests

Après modification backend :

```bash
mvnw.cmd test