Plan
- Rappel sur le modèle Organigramme
- Problématique trombinoscope
- La solution trouvée
- Démonstration
- Limite et projection
Rappel sur le modèle Organigramme
Résumé rencontres 2025 / mini webinaire 12-2025
Besoin d’organigrammes hiérarchiques pour deux usages :
Diffusion dans notre ENT
Préparation des dossiers d’avancement
Besoin de simplifier les mises à jour
=> Création d’un modèle Scenari
4 types d’items (Personne, Job, Equipe, Organigramme) + 1 item de publication
Résumé rencontres 2025 / mini webinaire 12-2025
Demande de disposer d’un trombinoscope de la direction
=> Enrichissement du modèle :
Ajout d’un champ « photo » sur l’item personne
Ajout d’un second item de publication (utilisation du multisupport natif de Scenari)
Exemple - Exemple d’organigramme
Exemple - Exemple de trombinoscope
Complément - Pour information
Le modèle Organigramme + trombinoscope est disponible sur la page des contributeurs du site scenari.org
Problématique trombinoscope
Récupération d’un nombre potentiellement important de photos
Question du droit à l’image et du droit de retrait
Existence dans notre SI d’une application « référentiel photo » où
L’utilisateur décide de la diffusion ou non
L’utilisateur a la main pour faire les mises à jour
=> Y a t’il moyen de s’appuyer sur cette application ?
Question
La solution trouvée
L’API Python de Scenari
Pour quoi faire :
- Remplacer et étendre les fonctionnalités de scenariBatch
- Permettre au travers d’un code python d’interagir avec un Serveur Scenari
Parmi les fonctionnalités :
- Gestion des utilisateurs et groupes
- Export / import de scar
- Effectuer des générations et dépôts
- Effectuer des recherches d’items dans un atelier
- Télécharger et téléverser des items dans un atelier
L’application « référentiel photo » (refphoto)
Elle dispose d’une API qui à partir de l’UID d’une personne retourne :
- Une image générique
si la personne n’a pas de photo - Une image générique
si la personne refuse la diffusion - La photo de la personne dans les autres cas
Pour le trombinoscope
Ajout dans le modèle Organigramme d’un champ « uid » à l’item « personne »
Création d’un script utilisant l’API Python de Scenari qui
Récupère un objet Python de chaque item « personne » d’un atelier ou d’un espace
Récupère, depuis Scenari, la photo si elle existe
Récupère, depuis refphoto, la photo ou l’image liée à l’uid de la personne
Modifie si besoin l’objet python
Dépose si besoin la photo sur Scenari sous un nom normalisé
Met à jour l’item « personne » à partir de l’objet python
La classe Person du script python
Attributs | Détail | Méthodes | Détails |
|---|---|---|---|
_srv | l’identifiant du portail | __init__ | Constructeur |
_atelier | le wsp_code de l’atelier | _parse_xml_from_scenari | lecture de l’item Scenari |
_item | le source xml de l’item Scenari | init_from_name | Lecture d’un item en fonction du first_name, et last_name |
ref_uri | l’uri de l’item | ||
first_name | search_photo | Recherche la photo dans l’atelier correspondante ) photo_ref_uri | |
last_name | get_photo | Télécharge la photo de l’atelier correspondante à photo_ref_uri | |
uid | L’id de la personne dans le SI | normalize_file_name | Normalise le nom <first_name>_<last_name>.jpg |
photo_ref_uri | l’Uri de la photo dans l’(atelier si présente | upload_photo | Téléverse la photo au nom normalisé |
set_photo | Effectue la liaison entre l’API de RefPhoto et celle de Scenari pour mettre à jour la photo dans l’atelier |
Démonstration
Limite et projection
Parmi les limitations
- Le nom de l’atelier et de l’espace utilisés dans la recherche sont en dur dans le script
- Pour effectuer une mise à jour besoin de lancement manuel ou via un cron
- Pour des raisons de sécurité l’api de refPhoto n’est utilisable que sur des pc autorisés
Projection
- Intégration du code du script dans une interface web pour donner la main aux usagers




