diff --git a/README.md b/README.md
index c0d1f11d4e488ec5a3ec94b96832c5c49948d634..107ccc105144a204a307d18f88eb3a482a040022 100644
--- a/README.md
+++ b/README.md
@@ -47,7 +47,7 @@ and then :
 `npm run lint`
 
 
-# Procédure d'ajout d'une calculette
+# Procédure d'ajout d'un module de calcul
 
 ## JaLHyd
 
@@ -138,7 +138,7 @@ and then :
 * Créer les tests unitaires correspondants
 
 
-* Ajouter une valeur à l'enum _CalculatorType_ pour identifier le type de calculette (par ex _MaCalculette_).
+* Ajouter une valeur à l'enum _CalculatorType_ pour identifier le type de module de calcul (par ex _MaCalculette_).
 
 
 * Compléter la méthode _Session.createNub()_.
@@ -146,7 +146,7 @@ and then :
 
 ## ngHyd
 
-* Créer les fichiers de configuration de la calculette
+* Créer les fichiers de configuration du module de calcul
 	- dans _src/app/calculators_ : créer un répertoire (par ex _ma-calculette_)
 
 	- dans _src/app/calculators/ma-calculette_ :
@@ -155,7 +155,7 @@ and then :
 		Les ids utilisés doivent correspondre au symbole fourni à classe _ParamDefinition_ (1er paramètre du constructeur)
 
 		Ne pas oublier de spécifier :
-		- éventuellement le type de noeud par défaut de la calculette dans les options avec le champ "_defaultNodeType_". Si ce champ est absent, sa valeur est "_ComputeNodeType.None_". Ce champ sert par ex pour les sections paramétrées à déterminer le type de section à afficher lors de la création de la calculette.
+		- éventuellement le type de noeud par défaut du module de calcul dans les options avec le champ "_defaultNodeType_". Si ce champ est absent, sa valeur est "_ComputeNodeType.None_". Ce champ sert par ex pour les sections paramétrées à déterminer le type de section à afficher lors de la création du module de calcul.
 
 		- éventuellement le type de noeud de paramètres particuliers (objets comportant _"type":"input"_) avec le champ _"nodeType": "MaCalculetteBleue"_ (par défaut, "_ComputeNodeType.None_")
 
@@ -178,7 +178,7 @@ and then :
 		On peut soit composer la classe concrète directement avec ces classes, soient dériver ces dernières et composer avec.
 
 * _src/locale/error_messages.<langue>.json_ :
-	Ajouter un champ pour le titre de la calculette. Par exemple :
+	Ajouter un champ pour le titre du module de calcul. Par exemple :
 		 _"INFO_MACALC_TITRE": "Ma calculette"_
 
 * Dans la méthode _FormulaireService.getConfigPathPrefix()_, compléter le _switch_ pour fournir le préfixe des fichiers de configuration/internationalisation.
diff --git a/docs-fr/calculators/hsl/regime_uniforme.md b/docs-fr/calculators/hsl/regime_uniforme.md
index 09dc8c21024e562f994ad308c1183c5b30d8e793..039e0fca76c539bd3224429479254f4a439b95ac 100644
--- a/docs-fr/calculators/hsl/regime_uniforme.md
+++ b/docs-fr/calculators/hsl/regime_uniforme.md
@@ -34,4 +34,4 @@ $$h_{k+1} = h_k - \frac{f(h_k)}{f'(h_k)}$$
 - \(f(h_k) = Q-KR^{2/3}S\sqrt{I_f}\)
 - \(f'(h_k) = -K \sqrt{I_f}(\frac{2}{3}R'R^{-1/3}S+R^{2/3}S')\)
 
-Pour calculer les paramètres géométriques de la section, la calculette utilise l'équation de calcul du débit et résout le problème par dichotomie.
+Pour calculer les paramètres géométriques de la section, le module de calcul utilise l'équation de calcul du débit et résout le problème par dichotomie.
diff --git a/docs-fr/calculators/structures/kivi.md b/docs-fr/calculators/structures/kivi.md
index fd2f16ef91c16e1abf74951946d735f4468e9756..3d28e01f8cbb9e9e0c24c38f8b1eac8150ab2842 100644
--- a/docs-fr/calculators/structures/kivi.md
+++ b/docs-fr/calculators/structures/kivi.md
@@ -1,7 +1,7 @@
 # Formule de Kindsvater-Carter et Villemonte
 
 
-La calculette permet d'effectuer des calculs hydrauliques pour plusieurs ouvrages en parallèle.
+Le module de calcul permet d'effectuer des calculs hydrauliques pour plusieurs ouvrages en parallèle.
 
 ## Formule de Kindsvater-Carter (1957)
 
diff --git a/docs-fr/calculators/structures/orifice_noye.md b/docs-fr/calculators/structures/orifice_noye.md
index e8c11452e057a1a45e577d7144d385ce2afa6329..f33fa101f621634a4f885441241f612e62d289f9 100644
--- a/docs-fr/calculators/structures/orifice_noye.md
+++ b/docs-fr/calculators/structures/orifice_noye.md
@@ -4,7 +4,7 @@
 
 *Extrait de Larinier, M., Travade, F., Porcher, J.-P., Gosset, C., 1992. Passes à poissons : expertise et conception des ouvrages de franchissement. CSP. (page 94)*
 
-L'équation correspond à peu de chose près à celle de la calculette de la vanne rectangulaire noyée à la différence près que la surface de l'orifice est donnée directement plutôt que par le rapport de la largeur avec la hauteur :
+L'équation correspond à peu de chose près à celle du module de calcul de la vanne rectangulaire noyée à la différence près que la surface de l'orifice est donnée directement plutôt que par le rapport de la largeur avec la hauteur :
 
 $$Q = \mu S \sqrt{2g \Delta H}$$
 
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 6924f79bfd24a18069d24934354cc215e3b5cf99..b7a047ec9bcb270a09e5f26d25924113bb436961 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -38,8 +38,8 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
   public currentCalc: any;
 
   /**
-   * liste des calculettes. Forme des objets :
-   * "title": nom de la calculette
+   * liste des modules de calcul. Forme des objets :
+   * "title": nom du module de calcul
    * "uid": id unique du formulaire
    */
   private _calculators: any[] = [];
@@ -299,13 +299,13 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
 
     // désabonnement en tant qu'observateur
     form.removeObserver(this);
-    // recherche de la calculette correspondante à formId
+    // recherche du module de calcul correspondant à formId
     const closedIndex = this.getCalculatorIndexFromId(formId);
 
     /*
-     * détermination de la nouvelle calculette à afficher :
-     * - celle après celle supprimée
-     * - ou celle avant celle supprimée si on supprime la dernière
+     * détermination du nouveau module de calcul à afficher :
+     * - celui après celui supprimé
+     * - ou celui avant celui supprimé si on supprime le dernier
      */
     let newId = null;
     const l = this._calculators.length;
diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index a423ab9e5e78d9652c3d8cfc368336fd811042d7..aef92e3e136016e8bc40b94cc47ae1f8ee66c474 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -94,7 +94,7 @@ export class CalculatorListComponent implements OnInit {
             this.router.navigate(["/calculator", f.uid]);
             return f;
         }).then(f => {
-            // on ajoute un ouvrage après l'ouverture de la calculette "ouvrages parallèles"
+            // on ajoute un ouvrage après l'ouverture du module de calcul "ouvrages parallèles"
             if (f instanceof FormulaireParallelStructure) {
                 for (const e of f.allFormElements) {
                     if (e instanceof FieldsetContainer) {
diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index 66ceb61293e2f49da01fe1ce1953726192882a05..97446a3a9ce637f766b03da297a2b9882472b0e1 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -23,7 +23,7 @@
 
         <mat-card-content>
 
-            <!-- nom de la calculette -->
+            <!-- nom du module de calcul -->
             <calc-name [title]="uitextCalculatorName"></calc-name>
 
             <div id="calc-cards-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index de45460ffb50915e08171d0ee84e96dd3c349d2c..ffc2cf9d8fe41c3d9a92fa0beffdbfdd59f30eed 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -44,7 +44,7 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit,
     private resultsComponent: CalculatorResultsComponent;
 
     /**
-     * composant "nom de la calculette"
+     * composant "nom du module de calcul"
      */
     @ViewChild(CalculatorNameComponent)
     private _calculatorNameComponent: CalculatorNameComponent;
diff --git a/src/app/components/param-field-line/param-field-line.component.ts b/src/app/components/param-field-line/param-field-line.component.ts
index 390d7079763c9bb937650c1b1fbf764b88d27b59..435f63cfbf3c00df06a53b986e5008c731abc8d3 100644
--- a/src/app/components/param-field-line/param-field-line.component.ts
+++ b/src/app/components/param-field-line/param-field-line.component.ts
@@ -193,16 +193,16 @@ export class ParamFieldLineComponent implements OnChanges {
     }
 
     /**
-    * calcule la présence du radio "paramètre lié" (importé d'une autre calculette)
+    * calcule la présence du radio "paramètre lié" (importé d'un autre module de calcul)
     */
    public hasRadioLink(): boolean {
         if (this._formService.formulaires.length > 0) {
-            // au moins 2 calculettes ouvertes
+            // au moins 2 modules de calcul ouverts
             if (this._formService.formulaires.length > 1) {
                 return this._formService.filterLinkableValues(this._formService.getLinkableValues(this.param)).length > 0;
             }
 
-            // ou une seule calculette "ouvrages parallèles"
+            // ou un seul module de calcul "ouvrages parallèles"
             if (this._formService.formulaires[0].calculatorType === CalculatorType.ParallelStructure) {
                 const ps: ParallelStructure = this._formService.formulaires[0].currentNub as ParallelStructure;
                 if (ps.structures.length > 1) {
diff --git a/src/app/components/param-link/param-link.component.ts b/src/app/components/param-link/param-link.component.ts
index 6ef2f06c9ce93d10bdc5c1c8d5c7819ce85e15ad..9e28788f706eecf48a47c5836360e400ac127a98 100644
--- a/src/app/components/param-link/param-link.component.ts
+++ b/src/app/components/param-link/param-link.component.ts
@@ -36,7 +36,7 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy {
 
     /**
      * liste des paramètres liables sous la forme
-     * {"name":<étiquette>, "value":<valeur liable>, "nub":<Nub d'origine du paramètre>, "formTitle":<nom de la calculette liée au nub>}
+     * {"name":<étiquette>, "value":<valeur liable>, "nub":<Nub d'origine du paramètre>, "formTitle":<nom du module de calcul lié au nub>}
      *
      * l'étiquette "name" (cf. INubReference.defineReference dans jalhyd) est de la forme <n | ouvrage[n] | N1>[.[N2]]
      *     n : indice de de l'ouvrage dans le cas des ouvrages parallèles
@@ -112,7 +112,7 @@ export class ParamLinkComponent implements OnChanges, Observer, OnDestroy {
      */
     private selectItemLabel(i: any) {
         const s = i.name; // nom associé au paramètre/à la valeur
-        const c = i.formTitle; // nom de la calculette
+        const c = i.formTitle; // nom du module de calcul
 
         const re5 = /(\d+)\.(.+)\.$/;  // forme <nombre>.xxx. (résultat d'ouvrage)
         const match5 = re5.exec(s);
diff --git a/src/app/formulaire/definition/form-def-fixedvar.ts b/src/app/formulaire/definition/form-def-fixedvar.ts
index 9cd7bb4d1b13ecda0c573612e80d9220332778de..d34f67110ac5f75bf50c5fc2e78637133d63ba95 100644
--- a/src/app/formulaire/definition/form-def-fixedvar.ts
+++ b/src/app/formulaire/definition/form-def-fixedvar.ts
@@ -66,7 +66,7 @@ export class FormDefFixedVar {
      * action2 : reset (à FIX) de tous les autres paramètres que celui modifié sauf celui/ceux à VAR
      * action3 : reset (à FIX) de tous les autres paramètres que celui modifié
      * action4 : mettre le paramètre désigné par la conf comme "par défault" à CAL
-     * action5 : mettre le 1er paramètre de la calculette à CAL
+     * action5 : mettre le 1er paramètre du module de calcul à CAL
      */
     protected processRadioStateChange(sourceParam: NgParameter, oldState: ParamValueMode) {
         switch (oldState) {
diff --git a/src/app/formulaire/definition/form-def-section.ts b/src/app/formulaire/definition/form-def-section.ts
index 734243db275a0149fe78bdf08219e4bd7df11932..f4fe312ca445de92751bd3f3db6fa3ea73b42120 100644
--- a/src/app/formulaire/definition/form-def-section.ts
+++ b/src/app/formulaire/definition/form-def-section.ts
@@ -53,7 +53,7 @@ export class FormDefSection {
      * @param fs nouveau FieldSet
      */
     public afterParseFieldset(fs: FieldSet) {
-        if (this.hasSectionNodeTypeSource) { // s'il existe un menu de choix de section dans la calculette
+        if (this.hasSectionNodeTypeSource) { // s'il existe un menu de choix de section dans le module de calcul
             const sel = fs.getFormulaireNodeById(this._sectionSourceId);
             if (sel) {
                 // on abonne le formulaire aux propriétés du FieldSet pour MAJ du nub, reset du formulaire, ...
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index a02eb888aadf0ccac1aa6073f3059bf7b5fb7c23..390718dcd6c94fe67c1efa92400c9b13a1958617 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -20,7 +20,7 @@ import { CalculatorResults } from "../../results/calculator-results";
  */
 export abstract class FormulaireDefinition extends FormulaireNode implements Observer {
     /**
-     * nom de la calculette
+     * nom du module de calcul
      */
     private _calculatorName: string;
 
@@ -211,7 +211,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this.initParse();
 
         // analyse des options globales
-        // il est utile de le faire avant le reste pour les calculettes utilisant
+        // il est utile de le faire avant le reste pour les modules de calcul utilisant
         // des sections (id des selects type de section/variable à calculer)
 
         // tslint:disable-next-line:forin
@@ -260,7 +260,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     break;
 
                 default:
-                    throw new Error(`type d'objet de calculette ${type} non pris en charge`);
+                    throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
             }
         }
 
diff --git a/src/app/formulaire/fieldset.ts b/src/app/formulaire/fieldset.ts
index 71c1728e27f3b27b40a67dad03c94585b7edfaec..73740f7ecee0809098836692fa016d378084349b 100644
--- a/src/app/formulaire/fieldset.ts
+++ b/src/app/formulaire/fieldset.ts
@@ -128,7 +128,7 @@ export class FieldSet extends FormulaireElement implements Observer {
 
     /**
      * crée un input
-     * @param json definition de l'input, extrait du fichier de conf de la calculette
+     * @param json definition de l'input, extrait du fichier de conf du module de calcul
      * @param node_type_filter filtre sur le type de noeud (input créé si undefined ou égal)
      * @param default_radio_config config du radio fixé/à varier/à calculer
      */
@@ -220,7 +220,7 @@ export class FieldSet extends FormulaireElement implements Observer {
         this.updateLocalisation();
 
         // MAJ des selects avec les valeurs actuelles des propriétés
-        // spécifique à chaque calculette, à revoir
+        // spécifique à chaque modul de calcul, à revoir
 
         if (this._confId === "fs_ouvrage") {
             const sf1: SelectField = this.getFormulaireNodeById("select_ouvrage") as SelectField;
diff --git a/src/app/formulaire/ngparam.ts b/src/app/formulaire/ngparam.ts
index 5e36469e23bab797d79b3e9c2279d30c75782b03..82cca313a78d8406fadd269a9385505202866da5 100644
--- a/src/app/formulaire/ngparam.ts
+++ b/src/app/formulaire/ngparam.ts
@@ -166,7 +166,8 @@ export class NgParameter extends InputField implements Observer {
     public radioConfig: ParamRadioConfig;
 
     /**
-     * true si ce paramètre est celui par défaut dans un formulaire (cf. fichier de conf des calculettes, objet "options", champ "idCal")
+     * true si ce paramètre est celui par défaut dans un formulaire
+     * (cf. fichier de conf des modules de calcul, objet "options", champ "idCal")
      */
     public isDefault = false; // archi bug du langage ! si on relit cette propriété sans l'avoir modifiée entre-temps, elle vaut undefined !
 
diff --git a/src/app/services/formulaire/formulaire.service.ts b/src/app/services/formulaire/formulaire.service.ts
index 472266a69e5fce73c4ebc597a5e9949d92e1975d..dda5ad7a3f3d766173caec498ca3309bfdd1fcc6 100644
--- a/src/app/services/formulaire/formulaire.service.ts
+++ b/src/app/services/formulaire/formulaire.service.ts
@@ -138,7 +138,7 @@ export class FormulaireService extends Observable {
                 break;
 
             default:
-                throw new Error(`FormulaireService.newFormulaire() : type de calculette ${CalculatorType[ct]} non pris en charge`);
+                throw new Error(`FormulaireService.newFormulaire() : type de module de calcul ${CalculatorType[ct]} non pris en charge`);
         }
 
         f.defaultProperties["calcType"] = ct;
@@ -357,9 +357,9 @@ export class FormulaireService extends Observable {
     }
 
     /**
-     * charge une session en tenant compte des calculettes sélectionnées
+     * charge une session en tenant compte des modules de calcul sélectionnées
      * @param f fichier session
-     * @param formInfos infos sur les calculettes @see DialogLoadSessionComponent.calculators
+     * @param formInfos infos sur les modules de calcul @see DialogLoadSessionComponent.calculators
      */
     public loadSession(f: File, formInfos: any[]) {
         this.readSingleFile(f).then(s => {
@@ -385,7 +385,7 @@ export class FormulaireService extends Observable {
     }
 
     /**
-     * obtient des infos (nom, uid des calculettes) d'un fichier session
+     * obtient des infos (nom, uid des modules de calcul) d'un fichier session
      * @param f fichier session
      */
     public calculatorInfosFromSessionFile(f: File): Promise<any[]> {
@@ -393,7 +393,7 @@ export class FormulaireService extends Observable {
             const res: any[] = [];
             const session = JSON.parse(s);
 
-            // liste des noms de calculettes
+            // liste des noms de modules de calcul
             for (const k in session) {
                 switch (k) {
                     case "session":
@@ -543,7 +543,7 @@ export class FormulaireService extends Observable {
 
     /**
      * @returns liste des valeurs liables à un paramètre sous la forme d'un tableau d'objets
-     * {"param":<paramètre lié>, "nub":<Nub d'origine du paramètre lié>, "formTitle":<nom de la calculette liée au nub>}
+     * {"param":<paramètre lié>, "nub":<Nub d'origine du paramètre lié>, "formTitle":<nom du module de calcul liée au nub>}
      * @param p paramètre qui sert de clé de recherche des paramètres liables
      */
     public getLinkableValues(p: NgParameter): any[] {
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 89b1b0e37a5bdd4468c2783c67d3e4616e92dea1..067664d1b684116bc3409d743b3919849e9676e5 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -37,7 +37,7 @@
     "INFO_CALCULATOR_RESULTS_TITLE": "Résultats",
     "INFO_CALCULATOR_VALEURS": "Valeurs",
     "INFO_CLOISONS_TITRE": "Passe à bassin&nbsp;: Cloisons",
-    "INFO_CLOSE_DIALOGUE_TEXT": "Attention&nbsp;! Les paramètres et résultats de la calculette seront perdus. Vraiment fermer&nbsp;?",
+    "INFO_CLOSE_DIALOGUE_TEXT": "Attention&nbsp;! Les paramètres et résultats du module de calcul seront perdus. Vraiment fermer&nbsp;?",
     "INFO_CLOSE_DIALOGUE_TITRE": "Confirmer la fermeture",
     "INFO_CONDUITEDISTRIBUTRICE_TITRE": "Conduite distributrice",
     "INFO_COURBEREMOUS_TITRE": "Courbes de remous",
@@ -57,7 +57,7 @@
     "INFO_DIALOG_LOAD_SESSION_TITLE": "Charger des modules de calcul",
     "INFO_DIALOG_SAVE_SESSION_FILENAME": "Nom de fichier",
     "INFO_DIALOG_SAVE_SESSION_TITLE": "Enregistrer les modules de calcul",
-    "INFO_EMPTY_SESSION_DIALOGUE_TEXT": "Attention&nbsp;! Toutes les calculettes ouvertes seront perdues. Continuer&nbsp;?",
+    "INFO_EMPTY_SESSION_DIALOGUE_TEXT": "Attention&nbsp;! Tous les modules de calcul ouverts seront perdus. Continuer&nbsp;?",
     "INFO_EMPTY_SESSION_DIALOGUE_TITRE": "Démarrer une nouvelle session",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_0": "Surface libre",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_1": "En charge",