Closed ymlesaux closed 1 year ago
proposition en complément "accès à la fonction "
L'appel de l'API devra suivre une notation Google en se référant aux recommandations définies sur le site de chez Octo. La recherche globale inclue le principe de recherche approchante. Sur le site il est proposé de définir la recherche à la racine de l'API (/canel/api/v1/search?q=). Cela a du sens si on envisage de réaliser une recherche sur l'ensemble du modèle mais pas nécessairement sur l'ensemble des attributs de données.
exemple d'appel : L'ensemble des applications qui contient le mot titre dans la description ou le nom de l'application (avec une limite du nombre d'occurrence renvoyé)
GET /canel/api/v1/search?q=titre&limit=10
Question ❓ : "La notion d'usage peut être décrite par des objets Capacité (non décrits aujourd'hui). Le champ de la recherche sera étendue à ces objets lorsqu'ils seront implémentés." :
A quoi correspond la notion de capacité ?
Forme d'appel possible ? : GET /canel/api/v1/applications/search?q=titre&limit=10
Notion de capacité: Définition issue de https://blog.obeosoft.com/capacites: Les capacités métiers définissent les aptitudes qu’une organisation doit posséder / utiliser pour réaliser son activité. Elles regroupent de manière macroscopique les acteurs, les actifs et les modes opératoires. Ce qui permet d’avoir un objet ‘pivot’ permettant la discussion avec le plus grand nombre. Selon les préoccupations chacun va trouver dans une capacité métier la partie qui le concerne. Elle représente naturellement la base des discussion d’architecture d’entreprise. Leur modification, création ou conservation construisant la trajectoire de transformation.
La distinction entre une capacité et une fonction métier peut être assez subtile. Si l'on rajoute les grandes fonctions décrites par des zones d'urbanisme, c'est encore plus le bazar.
Dans ma vision cible, nous pouvons utiliser les capacités à deux fins: décrire les fonctions métiers soutenues par une application (plus grossier que les fonctionnalités), mais aussi fournir une grille de répartition des SI alternative au plan d'occupation du sol (POS) de l'urbanisme (qui est tordu par des contraintes d'organisation).
Forme d'appel possible ? : GET /canel/api/v1/applications/search?q=titre&limit=10
Tu peux avoir ce format si on considère que la recherche est liée aux attributs de l'application et leurs liens. J'entends par liens les entités rattachées à l'application (acteurs, flux, etc.)
:information_source: et proposition : il est possible de réaliser des recherches floues/approchantes/globales depuis postgresql (levenshtein) si on ne veut pas instancier dans un premier temps de solution de type elasticsearch.
solution à tester :
[à compléter]
Implémentation lancée
Recherche floue d'applications via API
Besoin global
Nous devons disposer d'un moyen de rechercher des objets Applications dans CANEL2 avec une recherche peu structurée. L'enjeu est d'identifier des moyens soutenant des usages.
Première cible
La première réponse à ce besoin est de disposer d'une recherche lexicale dans les noms et descriptions des applications. La formulation de la recherche est une suite de mots ou d'expressions. Une expression est une suite de mots encadrée par des guillemets.
Accès à la fonction
La recherche sera accessible via API. Elle retournera une liste d'applications sur le même principe que l'appel de l'API via "/canel/api/v1/applications/".
Evolutions