Aller au contenu principal

┌────────────────────────────────────────────┐
│ SSO / OIDC / SOLID-OIDC |
│--------------------------------------------│
│ Application Server OIDC |
│ ┌───────────────┐ │
│ │ ┌─────────┐ │ │
│ │ | Login │ │ ┌─────────┐ │
│ │ └─────────┘ │ <====> | OIDC │ │
│ │ ┌─────────┐ │ └─────────┘ │
│ │ | pass │ │ │
│ │ └─────────┘ │ |
│ └───────────────┘ │
└────────────────────────────────────────────┘

L'étape d'integration dans le cloud de 4CH nous a permis de tenter l'utilisation d'un deuxième serveur OIDC/CAS.

Au final, nous avons ressorti des axes d'amélioration dans SemApps, pour permettre de donner le choix à l'utilisateur de différents modes d'authentification.

Voir Authentification

┌────────────────────────────────────────────┐
│ Et si l'ontologie pilotait l'application ? |
│--------------------------------------------│
│ Ontologie Application |
│ ┌───────────────┐ │
│ │ O---O---O │ │
│ │ / / \ | │ ┌─────────┐ │
│ │ O---O---O-O │ <====> | App │ │
│ │ \ / \| │ └─────────┘ │
│ │ O-O---O--0 │ |
│ └───────────────┘ │
└────────────────────────────────────────────┘

Un vieux rêve des ontologistes (informatiques) est de pouvoir gérer / paramétrer / piloter le fonctionnement d'une application directement via une ou plusieurs ontologies.

A l'heure actuelle, nous n'avons pas encore rencontré un projet qui permettait cela.

C'est un objectif de SemApps à long terme, mais il en est encore loin.

Nous donnerons donc dans ce portail uniquement des recommandations à ce sujet.

Nous parlerons des manques dans SemApps, des améliorations allant dans ce sens qui ont été mises en place et des souhaits pour l'avenir.

Voir Recommandations > Pilotage par l'ontologie

┌───────────────────────────────────┐
│ Maintenance |
│-----------------------------------│
│ ___ ___ │
│ / \ ┌───\ / \ │
│ |\___/| | \ |\___/| │
│ | | <= | | => | | |
│ | | | | | │ |
│ \___/ └─────┘ \___/ |
│ |
└───────────────────────────────────┘

Nous avons ajouté une nouvelle section "Maintenance", afin d'expliquer comment maintenir un serveur Carto4CH en production.

Cela inclue :

  • l'accès à l'interface web du triplestore
  • le compactage de la base de donnée
  • la sauvegarde des données du triplestore

Voir Maintenance

┌───────────────────────────────────┐
│ Carto4CH ===> Cloud 4CH |
│-----------------------------------│
│ ___ │
│ ___ /___\ │
│ / \ / \ │
│ | | ===> /_______\ |
│ \___/ / \ |
│ └───────────┘ |
│ |
└───────────────────────────────────┘

Nous avons tenté d'intégrer notre projet Carto4CH dans le cloud 4CH.

C'était très intéressant de comprendre leur architecture, nous avons appris de l'expérience, mais nous avons manqué d'anticipation. En effet, nous avons pris trop de retard et le projet s'est arrêté fin décembre 2023, avant que nous puissons terminer l'intégration.

Nous avons quand même pu en ressortir des bonnes pratiques au niveau :

  • du SSO / Authentification
  • du mode de déploiement attentu dans un cloud par l'équipe 4CH.

Nous espérons pouvoir la reprendre lorsque la suite de 4CH sera mise en place.

Vous retrouverez ce que nous avons retenu :

┌────────────────────────────────┐
│ Internationalisation |
│--------------------------------│
│ ┌───────────────────┐ │
│ | ENGLISH v | │
│ └───────────────────┘ │
│ | ENGLISH │ |
│ | FRENCH │ |
│ └─────────────────┘ │
└────────────────────────────────┘

Afin de préparer une présentation du démonstrateur à l'équipe européenne du projet 4CH, nous avons, comme prévu initialement, effectué la traduction de toutes les interface.

Le Back-office, ainsi que My-competences sont donc à présent, par défaut, en anglais, et il y a la possibilité de passer en français dans le menu en haut à droite. Le choix de la langue par défaut est paramétrable lors du déploiement du serveur.

Pour comprendre le fonctionnement technique de cette fonctionalité, rendez-vous sur la page de la Internationalisation

┌────────────────────────────────┐
│ Technical documentation |
│--------------------------------│
│ SOLID │
│ SemApps │
│ Demonstrator │
└────────────────────────────────┘

Depuis que le démonstrateur est fonctionnel en version 1.0, nous avons pu terminer la documentation technique, pour aider les développeurs à comprendre le fonctionnement du démonstrateur, comprendre comment déployer leur propre serveur, etc.

Nous n'avons pas ajouté les liens vers les nombreux PAD de développement (plus précis) pour ne pas polluer la documentation, mais n'hésitez pas à nous demander l'accès.

Vous pourrez retrouver tous ces détails techniques dans la rubrique Documentation technique

┌────────────────────────────────┐
│ Cartographie Générale |
│ Visualisation du serveur Miroir|
│--------------------------------│
│ ┌────────────────────┐ │
│ │ O---O---O O-O │ │
│ │ / / \ |/ \ │ │
│ │ O---O---O-O O O │ │
│ │ \ / \|/ \ / │ │
│ │ O-O---O-O-O O │ │
│ └────────────────────┘ │
│ | │
│ v │
│ ┌───┐ ┌──────────┐ ┌───┐ │
│ | A | -> | Miroir | <- | B | │
│ └───┘ └──────────┘ └───┘ │
└────────────────────────────────┘

Suite à la visualisation des instances A et B, nous avons ajouté le serveur miroir au démonstrateur. Ce dernier synchronise régulièement les données des serveurs A et B dans une sorte de "cache" permettant de proposer une visualisation en réseau contenant les données du serveur A et du serveur B.

Le serveur mirroir est tout simplement un autre serveur SemApps que nous avons configuré pour se synchroniser avec les deux autres serveurs. Pour cela, il utilise le protocole Activity Pub.

Pour accéder à cette visualisation, rendez-vous sur la page de la Page du démonstrateur

Pour comprendre le fonctionnement technique de cette interface utilisateur, rendez-vous sur la page de la Visualisation

┌────────────────────────┐
│ Visualisation |
│ en réseau |
│------------------------│
│ ┌────────────────────┐ │
│ │ O---O---O O-O │ │
│ │ / / \ |/ \ │ │
│ │ O---O---O-O O O │ │
│ │ |\ / \|/ \ / │ │
│ │ O-O-O---O-O-O O │ │
│ │ \ / / |/ / │ │
│ │ O --O---O-O │ │
│ └────────────────────┘ │
└────────────────────────┘

Pour faciliter la visualisation des données de la cartographie Carto4CH, nous proposons comme prévu initialement, une représentation en réseau.

Cela permet de montrer l'avantage d'avoir des données interopérables en ayant une troisième interface utilisatrice qui accède aux mêmes données.

Dans un premier temps, nous allons effectuer une visualisation par instance Carto4CH.

On y retrouve les acteurs, les projets, les compétences, les postes, les contributions, les formations et les qualités, reliés entre eux par les relations prévues par l'ontologie HeCo.

Pour accéder à cette visualisation, rendez-vous sur la page de la Page du démonstrateur

Pour comprendre le fonctionnement technique de cette nouvelle interface, rendez-vous sur la page de la Visualisation

┌────────────────────────┐
│ / / HeCo V1.0 |
│-/ /--------------------│
│/ / │
│ / Version │
│/ Auteurs │
│ Résumé │
│ Graphe │
│ ┌────────────────────┐ │
│ │ O---O-----O O │ │
│ │ \ / |/ \ │ │
│ │ O ------O O │ │
│ └────────────────────┘ │
│ Classes... │
│ Propriétés... │
└────────────────────────┘

Pour faciliter la consultation de l'ontologie HeCo, nous avons ajouté un nouveau format de publication plus lisible pour les profils non technique.

En plus de l'ontologie en format OWL/TTL, du résumé, du schéma, et du document PDF, nous fournissons une interface HTML.

Nous avons utilisé le logiciel WIDOCO pour générer automatiquement cette interface à partir de notre fichier OWL.

WIDOCO devient de plus en plus un standard dans la livraison d'une ontolgie. On retrouve de plus en plus souvent ce format sur le web.

Elle décrit toutes les classes et les propriétés, en fournissant des liens pour naviguer plus facilement à l'intérieur du document.

WIDOCO créer deux sorties HTML, une en français et une en anglais.

Un Graph en réseau de l'ontologie est aussi présent et permet de visualiser l'ontologie avec le logiciel WebVOWL.

Pour profiter de cette nouvelle interface, rendez-vous sur la page de l'Ontologie HeCo

Besoin de ne voir que mes données personnelles

┌────────────────────────┐
│ MY-competences |
│------------------------│
│ ┌────────────────────┐ │
│ │ Mes postes │ │
│ │ Mes contributions │ │
│ │ Mes formations │ │
│ └────────────────────┘ │
└────────────────────────┘

Sur l'interface de My-compétences, il est possible de relier les compétences aux postes, aux contributions et aux formations.

L'objectif de My-compétence est que l'utilisateur ne voit que ses données personnelles et pas celles remplies par les autres comme dans le Back-office.

Donc nous avons filtré les listes de choix afin que chacun.e ne puisse créer des liens que vers les postes, contributions ou formations qu'ielle a créé.

Pour plus d'information, voir le manuel utilisateur de My-compétences

Utilisation d'un seul prédicat

┌───────────────────────┐       ┌────────────┐
│ Competences │ │ Discipline │
│-----------------------│ │------------│
│ id │ ┌──>│ uri │
│ titre │ │ │ titre │
│ description │ │ │ description│
│ heco:hasDiscipline │───┘ └────────────┘
│ xxxxxx │ ┌────────────┐
│ xxxxxx │ │ Poste │
│ xxxxxx │ │------------│
│ xxxxxx │ ┌──>│ uri │
│ xxxxxx │ │ │ titre │
│ xxxxxx │ │ │ description│
│ heco:isCompAcquiredIn │───┘? └────────────┘
└───────────────────────┘ │ ┌──────────────┐
│ │ Contribution │
│ │--------------│
└──>│ uri │
│ titre │
│ description │
└──────────────┘

Au niveau ontologie HeCo, nous avons souhaité n'utiliser qu'un seul prédicat (relation) entre une compétence et un poste / contribution / formation. Ainsi, le jour où nous ajouterons un nouvel objet, nous n'aurons pas à changer l'ontologie.

Pour permettre cela, nous avons dû ajouter une customisation côté serveur, afin qu'il fasse croire au client qu'il utilise un prédicat différent pour chaque objet, tout en conservant un seul prédicat en base.

Pour plus d'information sur HeCo, voir Ontologie HeCo