Éditions et modules IsoFind

Cette page remplace le plan des cinq éditions verticales. Découper le produit en cinq binaires spécialisés a été abandonné : le périmètre d'un utilisateur ne se devine pas à son métier, et cinq installeurs à maintenir pour une seule base de code coutent plus qu'ils ne rapportent. IsoFind est désormais distribué en deux binaires, et c'est la licence qui décide de ce qui s'ouvre.

IsoFind couvre un spectre large, de l'hydrogéochimie aux traceurs environnementaux, de la géologie pétrolière à la traçabilité des matières premières. Personne n'utilise tout. Plutôt que de figer des découpages métier dans des versions séparées, le logiciel est bâti autour d'un catalogue de modules : le binaire les embarque, la licence les ouvre, et l'interface s'ajuste à ce qui est réellement disponible.

Deux binaires

Un seul dépôt, un seul code, deux profils de construction. Ce sont les deux seuls profils qui produisent un exécutable ; tout le reste du fichier editions.toml décrit des modules et des offres, pas des logiciels.

Binaire Ce qu'il embarque Public visé
IsoFind Pro Tout le catalogue est compilé dans le binaire. Ce qui s'ouvre dépend ensuite de la licence. Bureaux d'études, laboratoires de référence, industriels
IsoFind Essential Périmètre réduit compilé en dur. Les modules absents ne sont pas dans le binaire, aucune licence ne peut les ouvrir. Enseignement, évaluation, postes à usage restreint
La différence entre les deux est réelle et pas seulement commerciale. Sur Essential, un module écarté ne se contente pas d'être fermé : son code Python n'est pas dans l'exécutable et ses pages ne sont pas servies. Le poste est plus léger, et la surface exposée plus petite, ce qui compte sur une installation isolée du réseau.

Ce qu'est un module

Un module est l'unité du catalogue. Il déclare ce qu'il apporte : ses modules Python, ses paquets tiers, ses dossiers de données et ses pages. Le catalogue en compte une soixantaine, et un manifeste gravé au moment de la construction fixe ce que le binaire embarque.

À l'exécution, ce manifeste fait autorité des deux côtés. Le serveur refuse la route d'une page dont le module n'est pas ouvert, et l'interface retire l'entrée correspondante de la barre latérale. Les deux vérifications sont indépendantes : la seconde rend l'interface honnête, la première rend la fermeture effective.

Ce qu'un module déclare Effet
Modules PythonCompilés dans le binaire ou explicitement écartés à la construction.
Paquets tiersEmbarqués seulement si un module ouvert en dépend.
Dossiers de donnéesBases de référence, gabarits, ressources propres au module.
PagesGabarits servis par le serveur. Une page dont le module est fermé rend une erreur 404.

Ce que la licence ouvre

Sur Pro, tout est compilé mais rien n'est ouvert d'office au-delà de ce que l'édition accorde. Le fichier de licence porte une liste de modules ; absente, elle n'ouvre rien. Cette liste est ensuite recoupée avec ce que le binaire embarque réellement : une ligne ajoutée à la main dans le fichier n'ouvre au mieux qu'un menu vers du code absent, et le serveur refuse la route de toute façon.

Le principe est celui du refus par défaut. Un manifeste qui ne dit pas ce qu'il embarque n'ouvre rien, plutôt que de tout ouvrir ; une liste vide reste une liste et fait autorité. Chaque cas ambigu se résout dans le sens de la fermeture.

Les offres

Les modules ne se vendent pas à l'unité. Ils sont réunis en offres, qui sont des listes de modules portées par la licence. Une offre n'est pas un logiciel : elle ne se télécharge pas, elle s'ajoute à une licence existante.

Offre Domaine Statut
IsoStrataForages, couches stratigraphiques, écoulement en milieu vadose et saturéDisponible
IsoPetrusGéochimie pétrolière, HAP, BTEX, biomarqueursDisponible
IsoSupplyChaînes d'approvisionnement, attribution d'origine des matières premièresDisponible
IsoStreamSuivi de flux et surveillance temporellePrévu
IsoDefUsages de défense et forensiquePrévu

Les offres marquées comme prévues peuvent figurer sur une licence émise par anticipation. C'est un geste légitime, mais il se fait en le sachant : tant que les modules correspondants ne sont pas au catalogue, la licence les nomme sans rien ouvrir.

Voir ce qui est ouvert sur votre poste

Édition Préférences Modules

Cette section n'apparait que si votre licence ou un complément installé ouvre des modules au-delà de ceux de votre édition. Les modules y sont groupés par l'offre qui les a ouverts, et chaque groupe comme chaque module porte un interrupteur qui montre ou masque ses pages dans la barre latérale.

Une offre ne fait groupe que si elle est entièrement ouverte. Les modules qu'aucune offre ouverte ne réclame sont rangés sous le complément qui les apporte, ou sous « À la carte » : une licence peut nommer des modules sans passer par une offre, et le dire vaut mieux que de les rattacher de force à une offre que vous n'avez pas achetée.

Ces interrupteurs masquent des pages, ils ne ferment pas les modules. Les routes restent servies, et la page ouverte n'est jamais masquée. Ce qu'un module accorde est décidé au démarrage sur la licence, et aucun réglage d'interface ne peut le contredire.

Voir aussi la configuration des préférences pour le détail de cette fenêtre, et la section Diagnostic qui dresse l'état des dépendances du poste.

Les compléments

Tout le catalogue est compilé dans Pro, mais cela ne tiendra pas indéfiniment. Certains modules sont lourds, d'autres sensibles, et il n'y a pas de raison de les embarquer chez tout le monde. Ceux-là seront distribués séparément, sous forme de compléments installables.

Point Fonctionnement
DescripteurUn fichier déclare l'identifiant du complément, sa version, les modules qu'il apporte, ses pages et ses contributions.
SignatureMême infrastructure de clés que les extensions, et elle couvre les fichiers, pas seulement le descripteur.
LicenceUn complément installé n'ouvre rien de plus par lui-même : il faut que la licence nomme ses modules.
ChargementIndépendant de l'ordre : un complément ne dépend jamais du moment où il est chargé par rapport aux autres.
Calcul lourdUn complément peut apporter son propre processus de calcul, lancé et relayé par le serveur d'IsoFind.

Le premier complément prévu est Kinos, le moteur de transport isotopique réactif. C'est l'exemple type de ce qui ne doit pas être embarqué par défaut : lourd, spécialisé, et utile à une minorité d'installations.

Aucun complément n'est distribué à ce jour. Le mécanisme est en place et éprouvé, mais le catalogue reste entièrement compilé dans Pro tant qu'aucun module ne justifie d'en sortir.

Le format ISOF ne dépend pas de tout cela

Un fichier ISOF s'ouvre en lecture quels que soient le binaire et les modules du poste qui l'ouvre. Les données qu'un module fermé aurait servi à interpréter restent dans le fichier et restent lisibles ; c'est l'outil d'interprétation qui manque, pas la donnée.

Situation Comportement
ISOF signé ouvert sur un poste sans certificat de laboratoireLecture complète, signature vérifiée et affichée. Signer exige un certificat, vérifier non.
ISOF portant une simulation, ouvert sans le module correspondantÉchantillons et mesures lus normalement, le volume de simulation est signalé et non rendu.
ISOF produit par Pro, ouvert dans EssentialLecture complète. Les vues absentes sont signalées avec leur motif plutôt que masquées.
Export depuis un poste au périmètre réduitCe qui n'a pas été produit n'est pas écrit. Le fichier reste valide, il est seulement moins riche.

Ce qui ne dépend d'aucune édition

Les garanties du produit ne se négocient pas par module. Elles valent partout, y compris sur un poste au périmètre le plus réduit.

  • Fonctionnement hors ligne : aucune édition ne demande de connexion Internet pour fonctionner.
  • Souveraineté des données : les fichiers restent sur le poste, rien n'est remonté.
  • Licences vérifiées localement, sans appel réseau.
  • Format ISOF commun, portable entre binaires et entre versions majeures.
  • Bibliothèque Python isof publiée sur PyPI : lecture et vérification disponibles en source ouverte, indépendamment de toute licence.

Feuille de route

Les jalons ci-dessous sont indicatifs et non contractuels. L'ordre dépend des retours d'usage plus que d'un calendrier.

Sujet Jalon Contenu
IsoFind Pro et EssentialDistribuésLes deux binaires, catalogue complet côté Pro
Offres IsoStream et IsoDefCourt à moyen termeModules à écrire, licences déjà émissibles
Premier complémentMoyen termeKinos, moteur de transport isotopique réactif
Compléments tiersNon planifiéLe mécanisme le permet, la question de la signature par un tiers reste ouverte

Contribuer

Un besoin métier qui ne tombe dans aucune offre est un signal utile. Le découpage en modules n'est pas figé, et une offre se compose de listes plutôt que de code : ajouter un regroupement coute peu, à condition que la demande soit claire et que la séparation des modules tienne.

Les canaux habituels restent ouverts : formulaire de contact du site, adresses publiées, et le dépôt public pour les aspects techniques.

Pour aller plus loin