Section Bibliothèques
La section Bibliothèques vous permet de développer une bibliothèque partagée en local et de la voir dans les micros qui la consomment, sans la publier dans un registre. Aseptic construit son artefact et le lie à chaque consommateur. Elle prend en charge les bibliothèques npm, Maven, Gradle et Python.
C’est une section avec un pattern liste + détail (comme Micros) : sur le côté, le catalogue de bibliothèques ; au centre, le détail éditable de celle sélectionnée.
Ce que « lier » veut dire
Section intitulée « Ce que « lier » veut dire »Cela dépend de la technologie, car chaque écosystème résout ses dépendances à un endroit différent. Vous ne choisissez pas le mécanisme : Aseptic le déduit de ce qu’est la bibliothèque.
| Technologie | Où atterrit l’artefact | Ce que délier défait |
|---|---|---|
| npm | copié sur le node_modules/<paquet> du consommateur | supprime la copie et restaure le dossier d’origine |
| Maven et Gradle | le dépôt local (~/.m2), d’où résolvent tous les consommateurs | supprime cette version du dépôt local (Maven la retélécharge depuis le distant) |
| Python | la roue (.whl), installée dans l’environnement virtuel de chaque consommateur | la désinstalle et réinstalle la version qui s’y trouvait avant |
Dans les trois cas c’est réversible : chaque lien laisse une marque, et délier ne défait que ce que Aseptic a posé. Un artefact déjà présent — une version téléchargée du registre — n’est jamais touché.
Ajouter une bibliothèque
Section intitulée « Ajouter une bibliothèque »Depuis le bouton d’ajout (barre supérieure) —également proposé dans le fond vide de la section quand il n’y en a pas encore— :
- Ajouter une bibliothèque — vous choisissez le dossier du dépôt. Dès que vous le faites, Aseptic vous montre ce qu’il a reconnu avant d’ajouter quoi que ce soit : la technologie, le nom du paquet, la version et quels micros du catalogue le déclarent déjà. Si le dossier n’est pas une bibliothèque qu’il sait construire, il le dit là et ne laisse pas continuer.
- Importer depuis Git — clone le dépôt et l’ajoute. Ici il n’y a pas d’aperçu : il n’y a rien sur le disque à regarder tant que le clonage n’est pas fait.
La technologie se déduit du dépôt : pom.xml → Maven, build.gradle → Gradle,
package.json avec name → npm, pyproject.toml/setup.py → Python. Le paquet est
le nom tel que l’écrirait celui qui la consomme : le name du package.json,
groupId:artifactId en JVM, le nom de distribution en Python.
Le détail d’une bibliothèque
Section intitulée « Le détail d’une bibliothèque »Identité et recette de build. Elle s’enregistre toute seule (autosave avec un léger délai, comme dans Micros ; ça peut être désactivé dans Paramètres) :
-
Nom et Paquet.
-
Technologie — celle déduite à l’ajout. Vous pouvez la changer si elle s’est trompée.
-
Build — la commande qui construit l’artefact et le chemin de l’artefact. Si vous ne les déclarez pas, ceux du profil de sa technologie sont utilisés :
Technologie Build par défaut Chemin de l’artefact npm npm run builddist/<dernier segment du paquet>Maven ${mvn} install -DskipTeststargetGradle ${gradle} publishToMavenLocal -x testbuild/libsPython python -m build --wheeldist -
Consommateurs — les micros qui utilisent la bibliothèque. Par défaut, ils sont détectés tout seuls en lisant qui déclare ce paquet (
package.json,pom.xml,build.gradle,requirements.txt,pyproject.toml) ; vous pouvez les fixer à la main (ids de micros séparés par des virgules). -
Surveiller les changements — reconstruit et relie automatiquement à chaque modification du code.
${mvn} et ${gradle} sont remplacés par l’exécutable du dépôt : son wrapper (mvnw,
gradlew) s’il en fournit un, le global sinon. Ainsi la recette vaut pareil sur toutes
les machines de l’équipe.
État et actions
Section intitulée « État et actions »Par bibliothèque :
| Action | Ce qu’elle fait |
|---|---|
| Installer | Installe les dépendances de la bibliothèque dans son dépôt (le build le fait tout seul si elles manquent). |
| Construire | Génère l’artefact. |
| Lier | Construit et pose l’artefact là où chaque consommateur le résout (voir le tableau ci-dessus). |
| Délier | Défait le lien chez chaque consommateur et restaure ce qu’il y avait avant. |
| Surveiller | Fait construire + lier à chaud à chaque changement. Nécessite le moteur actif. |
L’état de chaque bibliothèque (construite / non construite, liée dans N consommateurs, en surveillance) est affiché dans la liste et dans le détail.
En surveillance, Aseptic ignore ce qu’écrit le build lui-même — node_modules,
target, build/, l’environnement virtuel et les caches — pour ne pas entrer dans une
boucle de reconstruction sans fin.
Un avertissement sur Maven et Gradle
Section intitulée « Un avertissement sur Maven et Gradle »En JVM, l’artefact ne vit pas dans le dépôt du consommateur, mais dans votre dépôt local. Cela a deux conséquences :
- Le lien vaut pour tous les micros à la fois, qu’ils soient ou non dans le scénario.
- Si votre bibliothèque ne laisse pas résoudre sa version depuis le dépôt (un
pom.xmlqui en hérite via${revision}, ungroupcalculé dans un script Gradle), le lien vous le dira. Cela se règle en déclarant la version dans le YAML de la bibliothèque (stack.version).
Dépôt (Git)
Section intitulée « Dépôt (Git) »Comme dans Micros, le détail d’une bibliothèque inclut son Git : changer de branche,
faire fetch et pull (--ff-only). L’accès est en lecture seule (ne fait jamais de
push), et s’il y a des changements non validés, Aseptic prévient avant de changer de
branche ou de mettre à jour.
Si le dépôt n’est pas sur le disque
Section intitulée « Si le dépôt n’est pas sur le disque »Si le dossier d’une bibliothèque a été déplacé, le détail le marque et propose de relocaliser : vous choisissez le nouveau dossier et le chemin est enregistré.
Non invasif
Section intitulée « Non invasif »Aseptic ne modifie pas le dépôt du consommateur ni celui de la bibliothèque : il ne
touche ni leur package.json, ni leur pom.xml, ni leur requirements.txt. Ce qu’il
touche, c’est ce qui vit hors de Git — node_modules, le dépôt local, l’environnement
virtuel — et toujours avec une marque pour pouvoir revenir en arrière.
En npm, une exception à connaître : un npm install chez le consommateur écrase son
node_modules et emporte le lien avec lui. Aseptic le détecte et relie à la fin.
Avec Maven et Gradle cela n’arrive pas, car l’artefact ne vit pas là.
Supprimer une bibliothèque du catalogue ne la délie pas : si elle était liée, déliez-la d’abord depuis le détail.
Depuis le CLI et le MCP
Section intitulée « Depuis le CLI et le MCP »aseptic library detect/list/status/build/link/unlink/watch. Les lectures
seules (library_detect, library_list, library_status) sont aussi disponibles comme
outils du MCP.