generated from gitea_admin/default
API Microsoft
This commit is contained in:
67
README.md
67
README.md
@@ -246,3 +246,70 @@ Array.from(document.querySelectorAll('body > *')).forEach(el => {
|
||||
el.style.outline = '1px solid red';
|
||||
el.style.backgroundColor = 'rgba(255, 0, 0, 0.3)'; // Utilisation de rgba pour une semi-transparence
|
||||
});
|
||||
|
||||
## Export Excel des inscriptions Académie
|
||||
|
||||
Le script `scripts/export-academie-excel.js` génère un fichier `.xlsx` depuis la table MySQL `academie_orchestre_candidatures`, puis l'envoie dans Microsoft 365 via Microsoft Graph.
|
||||
|
||||
### Migration SQL
|
||||
|
||||
À exécuter une fois sur la base :
|
||||
|
||||
```sql
|
||||
source server/database/2026-06-15_academie_excel_export.sql;
|
||||
source server/database/2026-06-15_rename_academie_current_fields.sql;
|
||||
```
|
||||
|
||||
### Variables d'environnement
|
||||
|
||||
Variables MySQL déjà utilisées par Nuxt :
|
||||
|
||||
```env
|
||||
NUXT_MYSQL_HOST=...
|
||||
NUXT_MYSQL_PORT=3306
|
||||
NUXT_MYSQL_DATABASE=...
|
||||
NUXT_MYSQL_USER=...
|
||||
NUXT_MYSQL_PASSWORD=...
|
||||
```
|
||||
|
||||
Variables Microsoft Graph à ajouter :
|
||||
|
||||
```env
|
||||
MICROSOFT_TENANT_ID=...
|
||||
MICROSOFT_CLIENT_ID=...
|
||||
MICROSOFT_CLIENT_SECRET=...
|
||||
GRAPH_DRIVE_ID=...
|
||||
GRAPH_EXCEL_UPLOAD_PATH=Académie d'orchestre/Candidatures/inscriptions-academie-{date}.xlsx
|
||||
ACADEMIE_EXCEL_REPORT_EMAIL=...
|
||||
```
|
||||
|
||||
Optionnel :
|
||||
|
||||
```env
|
||||
GRAPH_EXCEL_ITEM_ID=...
|
||||
ACADEMIE_EXCEL_EXPORT_MODE=all
|
||||
ACADEMIE_EXCEL_LOCAL_OUTPUT=tmp/inscriptions-academie-{date}.xlsx
|
||||
ACADEMIE_EXCEL_SKIP_UPLOAD=1
|
||||
```
|
||||
|
||||
Modes :
|
||||
|
||||
- `ACADEMIE_EXCEL_EXPORT_MODE=all` : exporte toutes les inscriptions dans un fichier complet. Mode recommandé pour commencer.
|
||||
- `ACADEMIE_EXCEL_EXPORT_MODE=pending` : exporte seulement les lignes non exportées, puis les marque comme exportées.
|
||||
- `{date}` dans `GRAPH_EXCEL_UPLOAD_PATH` ou `ACADEMIE_EXCEL_LOCAL_OUTPUT` est remplacé par la date du jour au format `YYYY-MM-DD`, par exemple `inscriptions-academie-2026-06-15.xlsx`.
|
||||
- Ne renseigne pas `GRAPH_EXCEL_ITEM_ID` si tu veux créer un nouveau fichier daté chaque jour : cette variable sert à remplacer un fichier SharePoint existant.
|
||||
- `ACADEMIE_EXCEL_REPORT_EMAIL` reçoit un email de compte rendu après chaque export, ou un email d'erreur si le traitement échoue.
|
||||
|
||||
### Test local sans upload
|
||||
|
||||
```bash
|
||||
ACADEMIE_EXCEL_SKIP_UPLOAD=1 ACADEMIE_EXCEL_LOCAL_OUTPUT=tmp/inscriptions-academie-{date}.xlsx npm run export:academie-excel
|
||||
```
|
||||
|
||||
### Cron nocturne
|
||||
|
||||
Exemple pour un export tous les jours à 02:00 :
|
||||
|
||||
```bash
|
||||
0 2 * * * cd /var/www/ton-projet && npm run export:academie-excel >> /var/log/academy-export.log 2>&1
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user