L’intégration SFTP permet de synchroniser automatiquement vos utilisateurs, départements et localisations dans Zest grâce au dépôt de fichiers .csv sur un serveur sécurisé. C’est la solution idéale si vous souhaitez automatiser vos imports ou connecter Zest à votre SIRH.
Voici comment procéder étape par étape 👇
Voici la documentation technique complète 👆
1️⃣ Faire la demande de mise en place 📩
La configuration SFTP n’est pas active par défaut.
Pour l’activer, vous devez contacter :
📧 support@zestmeup.com
Dans votre demande, précisez :
- le nom de votre organisation
- que vous souhaitez activer le provisioning SFTP
- si vous voulez un mode incrémental (par défaut) ou différentiel
- si vous avez besoin d’un fonctionnement multi-entités
L’équipe technique vous accompagnera ensuite dans la configuration.
2️⃣ Fournir votre clé SSH 🔐
L’accès au serveur SFTP est sécurisé.
Lors de la configuration, Zest vous demandera :
- Votre clé SSH publique (RSA)
- L’IP ou les IP de vos serveurs si vous utilisez des règles firewall
- Le nom de la personne ou du système qui déposera les fichiers
📌 Important : la clé doit être une clé publique.
Le fichier sera stocké dans le dossier /.ssh du serveur (à ne jamais modifier).
3️⃣ Comprendre le fonctionnement du SFTP Zest ⚙️
Une fois configuré :
- Vous déposez vos fichiers CSV dans le dossier /upload.
- Toutes les 15 minutes, Zest lit les fichiers, les vérifie et applique les modifications.
- Après traitement, un rapport est généré dans le dossier /reports.
Les rapports peuvent aussi être envoyés par email si vous en faites la demande.
4️⃣ Choisir votre mode d’import : Incrémental ou Différentiel
Zest propose deux modes.
🟩 Mode incrémental (recommandé – par défaut)
- Ajoute les nouveaux utilisateurs
- Met à jour les utilisateurs déjà existants
- Ne supprime personne
- Pour supprimer : mettre status = removed dans users.csv
📌 C’est le mode le plus sécurisé.
🟥 Mode différentiel
- Le contenu du fichier = la nouvelle vérité
- Tous les utilisateurs absents du fichier sont supprimés
- Arbres d’unités entièrement remplacés
📌 À utiliser uniquement si vous maîtrisez parfaitement vos exports SIRH.
5️⃣ Déposer vos fichiers sur le serveur 📁
Les fichiers doivent être déposés strictement avec les noms suivants :
- users.csv
- department.csv
- location.csv
Ils doivent être placés dans le dossier :
/upload
Une fois traités, Zest les renomme automatiquement :
- _treated_DATE.csv (succès)
- _error_DATE.csv (échec)
6️⃣ Respecter le format des fichiers CSV 📐
C’est l’étape la plus importante pour éviter les erreurs.
✔️ Encodage : UTF-8 (obligatoire)
✔️ Séparateur : ;
7️⃣ Structure des fichiers attendus
1. department.csv
| colonne | obligatoire | description |
|---|---|---|
| unit | ✔️ | Nom du département |
| parent | Nom du parent (vide pour la racine) |
2. location.csv
| colonne | obligatoire | description |
|---|---|---|
| unit | ✔️ | Nom de la localisation |
| parent | Parent de la localisation |
3. users.csv Voici les colonnes essentielles :
| colonne | obligatoire | description |
|---|---|---|
| firstname | ✔️ | Prénom |
| lastname | ✔️ | Nom |
| (✔️) | Obligatoire si userId non utilisé | |
| userId | (✔️) | Obligatoire si email non utilisé |
| password | Utilisé seulement lors de la première création | |
| status | ✔️ | active, suspended, removed |
| ssoLogin | Identifiant SSO | |
| managerId | email ou userId correspondant à une ligne existante | |
| department | ✔️ | Doit exister dans department.csv |
| location | Doit exister dans location.csv | |
| rank | ✔️ | user, superAdmin, RH |
| lang | ✔️ | fr, en, es… |
| departmentsAdmin | Liste séparée par ` | |
| locationsAdmin | Liste séparée par ` | |
| attributs persos | Formats : texte / nombre / booléen / date |
8️⃣ Ce à quoi faire particulièrement attention 🧠
✔️ Les SmartOrg doivent être cohérents
→ pas de doublons
→ noms identiques au caractère près
→ un parent doit exister dans l’arborescence
✔️ Pas de boucle hiérarchique manager/managé
(Le SFTP rejettera le fichier.)
✔️ Dates au format AAAA-MM-JJ
(Format anglais – comme déjà expliqué dans ton article sur l’import manuel.)
✔️ Fichiers encodés en UTF-8 et séparés par “;”
✔️ Le CSV ne doit contenir
aucune ligne vide
✔️ Pour supprimer un utilisateur :
→ en incrémental : mettre status = removed
→ en différentiel : l’absence suffit à le supprimer
9️⃣ Multi-entités (si applicable)
- Chaque entité a son propre accès SFTP
- Import utilisateurs = toujours incrémental
- Une unité racine doit être définie par entité
- Une entité ne peut pas utiliser un nom d’unité déjà utilisé par une autre entité → sinon erreur
🔟 Comment tester l’intégration ?
Zest vous proposera :
- un test de dépôt
- une vérification de la clé SSH
- un test de traitement de fichier
- la validation du premier rapport dans /reports
Une fois validé, le SFTP peut être automatisé depuis votre SIRH / ESB.
🎯 Conclusion : l’intégration SFTP en résumé
- Vous demandez l’activation via support@zestmeup.com
- Vous fournissez votre clé SSH publique
- Vous déposez vos fichiers CSV dans /upload
- Zest les traite toutes les 15 minutes
- Vous récupérez les rapports dans /reports
- Vous respectez strictement le format UTF-8 + ; + structures SmartOrg
C’est la solution la plus robuste pour une synchronisation automatique, fiable et sécurisée.