# Instructions Copilot - Projet N3WT-SCHOOL

## Objectif

Corriger ou améliorer le projet N3WT-SCHOOL de manière minimaliste et fonctionnelle, sans dépendances inutiles.

## Architecture du projet

### Structure

- **Backend** : Python Django (dossier `Back-End/`)
- **Frontend** : NextJS (dossier `Front-End/`)
- **Tests frontend** : `Front-End/src/test/`
- **Code frontend** : `Front-End/src/`

## Gestion des tickets

### Règles générales

- Chaque **nouvelle fonctionnalité** ou **correction** nécessite un ticket Gitea
- **Exemptions** : modifications documentaires, refactoring, chore, style

### Cycle de vie d'un ticket

1. **Création** → label `etat/En Pause`
2. **Affectation** → label `etat/En Cours`
3. **Développement terminé** → label `etat/Codé`
4. **Tests validés** → label `etat/Testé`

### Gestion des branches

- **Base** : branche `develop`
- **Nomenclature** : `<type>-<nom_ticket>-<numero>` (ex: `feat-ma_super_feat-1234`)
- **Types** : feat, fix, docs, style, refactor, test, chore

## Exigences qualité

Pour le front-end, les exigences de qualité sont les suivantes :

- **Linting** : Utiliser ESLint pour le code JavaScript/TypeScript
- **Formatage** : Utiliser Prettier pour le formatage du code
- **Tests** : Utiliser Jest pour les tests unitaires et d'intégration
- Référence : [frontend guideline](./instructions/frontend.instruction.md)

### Tests

- Tests unitaires obligatoires pour chaque nouvelle fonctionnalité
- Localisation : `Front-End/src/test/`

### Documentation

- Documentation en français pour les nouvelles fonctionnalités (si applicable)
- Référence : [documentation guidelines](./instructions/documentation.instruction.md)

## Design System

Le projet utilise un design system défini. Toujours s'y conformer lors de toute modification de l'interface.

- Référence complète : [design system](../docs/design-system.md)
- Règles Copilot : [design system instructions](./instructions/design-system.instruction.md)

### Résumé des tokens obligatoires

| Token Tailwind | Hex       | Usage                         |
|----------------|-----------|-------------------------------|
| `primary`      | `#059669` | Boutons, CTA, éléments actifs |
| `secondary`    | `#064E3B` | Hover, accents sombres        |
| `tertiary`     | `#10B981` | Badges, icônes                |
| `neutral`      | `#F8FAFC` | Fonds de page, surfaces       |

- Polices : `font-headline` (Manrope) pour les titres, `font-body`/`font-label` (Inter) pour le reste
- **Ne jamais** utiliser `emerald-*` pour les éléments interactifs

## Références

- **Tickets** : [issues guidelines](./instructions/issues.instruction.md)
- **Commits** : [commit guidelines](./instructions/general-commit.instruction.md)
- **Tests** : [run tests](./instructions/run-tests.instruction.md)
- **Design System** : [design system instructions](./instructions/design-system.instruction.md)
