Conception technique
Méthodologie et limites de sécurité
La mise en œuvre privilégie la provenance des données, une mutation minimale, une incertitude explicite et une vérification reproductible plutôt qu'une conversion uniquement pratique.
1. Identification des entrées
L'analyseur ne s'appuie pas exclusivement sur le nom du fichier. Il vérifie les signatures ZIP, OLE, JSON, XML et texte, puis inspecte les membres du package, le cas échéant. La normalisation des chemins rejette les chemins absolus, les barres obliques inverses, les composants de traversée, les noms normalisés en double, le cryptage, la compression non prise en charge, les archives multidisques, ZIP64, le nombre d'entrées excessif, la taille étendue excessive et les taux de compression suspects.
2. Lecture redondante
Texte délimité
Une machine à états orientée octet enregistre la plage de valeurs brutes de chaque champ tout en respectant les délimiteurs entre guillemets, les guillemets échappés et les fins de ligne intégrées. Une machine à états de chaîne décodée distincte analyse la même entrée. Leurs matrices sont comparées avant que la sortie préservant les octets ne soit autorisée.
OOXML
Le lecteur de package résout les relations entre les classeurs et les feuilles de calcul, les chaînes partagées, les styles, les systèmes de date et les inventaires de contenu. Chaque feuille de calcul sélectionnée est analysée une fois via les API XML DOM du navigateur et de nouveau via un scanner de cellules XML brut. Les valeurs, le texte de la formule et les types de stockage sont rapprochés.
3. Correspondance gène-symbole
Les enregistrements de référence sont indexés par symbole approuvé, symboles précédents, alias et identifiants stables. La correspondance est classée plutôt que aplatie en un seul remplacement :
- correspondance exacte approuvée ;
- symbole approuvé avec différence de majuscules ;
- correspondance de symbole précédent unique ou ambiguë ;
- correspondance d'alias unique ou ambiguë ;
- correspondance de récupération de date unique ou ambiguë ;
- entrée inégalée.
Seuls les mappages pris en charge sans ambiguïté sont éligibles pour une recommandation par défaut. Les mappages d'alias sont désactivés par défaut car les alias ont souvent une sémantique plus faible que les symboles précédents.
4. Classification des risques Excel
Les règles de protection fonctionnent sur la chaîne d'origine plutôt que sur un numéro JavaScript lorsque cela est possible. Ils détectent les zéros non significatifs, les entiers longs, les modèles de notation scientifique, les formes mois/date/heure, les préfixes de formule, le placement problématique des virgules, les espaces de limite, les modèles de guillemets, les caractères de contrôle et l'ancienne limite de longueur de formule Excel.
5. Chemins de sortie
| Source | Écrivain préféré | Vérification |
|---|---|---|
| UTF-8 CSV/TSV/TXT | Remplacement de l'étendue d'octets brute pour les champs approuvés | Accord du lecteur et octets inchangés en dehors des périodes de correctifs |
| XLSX/XLSM | Remplacement des cellules XML de la feuille de calcul dans le package existant | Rouvrez la sortie, confirmez les cellules modifiées, comparez chaque partie du package non modifiée et non compressée et comparez les octets de macro |
| JSON/ODS ou texte non préservable en octets | Nouveau XLSX minimal utilisant du texte explicite et des cellules numériques conservatrices | Relecture du package et manifeste de modification ; étiqueté comme une conversion plutôt que comme une préservation de la source |
| Numériser uniquement | Aucune sortie de données | Package d'audit avec inventaire, résultats, avertissements et métadonnées de rapprochement |
6. Cas bloqués ou contraints
- Les fichiers ZIP/OOXML cryptés sont bloqués.
- Les classeurs OOXML signés peuvent être inspectés mais ne sont pas modifiés.
- Les cellules de formule ne sont pas automatiquement remplacées.
- Les anciens fichiers OLE XLS nécessitent une conversion dans un tableur fiable avant d'être traités.
- Les encodages XML non pris en charge et les relations mal formées échouent.
- Seule la feuille de calcul sélectionnée est exportée pour les formats matriciels dans cette version statique initiale.
- La référence par défaut HGNC est volontairement compacte ; la migration de symboles à grande échelle doit utiliser un fichier HGNC complet chargé localement.
7. Artefacts de reproductibilité
L'audit ZIP comprend un manifeste JSON lisible par machine, des ensembles de modifications CSV et JSON, des avertissements et la sortie principale lorsqu'elle existe. Le manifeste enregistre le hachage d'entrée, le hachage de sortie, la version de l'application, le flux de travail, la version de référence, les noms des lecteurs, l'état de réconciliation, le nombre de modifications, le nombre d'ambiguïtés non résolues et le résultat de la vérification.
