Intégration SFTP

4 minutes de lecture

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 👇

AllItems.aspx

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

colonneobligatoiredescription
unit✔️Nom du département
parentNom du parent (vide pour la racine)

2. location.csv

colonneobligatoiredescription
unit✔️Nom de la localisation
parentParent de la localisation

3. users.csv Voici les colonnes essentielles :

colonneobligatoiredescription
firstname✔️Prénom
lastname✔️Nom
email(✔️)Obligatoire si userId non utilisé
userId(✔️)Obligatoire si email non utilisé
passwordUtilisé seulement lors de la première création
status✔️active, suspended, removed
ssoLoginIdentifiant SSO
managerIdemail ou userId correspondant à une ligne existante
department✔️Doit exister dans department.csv
locationDoit exister dans location.csv
rank✔️user, superAdmin, RH
lang✔️fr, en, es…
departmentsAdminListe séparée par `
locationsAdminListe séparée par `
attributs persosFormats : 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.

Avez-vous trouvé votre réponse?

Zest - La solution pour le succès collectif de chacun