diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index d11194ecab2f9f8c1b5ed14ec25d6a671bc1bf23..0df6289bdf9ded735f74f09a114ad8a33fe0e2a5 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -22,7 +22,7 @@ import { DialogSaveSessionComponent } from "./components/dialog-save-session/dia
 import { QuicknavComponent } from "./components/quicknav/quicknav.component";
 import { NotificationsService } from "./services/notifications.service";
 
-import { decodeHtml } from "./util";
+import { decodeHtml } from "./util/util";
 
 import { HotkeysService, Hotkey } from "angular2-hotkeys";
 
diff --git a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts
index 16768e9c0715efc77bbf7b50d2c4d6b45d3e64ea..47790963b1c2fd3b83d065621b01b1c2326a026a 100644
--- a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts
+++ b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts
@@ -10,7 +10,7 @@ import { sprintf } from "sprintf-js";
 
 import { ParamValueMode, ExtensionStrategy } from "jalhyd";
 
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 import { ServiceFactory } from "app/services/service-factory";
 
 @Component({
diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
index b7aaf61d72def9cd99d15fec5b95d62666de2614..554bc994357a9496566c3ad921f6ec8f4b8176f1 100644
--- a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
+++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
@@ -3,7 +3,7 @@ import { Inject, Component } from "@angular/core";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { MultiDimensionResults } from "../../results/multidimension-results";
-import { fv, longestVarParam } from "../../util";
+import { fv, longestVarParam } from "../../util/util";
 
 @Component({
     selector: "dialog-generate-par-simulation",
diff --git a/src/app/components/fixedvar-results/results.component.ts b/src/app/components/fixedvar-results/results.component.ts
index ae9747dbe0e9f0b4843d4ccb9292105cf295e86f..18b08975073117647fc2b4e3fbfd1e94e5e81a1c 100644
--- a/src/app/components/fixedvar-results/results.component.ts
+++ b/src/app/components/fixedvar-results/results.component.ts
@@ -2,7 +2,7 @@ import screenfull from "screenfull";
 
 import { NgParameter } from "../../formulaire/elements/ngparam";
 import { ServiceFactory } from "../../services/service-factory";
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 import { CalculatorResults } from "../../results/calculator-results";
 
 import { Directive, HostListener } from "@angular/core";
diff --git a/src/app/components/fixedvar-results/var-results.component.ts b/src/app/components/fixedvar-results/var-results.component.ts
index 7493401d2776c1760fbe9c616232aa62ceefecea..3c9f310ce6c3d740cb8bd9303d6c41f58104848a 100644
--- a/src/app/components/fixedvar-results/var-results.component.ts
+++ b/src/app/components/fixedvar-results/var-results.component.ts
@@ -8,7 +8,7 @@ import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "./results.component";
 import { DialogLogEntriesDetailsComponent } from "../dialog-log-entries-details/dialog-log-entries-details.component";
 import { AppComponent } from "../../app.component";
-import { longestVarParam } from "../../../app/util";
+import { longestVarParam } from "../../../app/util/util";
 
 @Component({
     selector: "var-results",
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 49e81d946b6216bb123c23a0c64dea8c32cbe730..40832d3549ae92b1aba921d1625e7550f71fc96f 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -28,7 +28,7 @@ import {
     ParallelStructure
 } from "jalhyd";
 
-import { generateValuesCombination, getUnformattedIthResult, getUnformattedIthValue } from "../../util";
+import { generateValuesCombination, getUnformattedIthResult, getUnformattedIthValue } from "../../util/util";
 
 import { AppComponent } from "../../app.component";
 import { FormulaireService } from "../../services/formulaire.service";
diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
index 5bd87e2bb12d5177c109a493bcc92517bef823ce..bf4e084e134588c955fd4da70e1a8de96b82808c 100644
--- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
+++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
@@ -5,7 +5,7 @@ import { BaseChartDirective } from "ng2-charts";
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { IYSeries } from "../../results/y-series";
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 import { AppComponent } from "../../app.component";
 
 import { Jet, Result } from "jalhyd";
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index f388647dafbcf7d653fcffd263b87d3dfff40718..039681e3c0195eb26e976b2d3b6ab31fd3189534 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -2,7 +2,7 @@ import { Component, Input } from "@angular/core";
 
 import { Result, cLog, Message, MessageCode, MessageSeverity, MRCInclination } from "jalhyd";
 
-import { fv } from "../../../app/util";
+import { fv } from "../../../app/util/util";
 
 import { CalculatorResults } from "../../results/calculator-results";
 import { NgParameter } from "../../formulaire/elements/ngparam";
diff --git a/src/app/components/modules-diagram/modules-diagram.component.ts b/src/app/components/modules-diagram/modules-diagram.component.ts
index 0b607e51e10e25cb2f5505c3e1bdf0993dfcffe5..0ec435a0739a6691b60d18390aab60a0f4227fdc 100644
--- a/src/app/components/modules-diagram/modules-diagram.component.ts
+++ b/src/app/components/modules-diagram/modules-diagram.component.ts
@@ -33,7 +33,7 @@ import * as SvgPanZoom from "svg-pan-zoom";
 
 import { MatomoTracker } from "@ngx-matomo/tracker";
 
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 
 @Component({
     selector: "modules-diagram",
diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
index ee664e43ad59b3c77bd6e000921cbb11d8c32ea6..11aca1b4046fb5c4b0119cf4a5c87b4a56f41b20 100644
--- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
+++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
@@ -6,7 +6,7 @@ import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { PabResults } from "../../results/pab-results";
 import { IYSeries } from "../../results/y-series";
-import { fv, longestVarParam } from "../../util";
+import { fv, longestVarParam } from "../../util/util";
 import { AppComponent } from "../../app.component";
 
 import { CloisonAval, Cloisons, LoiDebit } from "jalhyd";
diff --git a/src/app/components/pab-results/pab-results-table.component.ts b/src/app/components/pab-results/pab-results-table.component.ts
index b541cdc52e332f6cde19abc74c9c9730db870fd8..b2b36a8368d34de4fa186b699152db63e9602442 100644
--- a/src/app/components/pab-results/pab-results-table.component.ts
+++ b/src/app/components/pab-results/pab-results-table.component.ts
@@ -6,7 +6,7 @@ import { PabResults } from "../../results/pab-results";
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { AppComponent } from "../../app.component";
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 
 @Component({
     selector: "pab-results-table",
diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts
index 0a59b6a8b1f0581e7ff07e706f24459e6e7df5ce..da3aae4ba32983e163a9096fdf1db300ea78aab3 100644
--- a/src/app/components/pb-results/pb-cloison-results.component.ts
+++ b/src/app/components/pb-results/pb-cloison-results.component.ts
@@ -2,7 +2,7 @@ import { Component, Input } from "@angular/core";
 
 import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component";
 import { NgParameter } from "../../formulaire/elements/ngparam";
-import { getIthValue } from "../../util";
+import { getIthValue } from "../../util/util";
 import { PbCloisonResults } from "../../results/pb-cloison-results";
 
 import { Result, ResultElement } from "jalhyd";
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index 79084192dd3b7b5e0477157ea06f3e8a09b1e5c9..9e1315d86f6d1f8608f728389431494d1065d239 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -5,7 +5,7 @@ import { PreBarrage, PbBassin } from "jalhyd";
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { AppComponent } from "../../app.component";
-import { fv, getIthValue } from "../../util";
+import { fv, getIthValue } from "../../util/util";
 import { PrebarrageResults } from "../../results/prebarrage-results";
 
 @Component({
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 6de70eecd8ddf7c49d2c45a200a9ae6a6cf0a009..3ba8bf93dfb905c7b4a2489a19a3ee3b1f5c09fd 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -18,7 +18,7 @@ import { GenericCalculatorComponent } from "../generic-calculator/calculator.com
 import { FormulairePrebarrage } from "../../formulaire/definition/form-prebarrage";
 import { AppComponent } from "../../app.component";
 
-import { fv } from "app/util";
+import { fv } from "app/util/util";
 import { ServiceFactory } from "app/services/service-factory";
 import { DefinedBoolean } from "app/definedvalue/definedboolean";
 import { PrebarrageService, PrebarrageServiceEvents } from "app/services/prebarrage.service";
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 1f5ea4b720bfcb4bbf0ccbd85f42bde4dc582540..2fd73ae1e13f3ecb6b1b9444b07e0800ca6435f8 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -9,7 +9,7 @@ import { FormulaireService } from "../../services/formulaire.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { AppComponent } from "../../app.component";
 import { LineData, ChartData } from "./line-and-chart-data";
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 import { VarResults } from "../../results/var-results";
 
 import { BaseChartDirective } from "ng2-charts";
diff --git a/src/app/components/results-chart/chart-type.component.ts b/src/app/components/results-chart/chart-type.component.ts
index 39839c3a96cb2feea1c220ebbf415e2855263880..123657c5173e1f09900f327f140c4cdd6eb3dc65 100644
--- a/src/app/components/results-chart/chart-type.component.ts
+++ b/src/app/components/results-chart/chart-type.component.ts
@@ -4,7 +4,7 @@ import { I18nService } from "../../services/internationalisation.service";
 import { ChartType } from "../../results/chart-type";
 import { SelectFieldChartType } from "app/formulaire/elements/select/select-field-charttype";
 import { SelectEntry } from "app/formulaire/elements/select/select-entry";
-import { decodeHtml } from "../../util";
+import { decodeHtml } from "../../util/util";
 
 @Component({
     selector: "chart-type",
diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index 0b33967f3c45ae7766943a382b9db32fc3593ed7..be7eb667828b18318c0c5b92b5759e88663d7ddc 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -11,7 +11,7 @@ import { ChartType } from "../../results/chart-type";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { IYSeries } from "../../results/y-series";
 import { VarResults } from "../../results/var-results";
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 import { AppComponent } from "../../app.component";
 
 import zoomPlugin from 'chartjs-plugin-zoom';
diff --git a/src/app/components/select-field-line/select-field-line.component.ts b/src/app/components/select-field-line/select-field-line.component.ts
index c6b2474a0f08e795ac58514bb58486d127e4ecdb..7c4b067efcece001ba65882f713c0e286d660f48 100644
--- a/src/app/components/select-field-line/select-field-line.component.ts
+++ b/src/app/components/select-field-line/select-field-line.component.ts
@@ -4,7 +4,7 @@ import { SelectField } from "../../formulaire/elements/select/select-field";
 import { SelectEntry } from "../../formulaire/elements/select/select-entry";
 import { I18nService } from "../../services/internationalisation.service";
 import { ApplicationSetupService } from "../../services/app-setup.service";
-import { decodeHtml } from "../../util";
+import { decodeHtml } from "../../util/util";
 
 @Component({
     selector: "select-field-line",
diff --git a/src/app/components/select-section-details/select-section-details.component.ts b/src/app/components/select-section-details/select-section-details.component.ts
index 55c21b523cead45096bfc15f39d2d733043aad92..278ce4bdca3d2ead89a5354807f4266b1f4171a0 100644
--- a/src/app/components/select-section-details/select-section-details.component.ts
+++ b/src/app/components/select-section-details/select-section-details.component.ts
@@ -3,7 +3,7 @@ import { Router } from '@angular/router';
 import { FormulaireDefinition } from 'app/formulaire/definition/form-definition';
 import { FormulaireService } from 'app/services/formulaire.service';
 import { I18nService } from 'app/services/internationalisation.service';
-import { fv } from 'app/util';
+import { fv } from 'app/util/util';
 import { formattedValue } from 'jalhyd';
 
 /**
diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts
index 0d68b44573e4177fb943019a8516944fdbc94162..50c4a0d968df136c66c0f25f9391c0c2a5688820 100644
--- a/src/app/components/variable-results-selector/variable-results-selector.component.ts
+++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts
@@ -1,7 +1,7 @@
 import { Component, Input, OnChanges } from "@angular/core";
 
 import { I18nService } from "../../services/internationalisation.service";
-import { fv, longestVarParam } from "../../util";
+import { fv, longestVarParam } from "../../util/util";
 import { MultiDimensionResults } from "../../results/multidimension-results";
 import { VariatedDetails } from "jalhyd";
 import { CalculatorResults } from "../../results/calculator-results";
diff --git a/src/app/formulaire/definition/form-pab.ts b/src/app/formulaire/definition/form-pab.ts
index 85f423501196014b5198c27d9e5a6a243524e796..d27a620927df68c68c2789250112d8889d7dbd93 100644
--- a/src/app/formulaire/definition/form-pab.ts
+++ b/src/app/formulaire/definition/form-pab.ts
@@ -3,7 +3,7 @@ import { Pab, Result, VariatedDetails } from "jalhyd";
 import { FormulaireDefinition } from "./form-definition";
 import { PabResults } from "../../results/pab-results";
 import { NgParameter } from "../elements/ngparam";
-import { longestVarParam } from "../../util";
+import { longestVarParam } from "../../util/util";
 import { PabTable } from "../elements/pab-table";
 
 /**
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index c9a0d9e0db35efb7ff665b637520798032944bf6..7aa507656ca0d4925ea3b0d9abf1f79194bf9b4a 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -9,7 +9,7 @@ import { FieldsetContainer } from "../elements/fieldset-container";
 import { CalculatorResults } from "../../results/calculator-results";
 import { PrebarrageResults } from "../../results/prebarrage-results";
 import { NgParameter } from "../elements/ngparam";
-import { longestVarParam } from "../../util";
+import { longestVarParam } from "../../util/util";
 import { FormulaireNode } from "../elements/formulaire-node";
 
 /**
diff --git a/src/app/formulaire/elements/ngparam.ts b/src/app/formulaire/elements/ngparam.ts
index e4dc902cd4034702c761634d145c30781db189b2..a579f014146807fe4e091f7a7dd6b1d0050faa18 100644
--- a/src/app/formulaire/elements/ngparam.ts
+++ b/src/app/formulaire/elements/ngparam.ts
@@ -8,7 +8,7 @@ import { sprintf } from "sprintf-js";
 import { InputField } from "./input-field";
 import { ServiceFactory } from "../../services/service-factory";
 import { FormulaireNode } from "./formulaire-node";
-import { fv } from "../../util";
+import { fv } from "../../util/util";
 
 export enum ParamRadioConfig {
     /** pas de radio, paramètre modifiable à la main uniquement */
diff --git a/src/app/formulaire/elements/select/select-field-searched-param.ts b/src/app/formulaire/elements/select/select-field-searched-param.ts
index 339acbfe5702e623c3cc8041b2860ad7ef0fe3f6..8811ef81f441628e39164f0f46404fa8cf1a1d4c 100644
--- a/src/app/formulaire/elements/select/select-field-searched-param.ts
+++ b/src/app/formulaire/elements/select/select-field-searched-param.ts
@@ -1,5 +1,5 @@
 import { ServiceFactory } from "app/services/service-factory";
-import { decodeHtml } from "app/util";
+import { decodeHtml } from "app/util/util";
 import { acSection, Nub, Solveur } from "jalhyd";
 import { SelectEntry } from "./select-entry";
 import { SelectField } from "./select-field";
diff --git a/src/app/formulaire/elements/select/select-field-solveur-target.ts b/src/app/formulaire/elements/select/select-field-solveur-target.ts
index b98546e221fc7bf13c782ca43440e24df9f34320..3d752aa4368a5c45c5b0c4a4d36375ff8cb0d8b2 100644
--- a/src/app/formulaire/elements/select/select-field-solveur-target.ts
+++ b/src/app/formulaire/elements/select/select-field-solveur-target.ts
@@ -5,7 +5,7 @@
 */
 
 import { ServiceFactory } from "app/services/service-factory";
-import { decodeHtml } from "../../../util";
+import { decodeHtml } from "../../../util/util";
 import { Session, Solveur } from "jalhyd";
 import { SelectEntry } from "./select-entry";
 import { SelectField } from "./select-field";
diff --git a/src/app/formulaire/elements/select/select-field-target-pass.ts b/src/app/formulaire/elements/select/select-field-target-pass.ts
index 6383c02ffc159a14afa7f6a11dce014769c48af9..8438e0a0fe2c50a5b5b1c8b937543249def5a423 100644
--- a/src/app/formulaire/elements/select/select-field-target-pass.ts
+++ b/src/app/formulaire/elements/select/select-field-target-pass.ts
@@ -1,5 +1,5 @@
 import { ServiceFactory } from "app/services/service-factory";
-import { decodeHtml } from "app/util";
+import { decodeHtml } from "app/util/util";
 import { CalculatorType, FishPass, Session, Verificateur } from "jalhyd";
 import { FormulaireElement } from "../formulaire-element";
 import { FormulaireNode } from "../formulaire-node";
diff --git a/src/app/formulaire/elements/select/select-field.ts b/src/app/formulaire/elements/select/select-field.ts
index 2b9b65aa97fc770e1548718791597698decb7a09..b45f59c42d2581d536dc40659295cb86ed57cc62 100644
--- a/src/app/formulaire/elements/select/select-field.ts
+++ b/src/app/formulaire/elements/select/select-field.ts
@@ -1,6 +1,6 @@
 import { Field } from "../field";
 import { SelectEntry } from "./select-entry";
-import { arraysAreEqual } from "../../../util";
+import { arraysAreEqual } from "../../../util/util";
 import { FormulaireNode } from "../formulaire-node";
 import { ServiceFactory } from "app/services/service-factory";
 import { FormulaireDefinition } from "../../definition/form-definition";
diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts
index 37ff757b971936d696f0b040060cc6b54f2688f7..c8c814d89776af9760d03c5e524297446330f92a 100644
--- a/src/app/results/var-results.ts
+++ b/src/app/results/var-results.ts
@@ -2,7 +2,7 @@ import { CalculatedParamResults } from "./param-calc-results";
 import { ServiceFactory } from "../services/service-factory";
 import { PlottableData } from "./plottable-data";
 import { ChartType } from "./chart-type";
-import { longestVarParam } from "../util";
+import { longestVarParam } from "../util/util";
 import { FormulaireDefinition } from "../formulaire/definition/form-definition";
 
 import { sprintf } from "sprintf-js";
diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index ea1bec8c3d563f2e11b1a8cfdbf45ae95c67100f..deee494fecb63836be93eeb253b8253ed708742f 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -5,7 +5,7 @@ import { Message, MessageCode, Observable, Observer, Nub, CalculatorType, PreBar
 import { StringMap } from "../stringmap";
 import { ApplicationSetupService } from "./app-setup.service";
 import { HttpService } from "./http.service";
-import { fv, decodeHtml } from "../util";
+import { fv, decodeHtml } from "../util/util";
 import { ServiceFactory } from "./service-factory";
 import { FormulaireService } from "./formulaire.service";
 
diff --git a/src/app/util.ts b/src/app/util/util.ts
similarity index 98%
rename from src/app/util.ts
rename to src/app/util/util.ts
index 763a425cbebe0a5b95596c0ae707666bfea8df12..ba2777eab67d938bb4dea7371cdaeac7d59f14fd 100644
--- a/src/app/util.ts
+++ b/src/app/util/util.ts
@@ -1,5 +1,5 @@
-import { NgParameter } from "./formulaire/elements/ngparam";
-import { ServiceFactory } from "./services/service-factory";
+import { NgParameter } from "../formulaire/elements/ngparam";
+import { ServiceFactory } from "../services/service-factory";
 
 import { formattedValue, Nub, VariatedDetails, ParamDefinition, ParamValueMode, Result } from "jalhyd";