Skip to main content

┌────────────────────────────────────────────┐
│ 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 |
│-----------------------------------│
│ ___ ___ │
│ / \ ┌───\ / \ │
│ |\___/| | \ |\___/| │
│ | | <= | | => | | |
│ | | | | | │ |
│ \___/ └─────┘ \___/ |
│ |
└───────────────────────────────────┘

We have added a new "Maintenance" section, to explain how to maintain a Carto4CH server in production.

This includes :

  • access to the triplestore web interface
  • compacting the database
  • backing up triplestore data

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 │ |
│ └─────────────────┘ │
└────────────────────────────────┘

In order to prepare a presentation of the demonstrator to the European team of the 4CH project, we have, as initially planned, translated all the interfaces.

The back office and My-competences are now in English by default, with the option of switching to French in the top right-hand menu. The default language can be set when the server is deployed.

To understand the technical operation of this feature, visit the Internationalisation page.

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

Now that the demonstrator is up and running in version 1.0, we've been able to complete the technical documentation, to help developers understand how the demonstrator works, how to deploy their own server, etc.

We haven't added the links to the many development PADs (which are more detailed) so as not to pollute the documentation, but don't hesitate to ask us for access.

You can find all these technical details in the Technical documentation.

┌────────────────────────────────┐
│ General mapping |
│ Mirror server visualization |
│--------------------------------│
│ ┌────────────────────┐ │
│ │ O---O---O O-O │ │
│ │ / / \ |/ \ │ │
│ │ O---O---O-O O O │ │
│ │ \ / \|/ \ / │ │
│ │ O-O---O-O-O O │ │
│ └────────────────────┘ │
│ | │
│ v │
│ ┌───┐ ┌──────────┐ ┌───┐ │
│ | A | -> | Mirror | <- | B | │
│ └───┘ └──────────┘ └───┘ │
└────────────────────────────────┘

Following the visualisation of instances A and B, we added the mirror server to the demonstrator. This server regularly synchronises the data from servers A and B in a sort of "cache", making it possible to offer a network visualisation containing the data from server A and server B.

The mirror server is simply another SemApps server that we have configured to synchronise with the other two servers. To do this, it uses the Activity Pub protocol.

To access this visualisation, go to the Demonstrator Page.

To understand the technical operation of this user interface, go to the Visualisation.

┌────────────────────────┐
│ Visualisation |
│ in network |
│------------------------│
│ ┌────────────────────┐ │
│ │ O---O---O O-O │ │
│ │ / / \ |/ \ │ │
│ │ O---O---O-O O O │ │
│ │ |\ / \|/ \ / │ │
│ │ O-O-O---O-O-O O │ │
│ │ \ / / |/ / │ │
│ │ O --O---O-O │ │
│ └────────────────────┘ │
└────────────────────────┘

To facilitate the visualisation of Carto4CH mapping data, we are proposing a network representation, as initially planned.

This shows the advantage of having interoperable data by having a third user interface accessing the same data.

Firstly, we will carry out a visualisation by Carto4CH instance.

This shows the players, projects, skills, positions, contributions, training and qualities, linked together by the relationships provided for by the HeCoontology.

To access this visualisation, go to the Demonstrator page.

To understand the technical operation of this new interface, go to the Network visualisation.

┌────────────────────────┐
│ / / HeCo V1.0 |
│-/ /--------------------│
│/ / │
│ / Version │
│/ Authors │
│ Abstract │
│ Graph │
│ ┌────────────────────┐ │
│ │ O---O-----O O │ │
│ │ \ / |/ \ │ │
│ │ O ------O O │ │
│ └────────────────────┘ │
│ Classes... │
│ Properties... │
└────────────────────────┘

To make the HeCo ontology easier to consult, we have added a new more readable publication format for non-technical profiles.

In addition to the ontology in OWL/TTL format, the summary, the schema, and the PDF document, we provide an HTML interface.

We used WIDOCO to automatically generate this interface from our OWL file.

WIDOCO is increasingly becoming a standard in ontology delivery. This format is increasingly common on the web.

It describes all classes and properties, providing links for easier navigation within the document.

WIDOCO creates two HTML outputs, one in French and one in English.

A networked graph of the ontology is also available, enabling the ontology to be viewed using WebVOWL software.

To take advantage of this new interface, visit the HeCo Ontology.

Need to see only my personal data

┌────────────────────────┐
│ MY-competences |
│------------------------│
│ ┌────────────────────┐ │
│ │ My jobs │ │
│ │ My commitments │ │
│ │ My trainings │ │
│ └────────────────────┘ │
└────────────────────────┘

On the My-competences interface, it is possible to link skills to positions, contributions and training.

The aim of My-skills is for users to see only their personal details and not those filled in by others, as in the back office.

We have therefore filtered the choice lists so that each user can only create links to the posts, contributions or training courses that they have created.

For more information, see the My-competences user manual.

Use of a single predicate

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

At the HeCo ontology level, we wanted to use just one predicate (relationship) between a skill and a position / contribution / training. This way, the day we add a new object, we won't have to change the ontology.

To enable this, we had to add a customisation on the server side, so that it would make the client believe that it was using a different predicate for each object, while keeping a single predicate in the base.

For more information about HeCo, follow Ontologie HeCo