Gestion des Dictionnaires
Uploader, gérer et supprimer les dictionnaires CSPro.
Prochaine version : Admin Panel React pour gestion dictionnaires. Actuellement : Interface CSWeb vanilla.
Upload Dictionnaire
Via Interface CSWeb
- Login http://localhost:8080 (opens in a new tab)
- Administration → Dictionaries
- Upload new dictionary
- Sélectionner fichier
.dcf - Submit
Via API
curl -X POST http://localhost:8080/api/dictionaries \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "file=@survey.dcf" \
-F "label=survey"Lister Dictionnaires
Via API
curl -X GET http://localhost:8080/api/dictionaries \
-H "Authorization: Bearer YOUR_TOKEN"Response :
[
{
"name": "EVAL_DICT",
"label": "eval",
"version": "1.0",
"created_at": "2026-01-15T10:30:00Z"
}
]Via SQL
SELECT name, label, version, created_at
FROM dictionaries
ORDER BY created_at DESC;Détails Dictionnaire
Structure
curl -X GET http://localhost:8080/api/dictionaries/EVAL_DICT \
-H "Authorization: Bearer YOUR_TOKEN"Response :
{
"name": "EVAL_DICT",
"label": "eval",
"levels": [
{"name": "level_1", "label": "Ménages"}
],
"records": [
{"name": "producteurs", "label": "Producteurs"}
]
}Versions Dictionnaires
Multiple Versions
CSWeb supporte plusieurs versions d'un même dictionnaire.
Naming Convention :
SURVEY_DICT_V1SURVEY_DICT_V2
Migration Version
# Breakout ancienne version
php bin/console csweb:process-cases-by-dict SURVEY_DICT_V1
# Breakout nouvelle version
php bin/console csweb:process-cases-by-dict SURVEY_DICT_V2Supprimer Dictionnaire
Via Interface
- Administration → Dictionaries
- Sélectionner dictionnaire
- Delete
Via API
curl -X DELETE http://localhost:8080/api/dictionaries/EVAL_DICT \
-H "Authorization: Bearer YOUR_TOKEN"Vérification
Supprimer seulement si :
- ✅ Pas de cases associés
- ✅ Pas de breakout tables
Sinon :
{
"error": "Cannot delete dictionary",
"message": "Dictionary has associated cases"
}Backup Dictionnaires
Export Fichiers .dcf
# Copier depuis container
docker compose cp csweb:/var/www/html/files/dictionaries ./backup/
# Archive
tar -czf dictionaries-backup-$(date +%Y%m%d).tar.gz ./backup/dictionariesTroubleshooting
Upload Fail
Cause : Taille fichier trop grande.
Solution : Augmenter upload_max_filesize dans php.ini :
upload_max_filesize = 50M
post_max_size = 50MDictionary Not Found
Vérifier :
# Lister fichiers
docker compose exec csweb ls -la /var/www/html/files/dictionaries/