diff --git a/FIX_CONGES_SPECTACLES_AUTO_DECLARATION.md b/FIX_CONGES_SPECTACLES_AUTO_DECLARATION.md
new file mode 100644
index 0000000..9518940
--- /dev/null
+++ b/FIX_CONGES_SPECTACLES_AUTO_DECLARATION.md
@@ -0,0 +1,108 @@
+# Fix : Numéro Congés Spectacles - Page Auto-déclaration
+
+## Problème identifié
+
+Le champ "Numéro de Congés Spectacles" n'était **pas présent** dans le formulaire de la page d'auto-déclaration (`/auto-declaration`), alors que :
+- ✅ Le champ existe dans la base de données (`salaries.conges_spectacles`)
+- ✅ L'API backend gère correctement ce champ (`/api/auto-declaration/route.ts`)
+- ✅ Le champ était pré-rempli depuis la base de données
+
+**Conséquence** : Les salariés ne pouvaient pas saisir ou modifier leur numéro de Congés Spectacles via l'auto-déclaration.
+
+## Solution appliquée
+
+### 1. Modification de l'interface FormData
+Ajout du champ `conges_spectacles` dans l'interface TypeScript :
+
+```typescript
+interface FormData {
+ // ... autres champs
+ // État civil
+ date_naissance: string;
+ lieu_naissance: string;
+ numero_secu: string;
+ conges_spectacles: string; // ← AJOUTÉ
+ // ...
+}
+```
+
+### 2. Initialisation de l'état
+Ajout de `conges_spectacles: ''` dans l'état initial du formulaire.
+
+### 3. Pré-remplissage depuis la base de données
+Ajout de la ligne pour pré-remplir le champ depuis les données du salarié :
+
+```typescript
+setFormData(prev => ({
+ ...prev,
+ // ...
+ conges_spectacles: data.conges_spectacles || '',
+ // ...
+}));
+```
+
+### 4. Envoi vers l'API
+Ajout du champ dans les données envoyées lors de la sauvegarde :
+
+```typescript
+const updateData = {
+ // ...
+ conges_spectacles: formData.conges_spectacles || null,
+ // ...
+};
+```
+
+### 5. Ajout du champ HTML dans le formulaire
+Nouveau champ ajouté dans la section "État civil", après le numéro de Sécurité Sociale :
+
+```tsx
+
+ Ce champ est facultatif. Il concerne uniquement les intermittents du spectacle.
+
+
+```
+
+## Fichiers modifiés
+
+- ✅ `/app/auto-declaration/page.tsx` - Ajout du champ dans le formulaire
+- ℹ️ `/app/api/auto-declaration/route.ts` - Aucune modification (déjà fonctionnel)
+
+## Emplacement du champ
+
+Le champ a été placé dans la section **"État civil"**, juste après le numéro de Sécurité Sociale, car :
+- Il concerne l'état administratif du salarié
+- C'est un numéro d'identification professionnel (comme le NIR)
+- Position logique pour les intermittents du spectacle
+
+## Caractéristiques du champ
+
+- **Type** : Input texte
+- **Obligatoire** : Non (facultatif)
+- **Public cible** : Intermittents du spectacle
+- **Placeholder** : "Numéro d'objet (si intermittent)"
+- **Aide** : Message explicatif précisant que c'est facultatif
+
+## Tests recommandés
+
+1. ✅ Vérifier que le champ s'affiche correctement
+2. ✅ Tester la saisie d'un numéro Congés Spectacles
+3. ✅ Vérifier la sauvegarde en base de données
+4. ✅ Tester le pré-remplissage si un numéro existe déjà
+5. ✅ Vérifier que le champ reste facultatif (pas d'erreur si vide)
+
+## Validation
+
+- Le champ n'a pas de validation spécifique (format libre)
+- Il n'est pas obligatoire
+- Accepte n'importe quel texte/format
diff --git a/SYNC_NOTES_AUTO_DECLARATION_STAFF.md b/SYNC_NOTES_AUTO_DECLARATION_STAFF.md
new file mode 100644
index 0000000..5a6ece4
--- /dev/null
+++ b/SYNC_NOTES_AUTO_DECLARATION_STAFF.md
@@ -0,0 +1,158 @@
+# Synchronisation des notes : Auto-déclaration → Staff/Salariés
+
+## Problème résolu
+
+Les notes saisies par les salariés dans le formulaire d'auto-déclaration n'étaient **pas visibles** dans la section "Notes" de la page staff/salaries.
+
+### Situation avant correction
+
+- ✅ Les notes étaient sauvegardées dans `justificatifs_personnels` (format JSON)
+- ❌ Les notes n'étaient PAS enregistrées dans le champ `notes`
+- ❌ Le staff ne pouvait pas voir ces notes dans l'interface staff/salaries
+
+**Conséquence** : Les informations importantes communiquées par les salariés restaient invisibles pour le staff.
+
+## Solution appliquée
+
+### Modifications dans `/app/api/auto-declaration/route.ts`
+
+La logique d'enregistrement des notes a été améliorée pour :
+
+1. **Récupérer les notes existantes** avant d'ajouter les nouvelles
+2. **Ajouter la nouvelle note avec horodatage** au champ `notes` visible par le staff
+3. **Préserver l'historique** dans `justificatifs_personnels` (format JSON)
+
+### Code modifié
+
+```typescript
+if (updateData.notes) {
+ // Récupérer les notes existantes pour les préserver
+ const { data: currentSalarie } = await sb
+ .from('salaries')
+ .select('notes, justificatifs_personnels')
+ .eq('id', tokenData.salarie_id)
+ .single();
+
+ // Préparer la nouvelle note avec horodatage
+ const currentDate = new Date().toISOString().split('T')[0];
+ const currentTime = new Date().toLocaleString('fr-FR');
+ const newNote = `[${currentTime} - Auto-déclaration]\n${updateData.notes}`;
+
+ // Ajouter aux notes existantes ou créer une nouvelle note
+ if (currentSalarie?.notes) {
+ dataToUpdate.notes = `${currentSalarie.notes}\n\n${newNote}`;
+ } else {
+ dataToUpdate.notes = newNote;
+ }
+
+ // Également ajouter aux justificatifs personnels (format JSON) pour historique
+ const noteEntry = {
+ date: currentDate,
+ source: 'auto-declaration',
+ notes: updateData.notes
+ };
+
+ dataToUpdate.justificatifs_personnels = JSON.stringify([noteEntry]);
+}
+```
+
+## Fonctionnement
+
+### 1. Horodatage automatique
+Chaque note de l'auto-déclaration est précédée de :
+```
+[17/10/2025 à 14:30:25 - Auto-déclaration]
+```
+
+### 2. Préservation des notes existantes
+- Si le salarié avait déjà des notes (ajoutées par le staff), elles sont conservées
+- La nouvelle note est ajoutée à la suite avec une double ligne de séparation (`\n\n`)
+
+### 3. Double sauvegarde
+- **Champ `notes`** : Visible immédiatement par le staff sur staff/salaries
+- **Champ `justificatifs_personnels`** : Historique structuré au format JSON
+
+## Format des notes
+
+### Exemple avec première note
+```
+[17/10/2025 à 14:30:25 - Auto-déclaration]
+Je suis disponible pour commencer le contrat dès le 20 octobre.
+J'ai déjà travaillé sur des productions similaires.
+```
+
+### Exemple avec notes multiples
+```
+[15/10/2025 à 10:00:00 - Staff]
+Candidat intéressant pour le projet XYZ
+
+[17/10/2025 à 14:30:25 - Auto-déclaration]
+Je suis disponible pour commencer le contrat dès le 20 octobre.
+J'ai déjà travaillé sur des productions similaires.
+```
+
+## Avantages
+
+### ✅ Visibilité immédiate
+- Les notes des salariés apparaissent instantanément dans l'interface staff
+- Pas besoin de chercher dans les justificatifs personnels
+
+### ✅ Traçabilité
+- Horodatage précis de chaque note
+- Source clairement identifiée (Auto-déclaration vs Staff)
+- Historique complet préservé
+
+### ✅ Communication améliorée
+- Le staff peut voir les informations importantes des salariés
+- Facilite le suivi et la coordination
+- Évite les oublis ou pertes d'information
+
+## Interface utilisateur
+
+### Page auto-déclaration
+Le salarié voit :
+```
+Section "Notes"
+┌─────────────────────────────────────────────┐
+│ Informations complémentaires │
+│ ┌─────────────────────────────────────────┐ │
+│ │ [Zone de texte libre] │ │
+│ │ │ │
+│ │ │ │
+│ └─────────────────────────────────────────┘ │
+│ Utilisez ce champ libre si vous devez │
+│ mentionner toutes les informations │
+│ complémentaires. │
+└─────────────────────────────────────────────┘
+```
+
+### Page staff/salaries
+Le staff voit la note dans le panneau latéral :
+```
+Section "Notes"
+┌─────────────────────────────────────────────┐
+│ [17/10/2025 à 14:30:25 - Auto-déclaration] │
+│ Je suis disponible pour commencer le │
+│ contrat dès le 20 octobre. │
+└─────────────────────────────────────────────┘
+```
+
+## Tests recommandés
+
+1. ✅ Saisir une note sur l'auto-déclaration
+2. ✅ Vérifier qu'elle apparaît dans staff/salaries
+3. ✅ Vérifier l'horodatage et la source
+4. ✅ Ajouter une deuxième note et vérifier la concaténation
+5. ✅ Vérifier que les notes staff existantes sont préservées
+6. ✅ Tester avec un salarié sans note existante
+7. ✅ Tester avec un salarié ayant déjà des notes staff
+
+## Fichiers modifiés
+
+- ✅ `/app/api/auto-declaration/route.ts` - Logique d'enregistrement des notes
+
+## Rétrocompatibilité
+
+- ✅ Les anciennes notes (si existantes) sont préservées
+- ✅ Le format JSON dans `justificatifs_personnels` reste fonctionnel
+- ✅ Aucune migration de données nécessaire
diff --git a/app/api/auto-declaration/route.ts b/app/api/auto-declaration/route.ts
index 0f89d3f..070f2bc 100644
--- a/app/api/auto-declaration/route.ts
+++ b/app/api/auto-declaration/route.ts
@@ -148,8 +148,26 @@ export async function PATCH(request: NextRequest) {
if (updateData.bic !== undefined) dataToUpdate.bic = updateData.bic;
if (updateData.derniere_profession !== undefined) dataToUpdate.derniere_profession = updateData.derniere_profession;
if (updateData.notes) {
- // Ajouter les notes aux justificatifs personnels (format JSON)
+ // Récupérer les notes existantes pour les préserver
+ const { data: currentSalarie } = await sb
+ .from('salaries')
+ .select('notes, justificatifs_personnels')
+ .eq('id', tokenData.salarie_id)
+ .single();
+
+ // Préparer la nouvelle note avec horodatage
const currentDate = new Date().toISOString().split('T')[0];
+ const currentTime = new Date().toLocaleString('fr-FR');
+ const newNote = `[${currentTime} - Auto-déclaration]\n${updateData.notes}`;
+
+ // Ajouter aux notes existantes ou créer une nouvelle note
+ if (currentSalarie?.notes) {
+ dataToUpdate.notes = `${currentSalarie.notes}\n\n${newNote}`;
+ } else {
+ dataToUpdate.notes = newNote;
+ }
+
+ // Également ajouter aux justificatifs personnels (format JSON) pour historique
const noteEntry = {
date: currentDate,
source: 'auto-declaration',
diff --git a/app/auto-declaration/page.tsx b/app/auto-declaration/page.tsx
index 38f6069..1bb23c7 100644
--- a/app/auto-declaration/page.tsx
+++ b/app/auto-declaration/page.tsx
@@ -133,6 +133,7 @@ interface FormData {
date_naissance: string;
lieu_naissance: string;
numero_secu: string;
+ conges_spectacles: string;
// Bancaire
iban: string;
@@ -191,6 +192,7 @@ export default function AutoDeclarationPage() {
date_naissance: '',
lieu_naissance: '',
numero_secu: '',
+ conges_spectacles: '',
// Bancaire
iban: '',
@@ -240,6 +242,7 @@ export default function AutoDeclarationPage() {
date_naissance: data.date_naissance || '',
lieu_naissance: data.lieu_de_naissance || '',
numero_secu: data.nir || '',
+ conges_spectacles: data.conges_spectacles || '',
iban: data.iban || '',
bic: data.bic || '',
employeur: data.organizations?.name || ''
@@ -425,6 +428,7 @@ export default function AutoDeclarationPage() {
date_naissance: formData.date_naissance || null,
lieu_de_naissance: formData.lieu_naissance || null,
nir: formData.numero_secu || null,
+ conges_spectacles: formData.conges_spectacles || null,
iban: formData.iban || null,
bic: formData.bic || null,
notes: formData.notes
@@ -840,6 +844,17 @@ export default function AutoDeclarationPage() {
/>
Indiquez le NIR complet ou provisoire si pas encore définitif.