Dépendances PoC TAMIS
Premier point et pour rappel, pour ceux qui souhaitent installer la stack complète de l'application en local, JB a mis à disposition deux guides rapides pour mettre en place un client + serveur : * [Client](https://git.startinblox.com/applications/tamis-poc/-/snippets/16) * [Serveur](https://git.startinblox.com/applications/tamis-poc/-/snippets/17) Les principaux dépôts de code consommés par le POC v1 sont les suivants :\ \ Côté serveur: * [Le framework](https://git.startinblox.com/djangoldp-packages/djangoldp), côté serveur * [Le paquet server spécifique TAMIS](https://git.startinblox.com/djangoldp-packages/djangoldp-tamis) * Le paquet qui sert pour [la gestion des utilisateurs](https://git.startinblox.com/djangoldp-packages/djangoldp-account) * Le paquet qui sert pour [l'authentification OIDC](https://git.startinblox.com/djangoldp-packages/django-webidoidc-provider) * Le paquet qui sert [les tableaux de bord](https://git.startinblox.com/djangoldp-packages/djangoldp-dashboard) Côté client: * [La base Orbit](https://git.startinblox.com/applications/hubl), qui sert de plateforme partagée pour assembler les webcomponents : * [Le framework](https://git.startinblox.com/framework/sib-core) côté client * [Les webcomponents TAMIS](https://git.startinblox.com/components/solid-tamis) * Le webcomponent partagé qui sert [de base au tableau de bord](https://git.startinblox.com/components/solid-dashboard) \ Pour ce qui est d'Orbit, le template générique de nos applications, il a pour dépendances principales pour son fonctionnement [Vite](https://vite.dev/), [Lit](https://lit.dev/), [Handlebars](https://handlebarsjs.com/) (through a Vite plugin though) et notre [Orbit-styling-framework](https://git.startinblox.com/components/orbit-styling-framework/). Ensuite cela dépend de la configuration appliquée.\ \ De manière générale, pour retrouver la liste des dépendances d'un de nos projets, il faut croiser le contenu de [la configuration du projet](https://git.startinblox.com/applications/tamis-poc/-/snippets/16) et [le modèle de chargement des composants d'Orbit](https://git.startinblox.com/applications/hubl/-/blob/master/vite/default.npm.json?ref_type=heads). Ce qui permet pour chacun des composants présents de retrouver l'URL du package publié sur NPM (l'entrée dans le tableau, par exemple @startinblox/core, préfixé de https://npmjs.com, ce qui donne [https://npmjs.com/@<wbr>startinblox/core](https://npmjs.com/@startinblox/core). Via NPM, on peut retrouver le lien vers le repository associé et également la liste des dépendances. ### Le détail des principales: Les 3 premiers composants présentés dans le default.npm.json (@startinblox/core, @startinblox/router et @startinblox/oidc) sont chargés quel que soit la configuration de l'application. Leur détail: * [@startinblox/core](https://git.startinblox.com/framework/sib-core): le framework, qui dépend principalement des librairies [vite](https://vite.dev/), [jsonld](https://github.com/digitalbazaar/jsonld.js), [Lit](https://lit.dev/), [jsonld-context-parser](https://www.npmjs.com/package/jsonld-context-parser) et d'autres helpers plus spécifiques. [Liste complète de ses dépendances ici](https://www.npmjs.com/package/@startinblox/core?activeTab=dependencies) * [@startinblox/oidc](https://git.startinblox.com/framework/sib-auth/): notre composant d'authentification, qui lui dépend  du [core](https://git.startinblox.com/framework/sib-core) et de [solid-client-authn-browser](https://www.npmjs.com/package/@inrupt/solid-client-authn-browser), la librairie d'Inrupt compatible solid-oidc. [Liste complète des dépendances ici](https://www.npmjs.com/package/@startinblox/oidc?activeTab=dependencies) * [@startinblox/router](https://git.startinblox.com/framework/sib-router/): notre composant de router, qui lui dépend essentiellement du [core](https://git.startinblox.com/framework/sib-core). [Liste complète des dépendances ici](https://www.npmjs.com/package/@startinblox/router?activeTab=dependencies) Pour ce qui est des composants spécifiques TAMIS, si on part donc de [la configuration disponible ici](https://git.startinblox.com/applications/tamis-poc/-/snippets/16)\ \ On peut voir qu'elle charge en particulier les composants: * Tamis-profile * Tamis-prestations * Tamis-asset Ces 3 composants font partie de la même librairie Tamis accessible via CDN à l'URL [https://cdn.jsdelivr.net/npm/@<wbr>startinblox/component-tamis](https://cdn.jsdelivr.net/npm/@startinblox/component-tamis).\ Cette librairie est publiée [sur NPM, ici](https://www.npmjs.com/@startinblox/component-tamis).\ La liste de ses dépendances [est également accessible](https://www.npmjs.com/package/@startinblox/component-tamis?activeTab=dependencies)\ \ Voilà. Ce n'est effectivement pas trivial mais si je simplifie, depuis le front il s'agit surtout de retrouver l'URL du paquet sur NPM et depuis celle-ci on peut remonter beaucoup d'informations.
issue