Skip to content
DOI: 10.5281/zenodo.20376869 octobre 22, 2025

PhytoNote : application offline-first pour la spectrophotométrie UV validée en phytochimie

Saliha BOUAOUDA*

Abstract

PhytoNote arrive d'un constat de paillasse : la plupart des outils de saisie UV sont des feuilles Excel, et ils craquent dès qu'on perd la connexion ou qu'on porte des gants. Je l'ai codé en Flutter, offline d'abord, avec des boutons d'au moins 72 dp pour qu'on les touche sans se déganter. Huit essais sont intégrés. DPPH, ABTS, FRAP. CAT pour la catalase. TPC et TFC pour le total des polyphénols et flavonoïdes. ANTIBAC et ANTIINF en série, sur plaques 96 puits. La calibration tourne en direct, les indicateurs visuels signalent les points qui sortent du modèle, et le calcul d'IC50 par régression se fait sur place. Le catalogue éditable (plantes, extraits, standards, bactéries, enzymes) permet de garder les conventions du labo sans réécrire à chaque essai. L'export est un classeur Excel multi-feuilles avec les données brutes et la calibration. C'est volontaire : si une décision réglementaire ou un reviewer tombe dessus, tout est traçable.
AntibactérienAntifongiqueAntioxydant

1 Introduction

Sur un spectrophotomètre UV mono-mesure, en conditions de labo sans réseau, avec des gants nitrile, le cycle classique ressemble à ça. On lit l'absorbance. On note sur papier. On transcrit dans Excel des semaines plus tard, et on s'aperçoit qu'un point sort à 4,2 DO (saturé, donc faux) alors que la manip a été faite trois semaines avant et que les tubes sont depuis longtemps à la poubelle. Cette boucle silencieuse coûte du temps, de l'extrait, et parfois des publications. PhytoNote remplace cette chaîne par une saisie immédiate avec validation visuelle en 200 ms. Si le tube sort de la plage acceptable, l'application le signale en rouge tant que la cuvette est encore préparée. On refait, on garde, on avance. Le besoin n'est pas exotique. Les essais UV de routine en phytochimie (DPPH, ABTS, FRAP, Folin-Ciocalteu, chlorure d'aluminium, microdilution antibactérienne) sont parmi les manipulations les plus courantes dans tout laboratoire travaillant sur les extraits végétaux. La friction est ailleurs : transcrire correctement les valeurs, détecter assez tôt qu'une calibration sort des clous, et garder une trace exploitable plusieurs mois après. PhytoNote vise spécifiquement ces trois points.

2 Materials & Methods

PhytoNote est une application Flutter 3.5 / Dart 3.5, conçue pour fonctionner 100 % hors-ligne. Le stockage est entièrement local via SQLite (package sqflite). Aucun appel réseau ne quitte l'appareil pour les opérations cœur : saisie, validation, calcul d'IC50, export Excel. Plateformes cibles : Android (APK split arm64-v8a, armeabi-v7a, x86_64) et Linux desktop (paquet .deb Ubuntu 22.04+ / Debian 11+). Empreinte d'environ 8 MB par binaire. Les builds Windows et macOS sont prévus dans l'infrastructure mais ne sont pas encore distribués. Le modèle de données est volontairement minimal :
Catalogue (plantes, extraits, standards, bactéries, enzymes)
   ↓
Calibration (courbe étalon pour un couple test/standard/lot)
   ↓
Session (mesures, validation live, calculs)
   ↓
Measurement (1 DO + statut 🟢🟡🔴)
Les enregistrements supprimés sont archivés via un flag is_archived plutôt que purgés, ce qui préserve la traçabilité de l'historique pour audit.

Les huit essais intégrés

SigleMesureStandardλ (nm)Sortie
DPPHActivité antioxydante (réduction du radical)Acide ascorbique / Trolox517IC50 (µg/mL)
ABTSActivité antioxydante (cation radical)Trolox / Acide ascorbique734IC50 (µg/mL)
FRAPPouvoir réducteur Fe³⁺ → Fe²⁺Acide ascorbique700mg AAeq/mL
CAT (TAC)Capacité antioxydante totale (molybdène)BHT / AA / Trolox695mg STDeq/mL
TPCPolyphénols totaux (Folin-Ciocalteu)Acide gallique765mg GAE/mL
TFCFlavonoïdes totaux (AlCl₃)Quercétine415mg QUEeq/mL
ANTIBACCMI / CMB en microdilution (CLSI M07-A11)Ciprofloxacine / Gentamicine600 nm ou résazurine visuelleµL/mL
ANTIINFDénaturation BSADiclofénac / ASA / Indométhacine660IC50 (µg/mL)
ANTIBAC tourne en plaque 96 puits avec disposition fixe : 8 dilutions extrait sur 8 réplicats, plus des contrôles T+ (croissance) et T− (stérilité) qui doivent valider visuellement avant que la manip soit acceptée. Les sept autres essais tournent en cuvettes 1 mL, sur un spectrophotomètre UV mono-mesure. Pour les essais à inhibition (DPPH, ABTS, ANTIINF), un contrôle est saisi en début de session ; sa DO attendue est paramétrée par défaut mais modifiable selon le lot de réactif.

3 Results & Discussion

Validation en direct

Chaque DO saisie est évaluée immédiatement contre la plage physique acceptable (0 à 4 DO), les seuils de saturation (au-delà de 3,5), et l'écart au contrôle attendu pour les essais à inhibition :
  • 🟢 Vert : DO comprise entre 0,1 et 3,5, sans avertissement contextuel.
  • 🟡 Jaune : DO égale à 0 (lecture suspecte), proche de la saturation, ou écart au contrôle entre 0,05 et 0,15.
  • 🔴 Rouge : DO physiquement impossible (inférieure à 0 ou supérieure à 4), ou écart au contrôle au-delà de 0,15.
Pas de bouton « OK » à presser. La valeur est commit dès la saisie ; la couleur change en moins de 200 ms. C'est ce délai qui rend la correction possible : le tube est encore en main, le pipetage peut être refait avant que la cuvette ne soit rincée.

Régression et IC50

Régression linéaire par moindres carrés ordinaires. Critère de linéarité affiché en direct : R² supérieur ou égal à 0,97. Pour les essais à inhibition (DPPH, ABTS, ANTIINF) :
IC50 = (50 − intercept) / slope
Pour les essais à absorbance directe (FRAP, CAT, TPC, TFC) :
équivalent = (DO − intercept) / slope
Pas de modèle non-linéaire (4-PL, log-logistique) à ce jour. C'est un choix assumé : la régression linéaire reste interprétable visuellement et suffit pour la plage de concentrations utilisée par défaut. Les essais à inhibition génèrent leur plan d'acquisition automatiquement : 8 dilutions divisées par 2 à partir de 1000 µg/mL pour DPPH et ABTS, à partir de 200 µg/mL pour ANTIINF. Les essais à absorbance directe ont leurs concentrations calées différemment selon la nature de l'extrait : 8 dilutions /2 depuis 1 mg/mL pour les extraits réguliers, depuis 100 mg/mL pour les huiles essentielles dans FRAP. TAC, TPC et TFC sont des essais mono-point à concentration fixe.

Bandeau de résultats en direct

Sous la barre d'application, un bandeau actualise les statistiques clés à chaque saisie : IC50 ou équivalent en mg standard/mL, coefficient de détermination R², avertissements éventuels (calibration manquante, contrôle hors plage, points exclus). L'utilisateur n'a pas besoin d'attendre la fin de la session pour voir si sa courbe est exploitable.

4 Discussion & Conclusion

Catalogue éditable et reproductibilité

Cinq entités sont gérées dans le catalogue local : plantes, extraits, standards, bactéries, enzymes. Au démarrage, le catalogue est vide. L'utilisateur importe des Starter Packs JSON (solvants courants, standards antioxydants, panel antibactérien CLSI) ou crée ses entrées manuellement, avec un code anonyme optionnel et des métadonnées arbitraires. Chaque session enregistre un snapshot immuable du code de la plante et du nom de l'extrait au moment du démarrage. Si on édite plus tard le catalogue (renommer un extrait, archiver une plante, corriger une faute), les sessions historiques gardent leurs labels d'origine. C'est ce qui rend l'historique citable et résistant aux refactors du catalogue.

Export Excel

L'export produit un classeur multi-feuilles (.xlsx) avec une feuille de couverture (métadonnées de session), une feuille Calibration (pente, ordonnée, R², date d'ouverture du lot), une feuille Mesures brutes (DO par concentration et réplicat avec statut de validation), une feuille Calculs (moyennes, % inhibition, points retenus pour le fit), et une feuille Régression échantillon (équation, IC50 ou équivalents, avertissements). Le format est volontairement bavard. Si une décision réglementaire, un reviewer ou un audit revient sur les données plusieurs années après, tout est traçable sans avoir à rouvrir l'app.

Reprise de session

Les sessions interrompues conservent leur statut active et peuvent être reprises à tout moment via l'écran historique. L'auto-commit garantit qu'aucune saisie n'est perdue, même si l'application est fermée brutalement.

Distribution

Tous les binaires sont publiés sur GitHub Releases : github.com/Saliha-BOUAOUDA/PhytoNote.
PlateformeFichierTailleCible
Android arm64-v8aapp-arm64-v8a-release.apk8.0 MBSnapdragon 8xx, Exynos 9xx+, Dimensity
Android armeabi-v7aapp-armeabi-v7a-release.apk7.6 MBAndroid 7+, Snapdragon 400-600
Android x86_64app-x86_64-release.apk8.1 MBÉmulateurs / tablettes Intel
Linuxphytonote_1.0.1_amd64.deb8.3 MBUbuntu 22.04+ / Debian 11+
Dépendances Linux : libgtk-3-0, libglib2.0-0, libstdc++6 — pré-installées sur Ubuntu LTS standard.

Limites et roadmap

PhytoNote ne pilote pas le spectrophotomètre. La saisie reste manuelle, même si l'évaluation est automatique. Une intégration directe USB ou Bluetooth pourrait être ajoutée mais n'est pas dans la version 1.0. La régression non-linéaire (modèles 4-PL, log-logistique pour des courbes dose-réponse sigmoidales) n'est pas implémentée. Pour la plage de concentrations couverte par défaut, la régression linéaire est suffisante ; pour étendre vers des modèles inhibiteurs forts ou des concentrations très hautes, ce sera à reconsidérer. Internationalisation : l'interface est en français à la v1.0.1, avec onglets « à venir » pour l'anglais et l'arabe dans les Paramètres.

References

  1. Brand-Williams, W., Cuvelier, M. E., & Berset, C. (1995). Use of a free radical method to evaluate antioxidant activity. LWT - Food Science and Technology, 28(1), 25-30. DOI: 10.1016/S0023-6438(95)80008-5
  2. Re, R., Pellegrini, N., Proteggente, A., Pannala, A., Yang, M., & Rice-Evans, C. (1999). Antioxidant activity applying an improved ABTS radical cation decolorization assay. Free Radical Biology and Medicine, 26(9-10), 1231-1237. DOI: 10.1016/S0891-5849(98)00315-3
  3. Benzie, I. F., & Strain, J. J. (1996). The ferric reducing ability of plasma (FRAP) as a measure of antioxidant power: the FRAP assay. Analytical Biochemistry, 239(1), 70-76. DOI: 10.1006/abio.1996.0292
  4. Singleton, V. L., & Rossi, J. A. (1965). Colorimetry of total phenolics with phosphomolybdic-phosphotungstic acid reagents. American Journal of Enology and Viticulture, 16(3), 144-158.
  5. Zhishen, J., Mengcheng, T., & Jianming, W. (1999). The determination of flavonoid contents in mulberry and their scavenging effects on superoxide radicals. Food Chemistry, 64(4), 555-559.
  6. Prieto, P., Pineda, M., & Aguilar, M. (1999). Spectrophotometric quantitation of antioxidant capacity through the formation of a phosphomolybdenum complex. Analytical Biochemistry, 269(2), 337-341.
  7. Clinical and Laboratory Standards Institute. (2018). Methods for dilution antimicrobial susceptibility tests for bacteria that grow aerobically (CLSI standard M07, 11th ed.).
  8. Bouaouda, S. (2026). PhytoNote (version 1.0.1) [Computer software]. Zenodo. DOI: 10.5281/zenodo.20376869