diff --git a/.gitignore b/.gitignore
index c8b327be0abcb414f01ad08f263e20bae0893853..94015e6c12f6c327428db83e0c2258ea3345f4da 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,7 +26,6 @@ Temporary Items
 .apdisk
 
 .idea
-java-utils.iml
-#*.jar
+*.jar
 lib
-bin
\ No newline at end of file
+target
diff --git a/README.md b/README.md
deleted file mode 100644
index bcce220938bcdf5f6622837e19cbaa2937e060e6..0000000000000000000000000000000000000000
--- a/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Java-utils
-
-Ce dépôt regroupe un ensemble d'utilitaires Java.
-
-La javadoc est disponible [ici](https://java-utils-nicolas-dagneaux-etu-db1ed337ef47f85515ec80412833c29.gitlabpages.univ-lille.fr/)
diff --git a/create-jar.sh b/create-jar.sh
deleted file mode 100755
index 50b39a2ccedb63629de3192eef3e4824f792ed2e..0000000000000000000000000000000000000000
--- a/create-jar.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-
-JAVAFILES=$(find src/main/java -type f -name '*.java' | tr '\n' ' ')
-PACKAGES=$(find src/main/java/fr -type d -mindepth 3 | sed 's/src\/main\/java\///' |tr '/' '.' | tr '\n' ' ')
-JAVAFXFOLDER="/home/public/javafx-sdk-17.0.2"
-VARGS="--module-path=$JAVAFXFOLDER:$JAVAFXFOLDER/lib --add-modules=javafx.controls,javafx.fxml"
-
-#javadoc $VARGS -sourcepath src/main/java -d doc -docletpath lib/umldoclet-2.1.0.jar -doclet nl.talsmasoftware.umldoclet.UMLDoclet $PACKAGES
-
-javac -g -d bin $VARGS $JAVAFILES && jar cfv univlille-iutinfo-java-utils.jar doc -C bin .
diff --git a/doc/allclasses-index.html b/doc/allclasses-index.html
deleted file mode 100644
index 9904d58137a51ed335bec8c4d64c28a001be7cb4..0000000000000000000000000000000000000000
--- a/doc/allclasses-index.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>All Classes and Interfaces</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="class index">
-<meta name="generator" content="javadoc/AllClassesIndexWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="all-classes-index-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="index.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="index-all.html">Index</a></li>
-<li><a href="help-doc.html#all-classes">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
-</div>
-<div id="all-classes-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button></div>
-<div id="all-classes-table.tabpanel" role="tabpanel">
-<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
-<div class="table-header col-first">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe abstraite définit le minimum requis pour controller un fichier .fxml.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe décrit une connection à une base de données (driver, url, données de connexion)</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe gère la connexion avec une base de données</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/sql/DBLoop.html" title="class in fr.univlille.iutinfo.sql">DBLoop&lt;E&gt;</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/sql/DBRequest.html" title="class in fr.univlille.iutinfo.sql">DBRequest&lt;E&gt;</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="fr/univlille/iutinfo/sql/Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable&lt;E&gt;</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Cette interface définit ce qu'est une requête exécutable.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe définit ce qu'est une page HTML entière (head et body)</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="fr/univlille/iutinfo/sql/Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable&lt;E&gt;</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Cette interface définit ce qu'est une fonction qui peut être appliqué à chaque ligne de résultat de requête sql.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="fr/univlille/iutinfo/utils/Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer&lt;T,<wbr>E&gt;</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une <code>Scene</code> JavaFX</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject&lt;E&gt;</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/fxml/SubSectionController.html" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une section à l'intérieur d'une fenêtre JavaFXML.</div>
-</div>
-<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="fr/univlille/iutinfo/sql/Utils.html" title="class in fr.univlille.iutinfo.sql">Utils</a></div>
-<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
-<div class="block">Cette classe regroupe un ensemble de requêtes SQL les plus fréquentes.</div>
-</div>
-<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="fr/univlille/iutinfo/mvcweb/View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a></div>
-<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
-<div class="block">Cette interface définit ce qu'est une vue : Selon des paramètres passés lors de l'instanciation, un contenu (html ou autre) est retourné.</div>
-</div>
-</div>
-</div>
-</div>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/allpackages-index.html b/doc/allpackages-index.html
deleted file mode 100644
index 62cc632cf7e9842f2d14383bc3b792f950e3e01c..0000000000000000000000000000000000000000
--- a/doc/allpackages-index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>All Packages</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="package index">
-<meta name="generator" content="javadoc/AllPackagesIndexWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="all-packages-index-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="index.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="index-all.html">Index</a></li>
-<li><a href="help-doc.html#all-packages">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
-</div>
-<div class="caption"><span>Package Summary</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Package</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><a href="fr/univlille/iutinfo/fxml/package-summary.html">fr.univlille.iutinfo.fxml</a></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><a href="fr/univlille/iutinfo/mvcweb/package-summary.html">fr.univlille.iutinfo.mvcweb</a></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-<div class="col-first even-row-color"><a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><a href="fr/univlille/iutinfo/utils/package-summary.html">fr.univlille.iutinfo.utils</a></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-</div>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/copy.svg b/doc/copy.svg
deleted file mode 100644
index d435f6c375412aa8568e928949c316e17b154460..0000000000000000000000000000000000000000
--- a/doc/copy.svg
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Copyright (c) 2021, Oracle and/or its affiliates. All rights reserved.
- ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--->
-
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 380 460" fill="#505050">
-  <path
-     d="M 346,8 H 108 C 90,8 75,23 75,41 v 316 c 0,18 15,33 33,33 h 238 c 18,0 33,-15 33,-33 V 41 C 379,23 364,8 346,8 Z m -8,344 H 116 c -2,0 -3,-1 -3,-3 V 49 c 0,-2 1,-3 3,-3 h 222 c 2,0 3,1 3,3 v 300 h 10e-4 c 0,2 -1,3 -3,3 z"/>
-  <path
-     d="m 290,389 v 26 h 10e-4 c 0,2 -1,3 -3,3 H 49 c -2,0 -3,-1 -3,-3 V 99 c 0,-2 1,-3 3,-3 h 27 v 0 l -5e-4,-38 H 41 C 23,58 8,73 8,91 v 332 c 10e-4,18 15,33 33,33 h 254 c 18,0 33,-15 33,-33 v -34"/>
-</svg>
diff --git a/doc/dist/univlille-iutinfo-java-utils.jar b/doc/dist/univlille-iutinfo-java-utils.jar
deleted file mode 100644
index 740493917843d8266f151f4c42aaab12fcbb21be..0000000000000000000000000000000000000000
Binary files a/doc/dist/univlille-iutinfo-java-utils.jar and /dev/null differ
diff --git a/doc/element-list b/doc/element-list
deleted file mode 100644
index 3dac7a2c7dad852c7d805aaf6335d555eeec2be1..0000000000000000000000000000000000000000
--- a/doc/element-list
+++ /dev/null
@@ -1,4 +0,0 @@
-fr.univlille.iutinfo.fxml
-fr.univlille.iutinfo.mvcweb
-fr.univlille.iutinfo.sql
-fr.univlille.iutinfo.utils
diff --git a/doc/fr/univlille/iutinfo/fxml/Controller.html b/doc/fr/univlille/iutinfo/fxml/Controller.html
deleted file mode 100644
index 0e0385cfd0ae6bc7dcf094871a2f34e70112575f..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/Controller.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Controller</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.fxml, class: Controller">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.fxml</a></div>
-<h1 title="Class Controller" class="title">Class Controller</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.fxml.Controller</div>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>Direct Known Subclasses:</dt>
-<dd><code><a href="SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></code>, <code><a href="SubSectionController.html" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></code></dd>
-</dl>
-<hr>
-<object type="image/svg+xml" data="Controller.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Controller</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe abstraite définit le minimum requis pour controller un fichier .fxml.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color"><code><a href="#fxmlPath" class="member-name-link">fxmlPath</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">Un <code>String</code> représentant le chemin du fichier .fxml.</div>
-</div>
-<div class="col-first odd-row-color"><code>protected javafx.scene.Parent</code></div>
-<div class="col-second odd-row-color"><code><a href="#root" class="member-name-link">root</a></code></div>
-<div class="col-last odd-row-color">
-<div class="block">Le 1er <code>Parent</code> du fichier .fxml.</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier</div>
-<div class="table-header col-second">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected </code></div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">Controller</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fxmlPath)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Constructeur.</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.scene.Parent</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRoot()" class="member-name-link">getRoot</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Permet de récupérer l'élément parent.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#initialize()" class="member-name-link">initialize</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Cette méthode est appellée par le <code>FXMLLoader</code>.</div>
-</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#updateStage()" class="member-name-link">updateStage</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="fxmlPath">
-<h3>fxmlPath</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">fxmlPath</span></div>
-<div class="block">Un <code>String</code> représentant le chemin du fichier .fxml.</div>
-</section>
-</li>
-<li>
-<section class="detail" id="root">
-<h3>root</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">javafx.scene.Parent</span>&nbsp;<span class="element-name">root</span></div>
-<div class="block">Le 1er <code>Parent</code> du fichier .fxml.</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String)">
-<h3>Controller</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">Controller</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fxmlPath)</span></div>
-<div class="block">Constructeur.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>fxmlPath</code> - un <code>String</code> représentant le chemin du fichier fxml.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="updateStage()">
-<h3>updateStage</h3>
-<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateStage</span>()
-                          throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-<dl class="notes">
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - en cas de problème avec le fichier .fxml.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="initialize()">
-<h3>initialize</h3>
-<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">initialize</span>()</div>
-<div class="block">Cette méthode est appellée par le <code>FXMLLoader</code>.
- Elle est généralement utile pour initialiser les gestionnaires d'évènements.</div>
-</section>
-</li>
-<li>
-<section class="detail" id="getRoot()">
-<h3>getRoot</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.scene.Parent</span>&nbsp;<span class="element-name">getRoot</span>()</div>
-<div class="block">Permet de récupérer l'élément parent.</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>l'élément parent <code>Parent</code></dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/Controller.svg b/doc/fr/univlille/iutinfo/fxml/Controller.svg
deleted file mode 100644
index 6e67a0f6069beaf9292a4fe351ebf7c90f50873a..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/Controller.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="186px" preserveAspectRatio="none" style="width:190px;height:186px;background:#FFFFFF;" version="1.1" viewBox="0 0 190 186" width="190px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.fxml.Controller--><a href="Controller.html" target="_top" title="Controller.html" xlink:actuate="onRequest" xlink:href="Controller.html" xlink:show="new" xlink:title="Controller.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.Controller"><rect codeLine="5" fill="#F1F1F1" height="153.1953" id="fr.univlille.iutinfo.fxml.Controller" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="159" x="12" y="7"/><ellipse cx="35.1" cy="26.1328" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M34.9633,21.481 L33.8095,26.5527 L36.1254,26.5527 Z M33.4691,19.2397 L36.4657,19.2397 L39.8109,31.6328 L37.3622,31.6328 L36.5985,28.5698 L33.3197,28.5698 L32.5727,31.6328 L30.1239,31.6328 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="70" x="70.4" y="25.5352">Controller</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="109" x="50.9" y="38.1563">fr.univlille.iutinfo.fxml</text><line style="stroke:#181818;stroke-width:0.5;" x1="13" x2="170" y1="45.2656" y2="45.2656"/><polygon fill="none" points="23,54.0098,27,58.0098,23,62.0098,19,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="32" y="62.8008">fxmlPath: String</text><polygon fill="none" points="23,70.498,27,74.498,23,78.498,19,74.498" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="32" y="79.2891">root: Parent</text><line style="stroke:#181818;stroke-width:0.5;" x1="13" x2="170" y1="86.2422" y2="86.2422"/><polygon fill="#FFFF44" points="23,94.9863,27,98.9863,23,102.9863,19,98.9863" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="32" y="103.7773">Controller(String)</text><ellipse cx="23" cy="116.4746" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="133" x="32" y="120.2656">updateStage(): void</text><ellipse cx="23" cy="132.9629" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="105" x="32" y="136.7539">initialize(): void</text><ellipse cx="23" cy="149.4512" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="32" y="153.2422">getRoot(): Parent</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="0" y="176.8633">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP51IyD048Nl_egX8gHKbbOy1Ub5Zmh1uAdsC2QJP60p6tOdGItzxsvQDQ9rByjyx-tmPXO08922O4kXmu9owj2ZEW_YXCwY30sN1DHs-WOLaot3RzgIDYxY0yUNe1uBXS9Y232x2VnEwUfwVUj4lREM_BDymkMwygON7Yn7RhXNbigPwhMrCy00_wfcQWQRpLIOHbkxtSBk46KyvwCzGsrIoDMpr9FYdTCKClGaEj6fMN9yCF_MTb-pxM7HToKgvOer9VCK1iVbIHyBAwEDu_wnBMhInvXX57was1_tMCGwJbT5GxoU7kxlN67ZJrsPbLbUGcPHD5Au6CW7TfBCFm00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/SceneController.html b/doc/fr/univlille/iutinfo/fxml/SceneController.html
deleted file mode 100644
index 3520816887b11e80fd8b0cc26a3d652f1d1028f8..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/SceneController.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>SceneController</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.fxml, class: SceneController">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.fxml</a></div>
-<h1 title="Class SceneController" class="title">Class SceneController</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance"><a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">fr.univlille.iutinfo.fxml.Controller</a>
-<div class="inheritance">fr.univlille.iutinfo.fxml.SceneController</div>
-</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="SceneController.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">SceneController</span>
-<span class="extends-implements">extends <a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></span></div>
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une <code>Scene</code> JavaFX</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected javafx.scene.Scene</code></div>
-<div class="col-second even-row-color"><code><a href="#scene" class="member-name-link">scene</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">La <code>Scene</code> qui contiendra l'élément <code>Parent</code> root.</div>
-</div>
-<div class="col-first odd-row-color"><code>protected javafx.stage.Stage</code></div>
-<div class="col-second odd-row-color"><code><a href="#stage" class="member-name-link">stage</a></code></div>
-<div class="col-last odd-row-color">
-<div class="block">La <code>Stage</code> (fenêtre) où sera affichée la scène.</div>
-</div>
-<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color"><code><a href="#title" class="member-name-link">title</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">Le titre de la scène</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="fields-inherited-from-class-fr.univlille.iutinfo.fxml.Controller">Fields inherited from class&nbsp;fr.univlille.iutinfo.fxml.<a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></h3>
-<code><a href="Controller.html#fxmlPath">fxmlPath</a>, <a href="Controller.html#root">root</a></code></div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String,javafx.stage.Stage)" class="member-name-link">SceneController</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fxmlPath,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
- javafx.stage.Stage&nbsp;stage)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Scene controller constructor</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.scene.Scene</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getScene()" class="member-name-link">getScene</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.stage.Stage</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getStage()" class="member-name-link">getStage</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getTitle()" class="member-name-link">getTitle</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateStage()" class="member-name-link">updateStage</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-fr.univlille.iutinfo.fxml.Controller">Methods inherited from class&nbsp;fr.univlille.iutinfo.fxml.<a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></h3>
-<code><a href="Controller.html#getRoot()">getRoot</a>, <a href="Controller.html#initialize()">initialize</a></code></div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="title">
-<h3>title</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">title</span></div>
-<div class="block">Le titre de la scène</div>
-</section>
-</li>
-<li>
-<section class="detail" id="stage">
-<h3>stage</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">javafx.stage.Stage</span>&nbsp;<span class="element-name">stage</span></div>
-<div class="block">La <code>Stage</code> (fenêtre) où sera affichée la scène.</div>
-</section>
-</li>
-<li>
-<section class="detail" id="scene">
-<h3>scene</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">javafx.scene.Scene</span>&nbsp;<span class="element-name">scene</span></div>
-<div class="block">La <code>Scene</code> qui contiendra l'élément <code>Parent</code> root.</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,javafx.stage.Stage)">
-<h3>SceneController</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SceneController</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fxmlPath,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
- javafx.stage.Stage&nbsp;stage)</span></div>
-<div class="block">Scene controller constructor</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>fxmlPath</code> - un <code>String</code> représentant le chemin du fichier fxml.</dd>
-<dd><code>title</code> - un <code>String</code> représentant le titre de la scène.</dd>
-<dd><code>stage</code> - , l <code>Stage</code> (fenêtre) où sera affichée la scène.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="updateStage()">
-<h3>updateStage</h3>
-<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateStage</span>()
-                       throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-<dl class="notes">
-<dt>Specified by:</dt>
-<dd><code><a href="Controller.html#updateStage()">updateStage</a></code>&nbsp;in class&nbsp;<code><a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></code></dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - en cas de problème avec le fichier .fxml.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getStage()">
-<h3>getStage</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.stage.Stage</span>&nbsp;<span class="element-name">getStage</span>()</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>le <code>Stage</code> dans lequel se situe la scène contrôlée.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getTitle()">
-<h3>getTitle</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getTitle</span>()</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>un <code>String</code> représentant le titre de la scène contrôlée</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getScene()">
-<h3>getScene</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.scene.Scene</span>&nbsp;<span class="element-name">getScene</span>()</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>la <code>Scene</code> contrôlée.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/SceneController.svg b/doc/fr/univlille/iutinfo/fxml/SceneController.svg
deleted file mode 100644
index 5ad7b0209af5e0cf0508159e20fdd61a8e1eae0a..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/SceneController.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="358px" preserveAspectRatio="none" style="width:298px;height:358px;background:#FFFFFF;" version="1.1" viewBox="0 0 298 358" width="298px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.fxml.SceneController--><a href="SceneController.html" target="_top" title="SceneController.html" xlink:actuate="onRequest" xlink:href="SceneController.html" xlink:show="new" xlink:title="SceneController.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.SceneController"><rect codeLine="5" fill="#F1F1F1" height="186.1719" id="fr.univlille.iutinfo.fxml.SceneController" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="282" x="9" y="146.24"/><ellipse cx="90.75" cy="165.3728" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M90.6133,160.721 L89.4595,165.7927 L91.7754,165.7927 Z M89.1191,158.4797 L92.1157,158.4797 L95.4609,170.8728 L93.0122,170.8728 L92.2485,167.8098 L88.9697,167.8098 L88.2227,170.8728 L85.7739,170.8728 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="110" x="111.25" y="164.7752">SceneController</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="109" x="111.75" y="177.3963">fr.univlille.iutinfo.fxml</text><line style="stroke:#181818;stroke-width:0.5;" x1="10" x2="290" y1="184.5056" y2="184.5056"/><polygon fill="none" points="20,193.2498,24,197.2498,20,201.2498,16,197.2498" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="29" y="202.0408">title: String</text><polygon fill="none" points="20,209.738,24,213.738,20,217.738,16,213.738" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="29" y="218.5291">stage: Stage</text><polygon fill="none" points="20,226.2263,24,230.2263,20,234.2263,16,230.2263" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="29" y="235.0173">scene: Scene</text><line style="stroke:#181818;stroke-width:0.5;" x1="10" x2="290" y1="241.9705" y2="241.9705"/><ellipse cx="20" cy="255.7146" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="256" x="29" y="259.5056">SceneController(String, String, Stage)</text><ellipse cx="20" cy="272.2029" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="29" y="275.9939">updateStage(): void</text><ellipse cx="20" cy="288.6912" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="29" y="292.4822">getStage(): Stage</text><ellipse cx="20" cy="305.1795" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="29" y="308.9705">getTitle(): String</text><ellipse cx="20" cy="321.6677" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="29" y="325.4588">getScene(): Scene</text></g></a><!--class fr.univlille.iutinfo.fxml.Controller--><a href="Controller.html" target="_top" title="Controller.html" xlink:actuate="onRequest" xlink:href="Controller.html" xlink:show="new" xlink:title="Controller.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.Controller"><rect codeLine="16" fill="#F1F1F1" height="79.2422" id="fr.univlille.iutinfo.fxml.Controller" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="159" x="70.5" y="7"/><ellipse cx="93.6" cy="26.1328" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M93.4633,21.481 L92.3095,26.5527 L94.6254,26.5527 Z M91.9691,19.2397 L94.9657,19.2397 L98.3109,31.6328 L95.8622,31.6328 L95.0985,28.5698 L91.8197,28.5698 L91.0727,31.6328 L88.6239,31.6328 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="70" x="128.9" y="25.5352">Controller</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="109" x="109.4" y="38.1563">fr.univlille.iutinfo.fxml</text><line style="stroke:#181818;stroke-width:0.5;" x1="71.5" x2="228.5" y1="45.2656" y2="45.2656"/><ellipse cx="81.5" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="133" x="90.5" y="62.8008">updateStage(): void</text><ellipse cx="81.5" cy="75.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="105" x="90.5" y="79.2891">initialize(): void</text></g></a><!--reverse link fr.univlille.iutinfo.fxml.Controller to fr.univlille.iutinfo.fxml.SceneController--><g id="link_fr.univlille.iutinfo.fxml.Controller_fr.univlille.iutinfo.fxml.SceneController"><path codeLine="21" d="M150,107.44 C150,119.64 150,132.74 150,145.77 " fill="none" id="fr.univlille.iutinfo.fxml.Controller-backto-fr.univlille.iutinfo.fxml.SceneController" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="143,107.67,150,87.67,157,107.67,143,107.67" style="stroke:#181818;stroke-width:1.0;"/></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="51" y="348.0798">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[hPCnJyCm48LtViMf2AaLhTKYfgZg0YD8I86fT339fJd9iIFx4W6b_nqxBKqJYTA1B2Tzx_pyV7O001moQ5cWAsM2CPRIIZOMjD5uuMN8AKN0ekGFo0XLwlgqGCwDnmsNRuwjJ1WI9Ps3mTpH9qQpsqMSeCOxezaQfT2-whqoNMHML9fgHPuBgfXqPaJsNgW1I0U_ggBd2CjbZuYS2xLQmQP95hvB9bOOGSoMzBh5ZkMwmRuSqM3dQIW7UjtRPBZp6aDRlScexQ_AL38sT3YAe3QKjk8Q-Q1qTm_ISqYxapfvcsKXHgCTuct_k89_dNvdyATclld9ipqzY-C-qiGabO_OQTiVyAnGyw_9vFp7ipFsZFtIp9XGNXuVxasY_Ezn8sPYEeOd9JLx2bSrMaT63qVV]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/SubSectionController.html b/doc/fr/univlille/iutinfo/fxml/SubSectionController.html
deleted file mode 100644
index 06127380ca6b2f025d0859026b865a34f9f86178..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/SubSectionController.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>SubSectionController</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.fxml, class: SubSectionController">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.fxml</a></div>
-<h1 title="Class SubSectionController" class="title">Class SubSectionController</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance"><a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">fr.univlille.iutinfo.fxml.Controller</a>
-<div class="inheritance">fr.univlille.iutinfo.fxml.SubSectionController</div>
-</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="SubSectionController.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">SubSectionController</span>
-<span class="extends-implements">extends <a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></span></div>
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une section à l'intérieur d'une fenêtre JavaFXML.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="inherited-list">
-<h3 id="fields-inherited-from-class-fr.univlille.iutinfo.fxml.Controller">Fields inherited from class&nbsp;fr.univlille.iutinfo.fxml.<a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></h3>
-<code><a href="Controller.html#fxmlPath">fxmlPath</a>, <a href="Controller.html#root">root</a></code></div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">SubSectionController</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fxmlPath)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateStage()" class="member-name-link">updateStage</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-fr.univlille.iutinfo.fxml.Controller">Methods inherited from class&nbsp;fr.univlille.iutinfo.fxml.<a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></h3>
-<code><a href="Controller.html#getRoot()">getRoot</a>, <a href="Controller.html#initialize()">initialize</a></code></div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String)">
-<h3>SubSectionController</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SubSectionController</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;fxmlPath)</span></div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>fxmlPath</code> - un <code>String</code> représentant le chemin du fichier fxml.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="updateStage()">
-<h3>updateStage</h3>
-<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateStage</span>()
-                       throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div>
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-<dl class="notes">
-<dt>Specified by:</dt>
-<dd><code><a href="Controller.html#updateStage()">updateStage</a></code>&nbsp;in class&nbsp;<code><a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></code></dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - en cas de problème avec le fichier .fxml.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/SubSectionController.svg b/doc/fr/univlille/iutinfo/fxml/SubSectionController.svg
deleted file mode 100644
index 179085eaf2f33c950a98d7830ed9a7fe1af16ebc..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/SubSectionController.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="251px" preserveAspectRatio="none" style="width:237px;height:251px;background:#FFFFFF;" version="1.1" viewBox="0 0 237 251" width="237px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.fxml.SubSectionController--><a href="SubSectionController.html" target="_top" title="SubSectionController.html" xlink:actuate="onRequest" xlink:href="SubSectionController.html" xlink:show="new" xlink:title="SubSectionController.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.SubSectionController"><rect codeLine="5" fill="#F1F1F1" height="79.2422" id="fr.univlille.iutinfo.fxml.SubSectionController" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="223" x="7" y="146.24"/><ellipse cx="42.25" cy="165.3728" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M42.1133,160.721 L40.9595,165.7927 L43.2754,165.7927 Z M40.6191,158.4797 L43.6157,158.4797 L46.9609,170.8728 L44.5122,170.8728 L43.7485,167.8098 L40.4697,167.8098 L39.7227,170.8728 L37.2739,170.8728 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="146" x="60.75" y="164.7752">SubSectionController</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="109" x="79.25" y="177.3962">fr.univlille.iutinfo.fxml</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="229" y1="184.5056" y2="184.5056"/><ellipse cx="18" cy="198.2498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="197" x="27" y="202.0408">SubSectionController(String)</text><ellipse cx="18" cy="214.738" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="27" y="218.5291">updateStage(): void</text></g></a><!--class fr.univlille.iutinfo.fxml.Controller--><a href="Controller.html" target="_top" title="Controller.html" xlink:actuate="onRequest" xlink:href="Controller.html" xlink:show="new" xlink:title="Controller.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.Controller"><rect codeLine="10" fill="#F1F1F1" height="79.2422" id="fr.univlille.iutinfo.fxml.Controller" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="159" x="39" y="7"/><ellipse cx="62.1" cy="26.1328" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M61.9633,21.481 L60.8095,26.5527 L63.1254,26.5527 Z M60.4691,19.2397 L63.4657,19.2397 L66.8109,31.6328 L64.3622,31.6328 L63.5985,28.5698 L60.3197,28.5698 L59.5727,31.6328 L57.1239,31.6328 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="70" x="97.4" y="25.5352">Controller</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="109" x="77.9" y="38.1563">fr.univlille.iutinfo.fxml</text><line style="stroke:#181818;stroke-width:0.5;" x1="40" x2="197" y1="45.2656" y2="45.2656"/><ellipse cx="50" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="133" x="59" y="62.8008">updateStage(): void</text><ellipse cx="50" cy="75.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="105" x="59" y="79.2891">initialize(): void</text></g></a><!--reverse link fr.univlille.iutinfo.fxml.Controller to fr.univlille.iutinfo.fxml.SubSectionController--><g id="link_fr.univlille.iutinfo.fxml.Controller_fr.univlille.iutinfo.fxml.SubSectionController"><path codeLine="15" d="M118.5,107.15 C118.5,120.24 118.5,133.77 118.5,145.8 " fill="none" id="fr.univlille.iutinfo.fxml.Controller-backto-fr.univlille.iutinfo.fxml.SubSectionController" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="111.5,107.58,118.5,87.58,125.5,107.58,111.5,107.58" style="stroke:#181818;stroke-width:1.0;"/></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="20.5" y="241.1502">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[hP9FIyD04CNlVegX82HebrOybTAB7XM4uAdsC4qcpS1cDknEWbhxtTr6HIofVy2zBFpUc-4zTW400Ya8rXGQp2cZ1Zsgyo1Ew2JAK751G7MZJr0osI8SqfgqSX7t7DT1FUOAkSKGO3GF_4opwUKYQzSPvSfEhfoeTzQIVv1tUR8elMc5EykH6swLfNIcVApj2330KTKChONbSWYRIckxMi6s3xe_PqEs95FFiaa_NMrJe5AckA4adK7dkEZ5tG-L_xNebthVbTf-vDaTJtxeOs5bj37YKC5VXPg_ZCT_VAUtxJc9nldIkVrrVtjpxN8R_-I5cPh9ETnP58qKJZlo8SudwIi0]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/package-summary.html b/doc/fr/univlille/iutinfo/fxml/package-summary.html
deleted file mode 100644
index be776577b1ee93c0cebeb3efc42d31afccbe3bb3..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/package-summary.html
+++ /dev/null
@@ -1,103 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.fxml</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.fxml">
-<meta name="generator" content="javadoc/PackageWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li class="nav-bar-cell1-rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#package">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Package:</p>
-<ul>
-<li>Description</li>
-<li>Related Packages</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Package:&nbsp;</li>
-<li>Description&nbsp;|&nbsp;</li>
-<li>Related Packages&nbsp;|&nbsp;</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="Package fr.univlille.iutinfo.fxml" class="title">Package fr.univlille.iutinfo.fxml</h1>
-</div>
-<hr>
-<div class="package-signature">package <span class="element-name">fr.univlille.iutinfo.fxml</span></div>
-<section class="summary">
-<object type="image/svg+xml" data="package.svg" style="display:block;margin-left:auto;margin-right:auto;max-width:100%;"></object>
-
-<ul class="summary-list">
-<li>
-<div id="class-summary">
-<div class="caption"><span>Classes</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe abstraite définit le minimum requis pour controller un fichier .fxml.</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une <code>Scene</code> JavaFX</div>
-</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SubSectionController.html" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une section à l'intérieur d'une fenêtre JavaFXML.</div>
-</div>
-</div>
-</div>
-</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/fxml/package-tree.html b/doc/fr/univlille/iutinfo/fxml/package-tree.html
deleted file mode 100644
index aff3d476c451ccd2b1b03707e4719703a9b84408..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/package-tree.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.fxml Class Hierarchy</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="tree: package: fr.univlille.iutinfo.fxml">
-<meta name="generator" content="javadoc/PackageTreeWriter">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-tree-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="nav-bar-cell1-rev">Tree</li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#tree">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 class="title">Hierarchy For Package fr.univlille.iutinfo.fxml</h1>
-</div>
-<span class="package-hierarchy-label">Package Hierarchies:</span>
-<ul class="horizontal contents-list">
-<li><a href="../../../../overview-tree.html">All Packages</a></li>
-</ul>
-<section class="hierarchy">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.fxml.<a href="Controller.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">Controller</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.fxml.<a href="SceneController.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">SceneController</a></li>
-<li class="circle">fr.univlille.iutinfo.fxml.<a href="SubSectionController.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/fr/univlille/iutinfo/fxml/package.svg b/doc/fr/univlille/iutinfo/fxml/package.svg
deleted file mode 100644
index 24032aca3dd45c0555bdee47e1a31d0a17cbc26f..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/fxml/package.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="469px" preserveAspectRatio="none" style="width:585px;height:469px;background:#FFFFFF;" version="1.1" viewBox="0 0 585 469" width="585px" zoomAndPan="magnify"><defs/><g><!--cluster fr.univlille.iutinfo.fxml--><g id="cluster_fr.univlille.iutinfo.fxml"><path d="M8.5,6 L171.5,6 A3.75,3.75 0 0 1 174,8.5 L181,28.4883 L575.5,28.4883 A2.5,2.5 0 0 1 578,30.9883 L578,441.34 A2.5,2.5 0 0 1 575.5,443.84 L8.5,443.84 A2.5,2.5 0 0 1 6,441.34 L6,8.5 A2.5,2.5 0 0 1 8.5,6 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="6" x2="181" y1="28.4883" y2="28.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="162" x="10" y="21.5352">fr.univlille.iutinfo.fxml</text></g><!--class fr.univlille.iutinfo.fxml.SubSectionController--><a href="SubSectionController.html" target="_top" title="SubSectionController.html" xlink:actuate="onRequest" xlink:href="SubSectionController.html" xlink:show="new" xlink:title="SubSectionController.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.SubSectionController"><rect codeLine="3" fill="#F1F1F1" height="80.9766" id="fr.univlille.iutinfo.fxml.SubSectionController" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="223" x="21.5" y="297.4"/><ellipse cx="56.75" cy="313.4" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M56.6133,308.7481 L55.4595,313.8199 L57.7754,313.8199 Z M55.1191,306.5069 L58.1157,306.5069 L61.4609,318.9 L59.0122,318.9 L58.2485,315.837 L54.9697,315.837 L54.2227,318.9 L51.7739,318.9 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="146" x="75.25" y="318.691">SubSectionController</text><line style="stroke:#181818;stroke-width:0.5;" x1="22.5" x2="243.5" y1="329.4" y2="329.4"/><line style="stroke:#181818;stroke-width:0.5;" x1="22.5" x2="243.5" y1="337.4" y2="337.4"/><ellipse cx="32.5" cy="351.1441" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="197" x="41.5" y="354.9352">SubSectionController(String)</text><ellipse cx="32.5" cy="367.6324" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="41.5" y="371.4234">updateStage(): void</text></g></a><!--class fr.univlille.iutinfo.fxml.Controller--><a href="Controller.html" target="_top" title="Controller.html" xlink:actuate="onRequest" xlink:href="Controller.html" xlink:show="new" xlink:title="Controller.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.Controller"><rect codeLine="8" fill="#F1F1F1" height="146.9297" id="fr.univlille.iutinfo.fxml.Controller" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="159" x="197.5" y="41"/><ellipse cx="238.15" cy="57" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M238.0133,52.3481 L236.8595,57.4199 L239.1754,57.4199 Z M236.5191,50.1069 L239.5157,50.1069 L242.8609,62.5 L240.4122,62.5 L239.6485,59.437 L236.3697,59.437 L235.6227,62.5 L233.1739,62.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="70" x="257.85" y="62.291">Controller</text><line style="stroke:#181818;stroke-width:0.5;" x1="198.5" x2="355.5" y1="73" y2="73"/><polygon fill="none" points="208.5,81.7441,212.5,85.7441,208.5,89.7441,204.5,85.7441" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="217.5" y="90.5352">fxmlPath: String</text><polygon fill="none" points="208.5,98.2324,212.5,102.2324,208.5,106.2324,204.5,102.2324" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="217.5" y="107.0234">root: Parent</text><line style="stroke:#181818;stroke-width:0.5;" x1="198.5" x2="355.5" y1="113.9766" y2="113.9766"/><polygon fill="#FFFF44" points="208.5,122.7207,212.5,126.7207,208.5,130.7207,204.5,126.7207" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="121" x="217.5" y="131.5117">Controller(String)</text><ellipse cx="208.5" cy="144.209" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="133" x="217.5" y="148">updateStage(): void</text><ellipse cx="208.5" cy="160.6973" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="105" x="217.5" y="164.4883">initialize(): void</text><ellipse cx="208.5" cy="177.1855" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="217.5" y="180.9766">getRoot(): Parent</text></g></a><!--class fr.univlille.iutinfo.fxml.SceneController--><a href="SceneController.html" target="_top" title="SceneController.html" xlink:actuate="onRequest" xlink:href="SceneController.html" xlink:show="new" xlink:title="SceneController.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml.SceneController"><rect codeLine="17" fill="#F1F1F1" height="179.9063" id="fr.univlille.iutinfo.fxml.SceneController" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="282" x="280" y="247.93"/><ellipse cx="361.75" cy="263.93" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M361.6133,259.2781 L360.4595,264.3499 L362.7754,264.3499 Z M360.1191,257.0369 L363.1157,257.0369 L366.4609,269.43 L364.0122,269.43 L363.2485,266.367 L359.9697,266.367 L359.2227,269.43 L356.7739,269.43 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="110" x="382.25" y="269.221">SceneController</text><line style="stroke:#181818;stroke-width:0.5;" x1="281" x2="561" y1="279.93" y2="279.93"/><polygon fill="none" points="291,288.6741,295,292.6741,291,296.6741,287,292.6741" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="300" y="297.4652">title: String</text><polygon fill="none" points="291,305.1624,295,309.1624,291,313.1624,287,309.1624" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="300" y="313.9534">stage: Stage</text><polygon fill="none" points="291,321.6507,295,325.6507,291,329.6507,287,325.6507" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="87" x="300" y="330.4417">scene: Scene</text><line style="stroke:#181818;stroke-width:0.5;" x1="281" x2="561" y1="337.3948" y2="337.3948"/><ellipse cx="291" cy="351.139" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="256" x="300" y="354.93">SceneController(String, String, Stage)</text><ellipse cx="291" cy="367.6273" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="133" x="300" y="371.4183">updateStage(): void</text><ellipse cx="291" cy="384.1155" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="300" y="387.9066">getStage(): Stage</text><ellipse cx="291" cy="400.6038" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111" x="300" y="404.3948">getTitle(): String</text><ellipse cx="291" cy="417.0921" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="300" y="420.8831">getScene(): Scene</text></g></a><!--reverse link fr.univlille.iutinfo.fxml.Controller to fr.univlille.iutinfo.fxml.SubSectionController--><g id="link_fr.univlille.iutinfo.fxml.Controller_fr.univlille.iutinfo.fxml.SubSectionController"><path codeLine="28" d="M218.37,205.61 C197.72,237.38 175.53,271.49 158.96,296.97 " fill="none" id="fr.univlille.iutinfo.fxml.Controller-backto-fr.univlille.iutinfo.fxml.SubSectionController" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="212.88,202.23,229.65,189.28,224.61,209.86,212.88,202.23" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link fr.univlille.iutinfo.fxml.Controller to fr.univlille.iutinfo.fxml.SceneController--><g id="link_fr.univlille.iutinfo.fxml.Controller_fr.univlille.iutinfo.fxml.SceneController"><path codeLine="29" d="M335.62,205.61 C344.68,219.53 354.03,233.91 363.07,247.82 " fill="none" id="fr.univlille.iutinfo.fxml.Controller-backto-fr.univlille.iutinfo.fxml.SceneController" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="none" points="329.39,209.86,324.35,189.28,341.12,202.23,329.39,209.86" style="stroke:#181818;stroke-width:1.0;"/></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="194.5" y="459.508">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[bLD1QiCm4Bpd5GkbO9F4j3sQtjfZ2wPkJo47HLax0baAqjgKflbxfJX9BSTkg2uBcj7kpAmD0A1OXNRBE49Xabg9HWefCH4r2LNefFYi9Emc4pWUjh9a62VWabaBURtAaPFGwaahCjezDR1O35qd6whaSkcQGUTCXwXHJaQeCWwPzNRD27DY9KPn2eqMwpDXFwemq7LDpOstcp7QfD1A256ZDQMGCOEAGkIAzjr9rFvl6tskK884a-9hc3ejaTwS9W_sL8q7adDK66uhl1c9XWH97Cx5UZCUSgM7-DPfExEtzt3eCROP_5RNx1zVm2cFCtgfniFltaKBN_WuFFUo3dWWkHDd9xh7x_byy1SO9uUk9vtU3Y57Azm-NVbuVNdMN2B1GtAVtCqWaqoHkuNR1errqwBu1m00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html b/doc/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html
deleted file mode 100644
index 3f3af9b24eda84280c059ef3e7a07a77ba5e004b..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html
+++ /dev/null
@@ -1,258 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>HtmlEntirePage</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.mvcweb, class: HtmlEntirePage">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.mvcweb</a></div>
-<h1 title="Class HtmlEntirePage" class="title">Class HtmlEntirePage</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.mvcweb.HtmlEntirePage</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="HtmlEntirePage.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">HtmlEntirePage</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe définit ce qu'est une page HTML entière (head et body)</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color"><code><a href="#title" class="member-name-link">title</a></code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-<div class="col-first odd-row-color"><code>protected <a href="View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a>[]</code></div>
-<div class="col-second odd-row-color"><code><a href="#viewList" class="member-name-link">viewList</a></code></div>
-<div class="col-last odd-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,fr.univlille.iutinfo.mvcweb.View...)" class="member-name-link">HtmlEntirePage</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
- <a href="View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a>...&nbsp;views)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getBody()" class="member-name-link">getBody</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet de définir le contenu de la balise body de la page</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getEntirePage()" class="member-name-link">getEntirePage</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'obtenir l'entièreté de la page html'</div>
-</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>protected abstract <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getHead()" class="member-name-link">getHead</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Cette méthode permet de définir le contenu de la balise head de la page</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="viewList">
-<h3>viewList</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a>[]</span>&nbsp;<span class="element-name">viewList</span></div>
-</section>
-</li>
-<li>
-<section class="detail" id="title">
-<h3>title</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">title</span></div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String,fr.univlille.iutinfo.mvcweb.View...)">
-<h3>HtmlEntirePage</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">HtmlEntirePage</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;title,
- <a href="View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a>...&nbsp;views)</span></div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>title</code> - le tire de la page</dd>
-<dd><code>views</code> - toutes les vues à intégrer dans la balise body de la page</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="getHead()">
-<h3>getHead</h3>
-<div class="member-signature"><span class="modifiers">protected abstract</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></span>&nbsp;<span class="element-name">getHead</span>()</div>
-<div class="block">Cette méthode permet de définir le contenu de la balise head de la page</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>l'entièreté de la partie head de la page html</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getBody()">
-<h3>getBody</h3>
-<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></span>&nbsp;<span class="element-name">getBody</span>()</div>
-<div class="block">Cette méthode permet de définir le contenu de la balise body de la page</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>l'entièreté de la partie body de la page html</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getEntirePage()">
-<h3>getEntirePage</h3>
-<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></span>&nbsp;<span class="element-name">getEntirePage</span>()</div>
-<div class="block">Cette méthode permet d'obtenir l'entièreté de la page html'</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>l'entièreté de la page html</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.svg b/doc/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.svg
deleted file mode 100644
index 6a945fb6a7b252f6db85bc66d1392778d1e03abb..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="186px" preserveAspectRatio="none" style="width:255px;height:186px;background:#FFFFFF;" version="1.1" viewBox="0 0 255 186" width="255px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.mvcweb.HtmlEntirePage--><a href="HtmlEntirePage.html" target="_top" title="HtmlEntirePage.html" xlink:actuate="onRequest" xlink:href="HtmlEntirePage.html" xlink:show="new" xlink:title="HtmlEntirePage.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.mvcweb.HtmlEntirePage"><rect codeLine="5" fill="#F1F1F1" height="153.1953" id="fr.univlille.iutinfo.mvcweb.HtmlEntirePage" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="234" x="7" y="7"/><ellipse cx="56.75" cy="26.1328" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M56.6133,21.481 L55.4595,26.5527 L57.7754,26.5527 Z M55.1191,19.2397 L58.1157,19.2397 L61.4609,31.6328 L59.0122,31.6328 L58.2485,28.5698 L54.9697,28.5698 L54.2227,31.6328 L51.7739,31.6328 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="105" x="87.75" y="25.5352">HtmlEntirePage</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="126" x="77.25" y="38.1563">fr.univlille.iutinfo.mvcweb</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="240" y1="45.2656" y2="45.2656"/><polygon fill="none" points="18,54.0098,22,58.0098,18,62.0098,14,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="27" y="62.8008">viewList: View[]</text><polygon fill="none" points="18,70.498,22,74.498,18,78.498,14,74.498" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="27" y="79.2891">title: String</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="240" y1="86.2422" y2="86.2422"/><ellipse cx="18" cy="99.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="208" x="27" y="103.7773">HtmlEntirePage(String, View...)</text><polygon fill="#FFFF44" points="18,111.4746,22,115.4746,18,119.4746,14,115.4746" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="164" x="27" y="120.2656">getHead(): StringBuilder</text><ellipse cx="18" cy="132.9629" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="27" y="136.7539">getBody(): StringBuilder</text><ellipse cx="18" cy="149.4512" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="202" x="27" y="153.2422">getEntirePage(): StringBuilder</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="32.5" y="176.8633">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[VP71Qy8m5CRl-oiUog1b4dJiL8O7sS230q6sIzT3J5_R1sbIajUA4__tHPswZc4kINxVb- -z90007XcChD4tKk4A6-aaMmV66hmBCbIK8s3Ty1OAGftxlxH6hcp0HoxNdfrK34fBxs7mxEaBaydJTCwrVZLC3fUon4_p8uodXHEjeKwJrYYePJA55NMdDhWUWFHmGnVzK4ZJFX1Ls6OPx8wj7SQm8zmio7C27s6LPbU5YJKci697fhpWXtvYT997nzD2YFXYt9rlleTXYJn7cKVnEMxMaixHNLE3OsRpxMt7hxB_-lQd9rTe61qKrXwczxV5YrKwVEgZc8Zn29PQ6WuKxZjqdgo9ucy0]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/mvcweb/View.html b/doc/fr/univlille/iutinfo/mvcweb/View.html
deleted file mode 100644
index 24710b5e1412ef8ec9fcbb1f6715f80d79ab047e..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/View.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>View</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.mvcweb, interface: View">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.mvcweb</a></div>
-<h1 title="Interface View" class="title">Interface View</h1>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="View.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">View</span></div>
-<div class="block">Cette interface définit ce qu'est une vue : Selon des paramètres passés lors de l'instanciation, un contenu (html ou autre) est retourné.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getContent()" class="member-name-link">getContent</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
-</div>
-</div>
-</div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="getContent()">
-<h3>getContent</h3>
-<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StringBuilder.html" title="class or interface in java.lang" class="external-link">StringBuilder</a></span>&nbsp;<span class="element-name">getContent</span>()</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>le contenu de la vue à afficher</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/mvcweb/View.svg b/doc/fr/univlille/iutinfo/mvcweb/View.svg
deleted file mode 100644
index d0264be7744f9574dc3ae3b979e8b9f3ea71b79d..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/View.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="96px" preserveAspectRatio="none" style="width:231px;height:96px;background:#FFFFFF;" version="1.1" viewBox="0 0 231 96" width="231px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.mvcweb.View--><a href="View.html" target="_top" title="View.html" xlink:actuate="onRequest" xlink:href="View.html" xlink:show="new" xlink:title="View.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.mvcweb.View"><rect codeLine="5" fill="#F1F1F1" height="62.7539" id="fr.univlille.iutinfo.mvcweb.View" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="210" x="7" y="7"/><ellipse cx="45.4" cy="26.1328" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M41.8277,22.3979 L41.8277,20.2397 L49.2071,20.2397 L49.2071,22.3979 L46.7418,22.3979 L46.7418,30.4746 L49.2071,30.4746 L49.2071,32.6328 L41.8277,32.6328 L41.8277,30.4746 L44.2931,30.4746 L44.2931,22.3979 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="32" x="111.6" y="25.5352">View</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="126" x="64.6" y="38.1563">fr.univlille.iutinfo.mvcweb</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="216" y1="45.2656" y2="45.2656"/><ellipse cx="18" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="184" x="27" y="62.8008">getContent(): StringBuilder</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="20.5" y="86.4219">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[VP11ImD138Nl_efG45gKePMUYlHGFIe8HI-rX-bifXkOIPQPx1Oj_U_ER3rvC9T7lXUIHm00CYgmZPWxwt2BdKrM9G4BuqsneQK60MEdN-09GvF_qeZQIi4Z9rPClco2oMEcRrmjbkiFmjCd_xRpjK-cPne2XO26UYNsOkBWJdYOWCtmZs_gAjZjgfXMOzZluJpUhNMsXwp9Eht0tH7rIKeMrkbi1LjDnCTDJw71DCvVhd4TrhpWHQgylxuyYmlb8GzcOURty1OiQw5mEs3A93oT_G00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/mvcweb/package-summary.html b/doc/fr/univlille/iutinfo/mvcweb/package-summary.html
deleted file mode 100644
index 780a6492b2c1daeb697ee39472e8544c4ebc5d03..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/package-summary.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.mvcweb</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.mvcweb">
-<meta name="generator" content="javadoc/PackageWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li class="nav-bar-cell1-rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#package">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Package:</p>
-<ul>
-<li>Description</li>
-<li>Related Packages</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Package:&nbsp;</li>
-<li>Description&nbsp;|&nbsp;</li>
-<li>Related Packages&nbsp;|&nbsp;</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="Package fr.univlille.iutinfo.mvcweb" class="title">Package fr.univlille.iutinfo.mvcweb</h1>
-</div>
-<hr>
-<div class="package-signature">package <span class="element-name">fr.univlille.iutinfo.mvcweb</span></div>
-<section class="summary">
-<object type="image/svg+xml" data="package.svg" style="display:block;margin-left:auto;margin-right:auto;max-width:100%;"></object>
-
-<ul class="summary-list">
-<li>
-<div id="class-summary">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
-<div id="class-summary.tabpanel" role="tabpanel">
-<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
-<div class="table-header col-first">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe définit ce qu'est une page HTML entière (head et body)</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab1">
-<div class="block">Cette interface définit ce qu'est une vue : Selon des paramètres passés lors de l'instanciation, un contenu (html ou autre) est retourné.</div>
-</div>
-</div>
-</div>
-</div>
-</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/mvcweb/package-tree.html b/doc/fr/univlille/iutinfo/mvcweb/package-tree.html
deleted file mode 100644
index 3a9d038d37aaaacb92ce43014bf33ebfc4eed074..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/package-tree.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.mvcweb Class Hierarchy</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="tree: package: fr.univlille.iutinfo.mvcweb">
-<meta name="generator" content="javadoc/PackageTreeWriter">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-tree-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="nav-bar-cell1-rev">Tree</li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#tree">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 class="title">Hierarchy For Package fr.univlille.iutinfo.mvcweb</h1>
-</div>
-<span class="package-hierarchy-label">Package Hierarchies:</span>
-<ul class="horizontal contents-list">
-<li><a href="../../../../overview-tree.html">All Packages</a></li>
-</ul>
-<section class="hierarchy">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.mvcweb.<a href="HtmlEntirePage.html" class="type-name-link" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></li>
-</ul>
-</li>
-</ul>
-</section>
-<section class="hierarchy">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li class="circle">fr.univlille.iutinfo.mvcweb.<a href="View.html" class="type-name-link" title="interface in fr.univlille.iutinfo.mvcweb">View</a></li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/fr/univlille/iutinfo/mvcweb/package.svg b/doc/fr/univlille/iutinfo/mvcweb/package.svg
deleted file mode 100644
index 7788088e3a60a858e127ff2a4b41876fbbb9291b..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/mvcweb/package.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="354px" preserveAspectRatio="none" style="width:279px;height:354px;background:#FFFFFF;" version="1.1" viewBox="0 0 279 354" width="279px" zoomAndPan="magnify"><defs/><g><!--cluster fr.univlille.iutinfo.mvcweb--><g id="cluster_fr.univlille.iutinfo.mvcweb"><path d="M8.5,6 L196.5,6 A3.75,3.75 0 0 1 199,8.5 L206,28.4883 L269.5,28.4883 A2.5,2.5 0 0 1 272,30.9883 L272,326.43 A2.5,2.5 0 0 1 269.5,328.93 L8.5,328.93 A2.5,2.5 0 0 1 6,326.43 L6,8.5 A2.5,2.5 0 0 1 8.5,6 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="6" x2="206" y1="28.4883" y2="28.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="187" x="10" y="21.5352">fr.univlille.iutinfo.mvcweb</text></g><!--class fr.univlille.iutinfo.mvcweb.View--><a href="View.html" target="_top" title="View.html" xlink:actuate="onRequest" xlink:href="View.html" xlink:show="new" xlink:title="View.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.mvcweb.View"><rect codeLine="3" fill="#F1F1F1" height="64.4883" id="fr.univlille.iutinfo.mvcweb.View" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="210" x="34" y="248.44"/><ellipse cx="118.75" cy="264.44" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M115.1777,260.7051 L115.1777,258.5469 L122.5571,258.5469 L122.5571,260.7051 L120.0918,260.7051 L120.0918,268.7818 L122.5571,268.7818 L122.5571,270.94 L115.1777,270.94 L115.1777,268.7818 L117.6431,268.7818 L117.6431,260.7051 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="32" x="139.25" y="269.731">View</text><line style="stroke:#181818;stroke-width:0.5;" x1="35" x2="243" y1="280.44" y2="280.44"/><line style="stroke:#181818;stroke-width:0.5;" x1="35" x2="243" y1="288.44" y2="288.44"/><ellipse cx="45" cy="302.1841" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="184" x="54" y="305.9752">getContent(): StringBuilder</text></g></a><!--class fr.univlille.iutinfo.mvcweb.HtmlEntirePage--><a href="HtmlEntirePage.html" target="_top" title="HtmlEntirePage.html" xlink:actuate="onRequest" xlink:href="HtmlEntirePage.html" xlink:show="new" xlink:title="HtmlEntirePage.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.mvcweb.HtmlEntirePage"><rect codeLine="7" fill="#F1F1F1" height="130.4414" id="fr.univlille.iutinfo.mvcweb.HtmlEntirePage" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="234" x="22" y="41"/><ellipse cx="82.25" cy="57" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M82.1133,52.3481 L80.9595,57.4199 L83.2754,57.4199 Z M80.6191,50.1069 L83.6157,50.1069 L86.9609,62.5 L84.5122,62.5 L83.7485,59.437 L80.4697,59.437 L79.7227,62.5 L77.2739,62.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="105" x="102.75" y="62.291">HtmlEntirePage</text><line style="stroke:#181818;stroke-width:0.5;" x1="23" x2="255" y1="73" y2="73"/><polygon fill="none" points="33,81.7441,37,85.7441,33,89.7441,29,85.7441" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="42" y="90.5352">title: String</text><line style="stroke:#181818;stroke-width:0.5;" x1="23" x2="255" y1="97.4883" y2="97.4883"/><ellipse cx="33" cy="111.2324" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="208" x="42" y="115.0234">HtmlEntirePage(String, View...)</text><polygon fill="#FFFF44" points="33,122.7207,37,126.7207,33,130.7207,29,126.7207" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="164" x="42" y="131.5117">getHead(): StringBuilder</text><ellipse cx="33" cy="144.209" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="42" y="148">getBody(): StringBuilder</text><ellipse cx="33" cy="160.6973" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="202" x="42" y="164.4883">getEntirePage(): StringBuilder</text></g></a><!--link fr.univlille.iutinfo.mvcweb.HtmlEntirePage to fr.univlille.iutinfo.mvcweb.View--><g id="link_fr.univlille.iutinfo.mvcweb.HtmlEntirePage_fr.univlille.iutinfo.mvcweb.View"><path codeLine="15" d="M139,171.93 C139,195.59 139,221.57 139,242.08 " fill="none" id="fr.univlille.iutinfo.mvcweb.HtmlEntirePage-to-fr.univlille.iutinfo.mvcweb.View" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="139,246.99,143,237.99,139,241.99,135,237.99,139,246.99" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="51" x="140" y="215.0084">viewList</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="6" x="132.4094" y="237.6757">*</text></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="41.5" y="344.598">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[ZL71Qi904BtdAmP5IAekROyUUj0MF5WGIdiH3-jc4WSskx8xYHJntxj9Qvk8KkUm0pFlpPit2m1WP85-9nL2vaHfgDAaDGegcKncHL6fFMxW44Nm4sGONLOJFWZti5hLIMovqEjrm44h3dBZsKd5HnZco3CRg8RZP09lxCZaqv9qYkwNS_nJEJ51QUazpCFu5yFaS2bp3ABTmcNvFXDhF8brMiCkF_w6Z1fBGeZacer-i357cLxtq4mFgAbDF_z7jLQuvIfdPnYFdw1trsksda0LtWLvZbeaXVLlGMPjdTvV5yzMQMHu50_YVWHBBGs7AWmgT9wiYPCl]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBConnection.html b/doc/fr/univlille/iutinfo/sql/DBConnection.html
deleted file mode 100644
index be1823bd2e870d158cff27ddacc34f1360df7b65..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBConnection.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Sun Oct 29 17:37:52 CET 2023 -->
-<title>DBRequest</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-10-29">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, class: DBRequest">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Class DBRequest" class="title">Class DBRequest&lt;E&gt;</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.sql.DBRequest&lt;E&gt;</div>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>Type Parameters:</dt>
-<dd><code>E</code> - , le type de retour attendu après exécution de la requête</dd>
-</dl>
-<hr>
-<object type="image/svg+xml" data="DBConnection.svg"  style="max-width:60%;float:right;"></object>
-<object type="image/svg+xml" data="DBRequest.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DBRequest&lt;E&gt;</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.
- La connexion est fourni à l'attribut  de type <code>Executable</code> passé en paramètre.
- Ce dernier exécute du code et retourne un résultat de type E.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected <a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a><wbr>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;</code></div>
-<div class="col-second even-row-color"><code><a href="#request" class="member-name-link">request</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">Une requête <code>Executable</code>.</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.univlille.iutinfo.sql.Executable)" class="member-name-link">DBRequest</a><wbr>(<a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;&nbsp;request)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DBRequest.html" title="type parameter in DBRequest">E</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#executeRequest()" class="member-name-link">executeRequest</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DBRequest.html" title="type parameter in DBRequest">E</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#executeTransaction(int)" class="member-name-link">executeTransaction</a><wbr>(int&nbsp;isolationLevel)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'exécuter la requête sans commit automatique de la transaction <code>requete</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="request">
-<h3>request</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;</span>&nbsp;<span class="element-name">request</span></div>
-<div class="block">Une requête <code>Executable</code>.</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(fr.univlille.iutinfo.sql.Executable)">
-<h3>DBRequest</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBRequest</span><wbr><span class="parameters">(<a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;&nbsp;request)</span></div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>request</code> - , la requête <code>Executable</code> à exécuter.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="executeRequest()">
-<h3>executeRequest</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DBRequest.html" title="type parameter in DBRequest">E</a></span>&nbsp;<span class="element-name">executeRequest</span>()
-                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>un résultat de type E.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL, et ferme la connexion de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code></dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="executeTransaction(int)">
-<h3>executeTransaction</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DBRequest.html" title="type parameter in DBRequest">E</a></span>&nbsp;<span class="element-name">executeTransaction</span><wbr><span class="parameters">(int&nbsp;isolationLevel)</span>
-                     throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'exécuter la requête sans commit automatique de la transaction <code>requete</code>.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>isolationLevel</code> - un <code>int</code> représentant le niveau d'isolation de la transaction.</dd>
-<dt>Returns:</dt>
-<dd>un résultat de type E.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL, ferme la connexion et réalise un rollback de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code></dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBConnection.svg b/doc/fr/univlille/iutinfo/sql/DBConnection.svg
deleted file mode 100644
index 29c17eefdedbbf55dbeb4ac743656f085faec1a7..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBConnection.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="153px" preserveAspectRatio="none" style="width:259px;height:153px;background:#FFFFFF;" version="1.1" viewBox="0 0 259 153" width="259px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.DBRequest<a href="DBRequest.html" target="_top" title="DBRequest.html" xlink:actuate="onRequest" xlink:href="DBRequest.html" xlink:show="new" xlink:title="DBRequest.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBRequest"><rect codeLine="5" fill="#F1F1F1" height="120.2188" id="fr.univlille.iutinfo.sql.DBRequest" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="238" x="7" y="7"/><ellipse cx="65.75" cy="26.1328" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M68.2231,32.2759 Q67.6421,32.5747 67.0029,32.7241 Q66.3638,32.8735 65.6582,32.8735 Q63.1514,32.8735 61.8315,31.2217 Q60.5117,29.5698 60.5117,26.4487 Q60.5117,23.3193 61.8315,21.6675 Q63.1514,20.0156 65.6582,20.0156 Q66.3638,20.0156 67.0112,20.165 Q67.6587,20.3145 68.2231,20.6133 L68.2231,23.3359 Q67.5923,22.7549 66.9988,22.4851 Q66.4053,22.2153 65.7744,22.2153 Q64.4297,22.2153 63.7449,23.282 Q63.0601,24.3486 63.0601,26.4487 Q63.0601,28.5405 63.7449,29.6072 Q64.4297,30.6738 65.7744,30.6738 Q66.4053,30.6738 66.9988,30.4041 Q67.5923,30.1343 68.2231,29.5532 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97" x="88.25" y="25.5352">DBRequest</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="101" x="86.25" y="38.1563">fr.univlille.iutinfo.sql</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="239" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="240" y="16.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="244" y1="45.2656" y2="45.2656"/><polygon fill="none" points="18,54.0098,22,58.0098,18,62.0098,14,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="27" y="62.8008">request: Executable&lt;E&gt;</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="244" y1="69.7539" y2="69.7539"/><ellipse cx="18" cy="83.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="212" x="27" y="87.2891">DBRequest(Executable&lt;E&gt;)</text><ellipse cx="18" cy="99.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="27" y="103.7773">executeRequest(): E</text><ellipse cx="18" cy="116.4746" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="179" x="27" y="120.2656">executeTransaction(int): E</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="34.5" y="143.8867">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP1DIyD048Rl_egX8ZGeIokUIib1svk2-76gFQpf6xAmcKrt9iKF_Ezkqb9RnRqiFEyx3yCG4GcKsDQGnXPuH6EZrH290-CanLIv5GXre-zKElYL_AOrj0e9zxpmLeG6Kt4Vc8olyjdrJM16eIxm2-_mA2-ZQTbjlFCUnhNgk0n6rdv0LkY_q1pAflES5ej3OYgj_N99d_qYtJkDMBSGdT3y3KMhzjKZpUtpyyFnuL4d-ocXvtZOkePPilq9dw9biLkFOzrtldPN0IiYbI5qt_FTxImKFjtzqepDw8BklMLDbCusYD8vicy0]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBConnectionDescriptor.html b/doc/fr/univlille/iutinfo/sql/DBConnectionDescriptor.html
deleted file mode 100644
index 859a74ac41a2d3a219beb7a2807e67db2b29d9c0..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBConnectionDescriptor.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>DBConnectionDescriptor</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, class: DBConnectionDescriptor">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li>Field</li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Class DBConnectionDescriptor" class="title">Class DBConnectionDescriptor</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.sql.DBConnectionDescriptor</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="DBConnectionDescriptor.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DBConnectionDescriptor</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe décrit une connection à une base de données (driver, url, données de connexion)</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String)" class="member-name-link">DBConnectionDescriptor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Constructeur</div>
-</div>
-<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String)" class="member-name-link">DBConnectionDescriptor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;driver,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url)</code></div>
-<div class="col-last odd-row-color">
-<div class="block">Constructeur</div>
-</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">DBConnectionDescriptor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;login,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;password)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Constructeur</div>
-</div>
-<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">DBConnectionDescriptor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;driver,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;login,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;password)</code></div>
-<div class="col-last odd-row-color">
-<div class="block">Constructeur</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDriver()" class="member-name-link">getDriver</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getLogin()" class="member-name-link">getLogin</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPassword()" class="member-name-link">getPassword</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getUrl()" class="member-name-link">getUrl</a>()</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String,java.lang.String)">
-<h3>DBConnectionDescriptor</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBConnectionDescriptor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;driver,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;login,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;password)</span></div>
-<div class="block">Constructeur</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>driver</code> - le nom du driver à utiliser</dd>
-<dd><code>url</code> - l'url à utiliser pour la connexion à la base de données</dd>
-<dd><code>login</code> - le nom de l'utilisateur de la base de données</dd>
-<dd><code>password</code> - le mot de passe de l'utilisateur</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String,java.lang.String)">
-<h3>DBConnectionDescriptor</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBConnectionDescriptor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;login,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;password)</span></div>
-<div class="block">Constructeur</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>url</code> - l'url à utiliser pour la connexion à la base de données</dd>
-<dd><code>login</code> - le nom de l'utilisateur de la base de données</dd>
-<dd><code>password</code> - le mot de passe de l'utilisateur</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String,java.lang.String)">
-<h3>DBConnectionDescriptor</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBConnectionDescriptor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;driver,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url)</span></div>
-<div class="block">Constructeur</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>driver</code> - le nom du driver à utiliser</dd>
-<dd><code>url</code> - l'url à utiliser pour la connexion à la base de données</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="&lt;init&gt;(java.lang.String)">
-<h3>DBConnectionDescriptor</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBConnectionDescriptor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;url)</span></div>
-<div class="block">Constructeur</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>url</code> - l'url à utiliser pour la connexion à la base de données</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="getDriver()">
-<h3>getDriver</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getDriver</span>()</div>
-</section>
-</li>
-<li>
-<section class="detail" id="getUrl()">
-<h3>getUrl</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getUrl</span>()</div>
-</section>
-</li>
-<li>
-<section class="detail" id="getLogin()">
-<h3>getLogin</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getLogin</span>()</div>
-</section>
-</li>
-<li>
-<section class="detail" id="getPassword()">
-<h3>getPassword</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">getPassword</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBConnectionDescriptor.svg b/doc/fr/univlille/iutinfo/sql/DBConnectionDescriptor.svg
deleted file mode 100644
index 696629e3e0f262225a810ef2a6eace281c1c3bcf..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBConnectionDescriptor.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="211px" preserveAspectRatio="none" style="width:413px;height:211px;background:#FFFFFF;" version="1.1" viewBox="0 0 413 211" width="413px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.DBConnectionDescriptor--><a href="DBConnectionDescriptor.html" target="_top" title="DBConnectionDescriptor.html" xlink:actuate="onRequest" xlink:href="DBConnectionDescriptor.html" xlink:show="new" xlink:title="DBConnectionDescriptor.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBConnectionDescriptor"><rect codeLine="5" fill="#F1F1F1" height="178.1719" id="fr.univlille.iutinfo.sql.DBConnectionDescriptor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="392" x="7" y="7"/><ellipse cx="114.75" cy="26.1328" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M117.2231,32.2759 Q116.6421,32.5747 116.0029,32.7241 Q115.3638,32.8735 114.6582,32.8735 Q112.1514,32.8735 110.8315,31.2217 Q109.5117,29.5698 109.5117,26.4487 Q109.5117,23.3193 110.8315,21.6675 Q112.1514,20.0156 114.6582,20.0156 Q115.3638,20.0156 116.0112,20.165 Q116.6587,20.3145 117.2231,20.6133 L117.2231,23.3359 Q116.5923,22.7549 115.9988,22.4851 Q115.4053,22.2153 114.7744,22.2153 Q113.4297,22.2153 112.7449,23.282 Q112.0601,24.3486 112.0601,26.4487 Q112.0601,28.5405 112.7449,29.6072 Q113.4297,30.6738 114.7744,30.6738 Q115.4053,30.6738 115.9988,30.4041 Q116.5923,30.1343 117.2231,29.5532 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="168" x="135.25" y="25.5352">DBConnectionDescriptor</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="101" x="168.75" y="38.1563">fr.univlille.iutinfo.sql</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="398" y1="45.2656" y2="45.2656"/><ellipse cx="18" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="366" x="27" y="62.8008">DBConnectionDescriptor(String, String, String, String)</text><ellipse cx="18" cy="75.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="317" x="27" y="79.2891">DBConnectionDescriptor(String, String, String)</text><ellipse cx="18" cy="91.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="268" x="27" y="95.7773">DBConnectionDescriptor(String, String)</text><ellipse cx="18" cy="108.4746" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="219" x="27" y="112.2656">DBConnectionDescriptor(String)</text><ellipse cx="18" cy="124.9629" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122" x="27" y="128.7539">getDriver(): String</text><ellipse cx="18" cy="141.4512" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="27" y="145.2422">getUrl(): String</text><ellipse cx="18" cy="157.9395" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="27" y="161.7305">getLogin(): String</text><ellipse cx="18" cy="174.4277" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="27" y="178.2188">getPassword(): String</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="111.5" y="201.8398">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[dP91IyD048Nl_egX82HObbOy5Ub1SwnGA3tL7fRD91dOpCJTQKN5_-wsvA0b0NKl0-zxytWm2m0GKO5jYx6p3ZVOsM1L0h0mNYKC3PK8s7Rw1XMXB-Ebsg8sakIpxhoD4IRtaTvnCRzR5W-FmenEIRZ0w09rAVsPUyDiMGLpO3fwyXuD7PIu4XDV_0HiX35eXcDXjni6fj7Mx_VmSUvuUZV3ncoZWRYUml3C_xd_rxtV-h_vQjGYq153bY_wb1zm6_m8MKbDFCBMwPgl4ieB_DaV6ranG2Lo6jkdLI7Ef-zqQ-PcDeMrjwn9XUjKAwR-MVu5]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBConnector.html b/doc/fr/univlille/iutinfo/sql/DBConnector.html
deleted file mode 100644
index 8dde9b30980c338a79d9f4fa5127f7b88e3b496d..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBConnector.html
+++ /dev/null
@@ -1,325 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>DBConnector</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, class: DBConnector">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Class DBConnector" class="title">Class DBConnector</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.sql.DBConnector</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="DBConnector.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DBConnector</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe gère la connexion avec une base de données</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected static <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a>&gt;</code></div>
-<div class="col-second even-row-color"><code><a href="#connectionDescriptorList" class="member-name-link">connectionDescriptorList</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">L'ensemble des connexions actuellement configurées
- Chaque connexion possède un url, un login, et un mot de passe</div>
-</div>
-<div class="col-first odd-row-color"><code>protected static <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second odd-row-color"><code><a href="#defaultConnectionName" class="member-name-link">defaultConnectionName</a></code></div>
-<div class="col-last odd-row-color">
-<div class="block">Le nom de la connexion par défaut à utiliser (la 1ère à être configurée)</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">DBConnector</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Connection.html" title="class or interface in java.sql" class="external-link">Connection</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getConnection()" class="member-name-link">getConnection</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'initier une connexion à la base de donnée.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Connection.html" title="class or interface in java.sql" class="external-link">Connection</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getConnection(java.lang.String)" class="member-name-link">getConnection</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;connectionName)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'initier une connexion à la base de donnée.</div>
-</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#init(fr.univlille.iutinfo.sql.DBConnectionDescriptor)" class="member-name-link">init</a><wbr>(<a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a>&nbsp;connectionDescriptor)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#init(java.lang.String,fr.univlille.iutinfo.sql.DBConnectionDescriptor)" class="member-name-link">init</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;connectionName,
- <a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a>&nbsp;connectionDescriptor)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#init(java.util.Properties)" class="member-name-link">init</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a>&nbsp;prop)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="connectionDescriptorList">
-<h3>connectionDescriptorList</h3>
-<div class="member-signature"><span class="modifiers">protected static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a>&gt;</span>&nbsp;<span class="element-name">connectionDescriptorList</span></div>
-<div class="block">L'ensemble des connexions actuellement configurées
- Chaque connexion possède un url, un login, et un mot de passe</div>
-</section>
-</li>
-<li>
-<section class="detail" id="defaultConnectionName">
-<h3>defaultConnectionName</h3>
-<div class="member-signature"><span class="modifiers">protected static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">defaultConnectionName</span></div>
-<div class="block">Le nom de la connexion par défaut à utiliser (la 1ère à être configurée)</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>DBConnector</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBConnector</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="init(java.lang.String,fr.univlille.iutinfo.sql.DBConnectionDescriptor)">
-<h3>init</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">init</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;connectionName,
- <a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a>&nbsp;connectionDescriptor)</span>
-                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></span></div>
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>connectionName</code> - , le nom de la connexion</dd>
-<dd><code>connectionDescriptor</code> - les informations de connexion à utiliser</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - lors d'une erreur de requête SQL.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="init(fr.univlille.iutinfo.sql.DBConnectionDescriptor)">
-<h3>init</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">init</span><wbr><span class="parameters">(<a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a>&nbsp;connectionDescriptor)</span>
-                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></span></div>
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>connectionDescriptor</code> - les informations de connexion à utiliser</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - lors d'une erreur de requête SQL.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="init(java.util.Properties)">
-<h3>init</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">init</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link">Properties</a>&nbsp;prop)</span>
-                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></span></div>
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>prop</code> - la liste des propriétées utiles à la connexion (name, driver, url, login, password)</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - lors d'une erreur de requête SQL.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getConnection(java.lang.String)">
-<h3>getConnection</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Connection.html" title="class or interface in java.sql" class="external-link">Connection</a></span>&nbsp;<span class="element-name">getConnection</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;connectionName)</span>
-                                throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'initier une connexion à la base de donnée.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>connectionName</code> - , le nom de la connexion</dd>
-<dt>Returns:</dt>
-<dd>un objet <code>Connection</code> qui représente la connexion à la base de données.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - lors d'une erreur de lecture du fichier de configuration</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - lors d'une erreur de requête SQL.</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="getConnection()">
-<h3>getConnection</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Connection.html" title="class or interface in java.sql" class="external-link">Connection</a></span>&nbsp;<span class="element-name">getConnection</span>()
-                                throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'initier une connexion à la base de donnée.</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>un objet <code>Connection</code>, qui représente la connexion à la base de données.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - lors d'une erreur de lecture du fichier de configuration</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - lors d'une erreur de requête SQL.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBConnector.svg b/doc/fr/univlille/iutinfo/sql/DBConnector.svg
deleted file mode 100644
index 653e787f2a19094c96f17126c3daf43e4e79c159..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBConnector.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="203px" preserveAspectRatio="none" style="width:493px;height:203px;background:#FFFFFF;" version="1.1" viewBox="0 0 493 203" width="493px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.DBConnector--><a href="DBConnector.html" target="_top" title="DBConnector.html" xlink:actuate="onRequest" xlink:href="DBConnector.html" xlink:show="new" xlink:title="DBConnector.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBConnector"><rect codeLine="5" fill="#F1F1F1" height="169.6836" id="fr.univlille.iutinfo.sql.DBConnector" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="472" x="7" y="7"/><ellipse cx="188.25" cy="26.1328" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M190.7231,32.2759 Q190.1421,32.5747 189.5029,32.7241 Q188.8638,32.8735 188.1582,32.8735 Q185.6514,32.8735 184.3315,31.2217 Q183.0117,29.5698 183.0117,26.4487 Q183.0117,23.3193 184.3315,21.6675 Q185.6514,20.0156 188.1582,20.0156 Q188.8638,20.0156 189.5112,20.165 Q190.1587,20.3145 190.7231,20.6133 L190.7231,23.3359 Q190.0923,22.7549 189.4988,22.4851 Q188.9053,22.2153 188.2744,22.2153 Q186.9297,22.2153 186.2449,23.282 Q185.5601,24.3486 185.5601,26.4487 Q185.5601,28.5405 186.2449,29.6072 Q186.9297,30.6738 188.2744,30.6738 Q188.9053,30.6738 189.4988,30.4041 Q190.0923,30.1343 190.7231,29.5532 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="214.25" y="25.5352">DBConnector</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="101" x="208.75" y="38.1563">fr.univlille.iutinfo.sql</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="478" y1="45.2656" y2="45.2656"/><polygon fill="none" points="18,54.0098,22,58.0098,18,62.0098,14,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="446" x="27" y="62.8008">connectionDescriptorList: Map&lt;String, DBConnectionDescriptor&gt;</text><polygon fill="none" points="18,70.498,22,74.498,18,78.498,14,74.498" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="215" x="27" y="79.2891">defaultConnectionName: String</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="478" y1="86.2422" y2="86.2422"/><ellipse cx="18" cy="99.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="286" x="27" y="103.7773">init(String, DBConnectionDescriptor): void</text><ellipse cx="18" cy="116.4746" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="237" x="27" y="120.2656">init(DBConnectionDescriptor): void</text><ellipse cx="18" cy="132.9629" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="139" x="27" y="136.7539">init(Properties): void</text><ellipse cx="18" cy="149.4512" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="239" x="27" y="153.2422">getConnection(String): Connection</text><ellipse cx="18" cy="165.9395" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="198" x="27" y="169.7305">getConnection(): Connection</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="151.5" y="193.3516">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[dP91ImCn48Nl_egX8YYMq8gdfVIWUsobK3pL7a9sjZkGdQoPQK5B_xjfkzXghOAvXBpvtiia3020e0BR6gMn3gVOs6WrHE30U97AK561W7MZRr0I-aA-gpLg5PAyqvst8j0P2BrZrhyVvW-FWHbTYdpXLkqDosYMJ2jFtgEXfHANmSYhxu0LE5SqHramcnsTJAMrdyzXlMjXkzQYLibjuDBj8GgSexX8JU9799h1s3Q3gKRYHHS-mxvmmn_o2Ypjqki1Vqf_by4-w9I_9IQz_lsQcmnMWOfpvd-P9Z4q69LGpeCBF7f6ssEY3zgVdbDwquu1icA4CeJjzZmUvS7vD6XtfczwNPXuovfKk5fXb5tI1m00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBLoop.html b/doc/fr/univlille/iutinfo/sql/DBLoop.html
deleted file mode 100644
index 7c92ed94c9738ceac98473eb59c68abf10a7bf98..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBLoop.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>DBLoop</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, class: DBLoop">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Class DBLoop" class="title">Class DBLoop&lt;E&gt;</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.sql.DBLoop&lt;E&gt;</div>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>Type Parameters:</dt>
-<dd><code>E</code> - , le type de l'objet qui sera manipulé lors de la boucle</dd>
-</dl>
-<hr>
-<object type="image/svg+xml" data="DBLoop.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DBLoop&lt;E&gt;</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.
- En particulier, elle permet de parcourir tous les résultats à travers un ResultSet
- Le ResultSet est fourni à l'attribut  de type <code>Loopable</code> passé en paramètre.
- Ce dernier exécute du le même code pour chaque ligne.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected <a href="Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable</a><wbr>&lt;<a href="DBLoop.html" title="type parameter in DBLoop">E</a>&gt;</code></div>
-<div class="col-second even-row-color"><code><a href="#loop" class="member-name-link">loop</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">Le morceau de code qui sera exécuté à chaque ligne de résultat <code>Executable</code>.</div>
-</div>
-<div class="col-first odd-row-color"><code>protected <a href="DBLoop.html" title="type parameter in DBLoop">E</a></code></div>
-<div class="col-second odd-row-color"><code><a href="#obj" class="member-name-link">obj</a></code></div>
-<div class="col-last odd-row-color">
-<div class="block">L'objet qui sera manipulé par l'objet de type <code>Loopable</code></div>
-</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(E,java.lang.String,fr.univlille.iutinfo.sql.Loopable)" class="member-name-link">DBLoop</a><wbr>(<a href="DBLoop.html" title="type parameter in DBLoop">E</a>&nbsp;obj,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sqlRequest,
- <a href="Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable</a>&lt;<a href="DBLoop.html" title="type parameter in DBLoop">E</a>&gt;&nbsp;loop)</code></div>
-<div class="col-last even-row-color">
-<div class="block">Constructeur</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DBLoop.html" title="type parameter in DBLoop">E</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#executeLoop()" class="member-name-link">executeLoop</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="obj">
-<h3>obj</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="DBLoop.html" title="type parameter in DBLoop">E</a></span>&nbsp;<span class="element-name">obj</span></div>
-<div class="block">L'objet qui sera manipulé par l'objet de type <code>Loopable</code></div>
-</section>
-</li>
-<li>
-<section class="detail" id="loop">
-<h3>loop</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable</a>&lt;<a href="DBLoop.html" title="type parameter in DBLoop">E</a>&gt;</span>&nbsp;<span class="element-name">loop</span></div>
-<div class="block">Le morceau de code qui sera exécuté à chaque ligne de résultat <code>Executable</code>.</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(E,java.lang.String,fr.univlille.iutinfo.sql.Loopable)">
-<h3 id="&lt;init&gt;(java.lang.Object,java.lang.String,fr.univlille.iutinfo.sql.Loopable)">DBLoop</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBLoop</span><wbr><span class="parameters">(<a href="DBLoop.html" title="type parameter in DBLoop">E</a>&nbsp;obj,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sqlRequest,
- <a href="Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable</a>&lt;<a href="DBLoop.html" title="type parameter in DBLoop">E</a>&gt;&nbsp;loop)</span></div>
-<div class="block">Constructeur</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>obj</code> - un objet de type E, qui sera manipulé par l'objet de type <code>Loopable</code></dd>
-<dd><code>sqlRequest</code> - la requête SQL à exécuter.</dd>
-<dd><code>loop</code> - le morceau de code <code>Loopable</code> à exécuter à chaque ligne de résultat.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="executeLoop()">
-<h3>executeLoop</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DBLoop.html" title="type parameter in DBLoop">E</a></span>&nbsp;<span class="element-name">executeLoop</span>()
-              throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>l'objet qui a été transmis lors de l'instantiation.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL, et ferme la connexion de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - en cas d'erreur SQL, et ferme la connexion de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBLoop.svg b/doc/fr/univlille/iutinfo/sql/DBLoop.svg
deleted file mode 100644
index ea663b7b824009eeb571d040a052a0ae366f8b5b..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBLoop.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="153px" preserveAspectRatio="none" style="width:267px;height:153px;background:#FFFFFF;" version="1.1" viewBox="0 0 267 153" width="267px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.DBLoop--><a href="DBLoop.html" target="_top" title="DBLoop.html" xlink:actuate="onRequest" xlink:href="DBLoop.html" xlink:show="new" xlink:title="DBLoop.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBLoop"><rect codeLine="5" fill="#F1F1F1" height="120.2188" id="fr.univlille.iutinfo.sql.DBLoop" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="246" x="7" y="7"/><ellipse cx="69.75" cy="26.1328" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M72.2231,32.2759 Q71.6421,32.5747 71.0029,32.7241 Q70.3638,32.8735 69.6582,32.8735 Q67.1514,32.8735 65.8315,31.2217 Q64.5117,29.5698 64.5117,26.4487 Q64.5117,23.3193 65.8315,21.6675 Q67.1514,20.0156 69.6582,20.0156 Q70.3638,20.0156 71.0112,20.165 Q71.6587,20.3145 72.2231,20.6133 L72.2231,23.3359 Q71.5923,22.7549 70.9988,22.4851 Q70.4053,22.2153 69.7744,22.2153 Q68.4297,22.2153 67.7449,23.282 Q67.0601,24.3486 67.0601,26.4487 Q67.0601,28.5405 67.7449,29.6072 Q68.4297,30.6738 69.7744,30.6738 Q70.4053,30.6738 70.9988,30.4041 Q71.5923,30.1343 72.2231,29.5532 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="114.75" y="25.5352">DBLoop</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="101" x="90.25" y="38.1563">fr.univlille.iutinfo.sql</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="247" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="248" y="16.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="252" y1="45.2656" y2="45.2656"/><polygon fill="none" points="18,54.0098,22,58.0098,18,62.0098,14,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="27" y="62.8008">obj: E</text><polygon fill="none" points="18,70.498,22,74.498,18,78.498,14,74.498" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="132" x="27" y="79.2891">loop: Loopable&lt;E&gt;</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="252" y1="86.2422" y2="86.2422"/><ellipse cx="18" cy="99.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="220" x="27" y="103.7773">DBLoop(E, String, Loopable&lt;E&gt;)</text><ellipse cx="18" cy="116.4746" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="27" y="120.2656">executeLoop(): E</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="38.5" y="143.8867">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP1TIyCm58Rl_HM7YR1Y2PjuLKOlPBsR80olvYwoxjH6Ji-foUdm0_-xQJkT3CnDakTzyeO4022W0ji6GsjBN6DhlLNnmC9u4MEetHu1crRVeN98-t1E6zHQ8XvuIJO4c2o2-y1iVfilxrOYxHCVmIollEdO7SWHeN6TEgx4X5UQW0tmNsZ6caMHmsOphasj3Msty3bSsuzBsRraK9ps5BKCUjdk2EFXt-Xwx9WMAQpLEtvE_sh9oSCtB3l5GKv-oh-EJqLMz529zDFZ_Mef9SNFl35pCqlXWInhf71rG1-Sy3Jv1W00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBRequest.html b/doc/fr/univlille/iutinfo/sql/DBRequest.html
deleted file mode 100644
index aca5b012b80d4e6c7b37b20a60b0c1fe012187dd..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBRequest.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>DBRequest</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, class: DBRequest">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Class DBRequest" class="title">Class DBRequest&lt;E&gt;</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.sql.DBRequest&lt;E&gt;</div>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>Type Parameters:</dt>
-<dd><code>E</code> - , le type de retour attendu après exécution de la requête</dd>
-</dl>
-<hr>
-<object type="image/svg+xml" data="DBRequest.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DBRequest&lt;E&gt;</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.
- La connexion est fourni à l'attribut  de type <code>Executable</code> passé en paramètre.
- Ce dernier exécute du code et retourne un résultat de type E.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected <a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a><wbr>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;</code></div>
-<div class="col-second even-row-color"><code><a href="#request" class="member-name-link">request</a></code></div>
-<div class="col-last even-row-color">
-<div class="block">Une requête <code>Executable</code>.</div>
-</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.univlille.iutinfo.sql.Executable)" class="member-name-link">DBRequest</a><wbr>(<a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;&nbsp;request)</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DBRequest.html" title="type parameter in DBRequest">E</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#executeRequest()" class="member-name-link">executeRequest</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="DBRequest.html" title="type parameter in DBRequest">E</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#executeTransaction(int)" class="member-name-link">executeTransaction</a><wbr>(int&nbsp;isolationLevel)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'exécuter la requête sans commit automatique de la transaction <code>requete</code>.</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="request">
-<h3>request</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;</span>&nbsp;<span class="element-name">request</span></div>
-<div class="block">Une requête <code>Executable</code>.</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;(fr.univlille.iutinfo.sql.Executable)">
-<h3>DBRequest</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DBRequest</span><wbr><span class="parameters">(<a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;<a href="DBRequest.html" title="type parameter in DBRequest">E</a>&gt;&nbsp;request)</span></div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>request</code> - , la requête <code>Executable</code> à exécuter.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="executeRequest()">
-<h3>executeRequest</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DBRequest.html" title="type parameter in DBRequest">E</a></span>&nbsp;<span class="element-name">executeRequest</span>()
-                 throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-<dl class="notes">
-<dt>Returns:</dt>
-<dd>un résultat de type E.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL, et ferme la connexion de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - en cas d'erreur SQL, et ferme la connexion de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="executeTransaction(int)">
-<h3>executeTransaction</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="DBRequest.html" title="type parameter in DBRequest">E</a></span>&nbsp;<span class="element-name">executeTransaction</span><wbr><span class="parameters">(int&nbsp;isolationLevel)</span>
-                     throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'exécuter la requête sans commit automatique de la transaction <code>requete</code>.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>isolationLevel</code> - un <code>int</code> représentant le niveau d'isolation de la transaction.</dd>
-<dt>Returns:</dt>
-<dd>un résultat de type E.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL, ferme la connexion et réalise un rollback de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - en cas d'erreur SQL, et ferme la connexion de manière automatique.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code> - lorsque le driver est introuvable</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/DBRequest.svg b/doc/fr/univlille/iutinfo/sql/DBRequest.svg
deleted file mode 100644
index d8ab4f234d05dc8670040517ea1551bf90b1001d..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/DBRequest.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="153px" preserveAspectRatio="none" style="width:235px;height:153px;background:#FFFFFF;" version="1.1" viewBox="0 0 235 153" width="235px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.DBRequest--><a href="DBRequest.html" target="_top" title="DBRequest.html" xlink:actuate="onRequest" xlink:href="DBRequest.html" xlink:show="new" xlink:title="DBRequest.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBRequest"><rect codeLine="5" fill="#F1F1F1" height="120.2188" id="fr.univlille.iutinfo.sql.DBRequest" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="214" x="7" y="7"/><ellipse cx="53.75" cy="26.1328" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M56.2231,32.2759 Q55.6421,32.5747 55.0029,32.7241 Q54.3638,32.8735 53.6582,32.8735 Q51.1514,32.8735 49.8315,31.2217 Q48.5117,29.5698 48.5117,26.4487 Q48.5117,23.3193 49.8315,21.6675 Q51.1514,20.0156 53.6582,20.0156 Q54.3638,20.0156 55.0112,20.165 Q55.6587,20.3145 56.2231,20.6133 L56.2231,23.3359 Q55.5923,22.7549 54.9988,22.4851 Q54.4053,22.2153 53.7744,22.2153 Q52.4297,22.2153 51.7449,23.282 Q51.0601,24.3486 51.0601,26.4487 Q51.0601,28.5405 51.7449,29.6072 Q52.4297,30.6738 53.7744,30.6738 Q54.4053,30.6738 54.9988,30.4041 Q55.5923,30.1343 56.2231,29.5532 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="88.25" y="25.5352">DBRequest</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="101" x="74.25" y="38.1563">fr.univlille.iutinfo.sql</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="215" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="216" y="16.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="220" y1="45.2656" y2="45.2656"/><polygon fill="none" points="18,54.0098,22,58.0098,18,62.0098,14,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="27" y="62.8008">request: Executable&lt;E&gt;</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="220" y1="69.7539" y2="69.7539"/><ellipse cx="18" cy="83.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="188" x="27" y="87.2891">DBRequest(Executable&lt;E&gt;)</text><ellipse cx="18" cy="99.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="27" y="103.7773">executeRequest(): E</text><ellipse cx="18" cy="116.4746" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="179" x="27" y="120.2656">executeTransaction(int): E</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="22.5" y="143.8867">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP1DImCn48Rl_egXHUYYX5OybR87QMyLn8zJxM5CPzb0ThBDp1O_yB-RNMj4nLn2dkUTDp00048AZ0r9YvRkgCM86Y9mO3f96cgt8w2crHUe7FcT_AODQHqI7hZrA0AZXRXNciyko-NLBUqx4dta8vkMLJGTkuDttfDndJgkWf6z7m4A_2TDRbgiIjXiyjFKslZj5jw6__ipZfzc3gjdiftYawSqbFrPdfty21JV2HeuVSMALFL7taTaGQikyCInvipxSHF4IX6g4FhhuNgz3DQdNL-OcPcUmur7raJXz41H-exY0m00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/Executable.html b/doc/fr/univlille/iutinfo/sql/Executable.html
deleted file mode 100644
index 36743b25515062dbab9bd65a1220dc69a4a2ad95..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/Executable.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Executable</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, interface: Executable">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Interface Executable" class="title">Interface Executable&lt;E&gt;</h1>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>Type Parameters:</dt>
-<dd><code>E</code> - le type de retour</dd>
-</dl>
-<hr>
-<object type="image/svg+xml" data="Executable.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Executable&lt;E&gt;</span></div>
-<div class="block">Cette interface définit ce qu'est une requête exécutable.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Executable.html" title="type parameter in Executable">E</a></code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#execute(java.sql.Connection)" class="member-name-link">execute</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Connection.html" title="class or interface in java.sql" class="external-link">Connection</a>&nbsp;c)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Permet d'exécuter une requête SQL.</div>
-</div>
-</div>
-</div>
-</div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="execute(java.sql.Connection)">
-<h3>execute</h3>
-<div class="member-signature"><span class="return-type"><a href="Executable.html" title="type parameter in Executable">E</a></span>&nbsp;<span class="element-name">execute</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/Connection.html" title="class or interface in java.sql" class="external-link">Connection</a>&nbsp;c)</span>
-   throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></span></div>
-<div class="block">Permet d'exécuter une requête SQL.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>c</code> - , la <code>Connection</code> à la base de données</dd>
-<dt>Returns:</dt>
-<dd>un résultat de type E.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/Executable.svg b/doc/fr/univlille/iutinfo/sql/Executable.svg
deleted file mode 100644
index edcca934b00c6d3890daf1049ef6018aa0cf75e2..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/Executable.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="96px" preserveAspectRatio="none" style="width:206px;height:96px;background:#FFFFFF;" version="1.1" viewBox="0 0 206 96" width="206px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.Executable--><a href="Executable.html" target="_top" title="Executable.html" xlink:actuate="onRequest" xlink:href="Executable.html" xlink:show="new" xlink:title="Executable.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.Executable"><rect codeLine="5" fill="#F1F1F1" height="62.7539" id="fr.univlille.iutinfo.sql.Executable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="185" x="7" y="7"/><ellipse cx="40.45" cy="26.1328" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M36.8777,22.3979 L36.8777,20.2397 L44.2571,20.2397 L44.2571,22.3979 L41.7918,22.3979 L41.7918,30.4746 L44.2571,30.4746 L44.2571,32.6328 L36.8777,32.6328 L36.8777,30.4746 L39.3431,30.4746 L39.3431,22.3979 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="75" x="71.55" y="25.5352">Executable</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="101" x="58.55" y="38.1563">fr.univlille.iutinfo.sql</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="186" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="187" y="16.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="191" y1="45.2656" y2="45.2656"/><ellipse cx="18" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="159" x="27" y="62.8008">execute(Connection): E</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="8" y="86.4219">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP11ImD138Nl_ef7GMXHXhPuAcKlTMyAWdYgFKod6JOmcrbdiaKj_U-TNOM2O2uXNruUZm109eNObd9d7RrIPvFLc21HwAQiqV21G6sdN_1CuP3_qfQqYGMFd4Kf-UA4oJhpDwqM3rNzIQvNkm_qBhzmNlbaUk5Zu138SAyiFfhy4IQm6VyjpTLgNLVORg-pQRGDknrEOuoXJdQVDLcdPzpHgAFf9egGKuuoMw4UfUUVu8w6vF0n3ktj-Uankb1UipGBCx_7Ix2YXUBsI2cN- -di0W00]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/Loopable.html b/doc/fr/univlille/iutinfo/sql/Loopable.html
deleted file mode 100644
index 07bdf1da92651c34b48f262764f569bb7297b2f8..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/Loopable.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Loopable</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, interface: Loopable">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Interface Loopable" class="title">Interface Loopable&lt;E&gt;</h1>
-</div>
-<section class="class-description" id="class-description">
-<dl class="notes">
-<dt>Type Parameters:</dt>
-<dd><code>E</code> - le type de retour</dd>
-</dl>
-<hr>
-<object type="image/svg+xml" data="Loopable.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Loopable&lt;E&gt;</span></div>
-<div class="block">Cette interface définit ce qu'est une fonction qui peut être appliqué à chaque ligne de résultat de requête sql.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#doLoop(E,java.sql.ResultSet)" class="member-name-link">doLoop</a><wbr>(<a href="Loopable.html" title="type parameter in Loopable">E</a>&nbsp;obj,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/ResultSet.html" title="class or interface in java.sql" class="external-link">ResultSet</a>&nbsp;rs)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
-<div class="block">Permet d'exécuter du code sur une seule ligne de résultat de requête SQL.</div>
-</div>
-</div>
-</div>
-</div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="doLoop(E,java.sql.ResultSet)">
-<h3 id="doLoop(java.lang.Object,java.sql.ResultSet)">doLoop</h3>
-<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">doLoop</span><wbr><span class="parameters">(<a href="Loopable.html" title="type parameter in Loopable">E</a>&nbsp;obj,
- <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/ResultSet.html" title="class or interface in java.sql" class="external-link">ResultSet</a>&nbsp;rs)</span>
-     throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></span></div>
-<div class="block">Permet d'exécuter du code sur une seule ligne de résultat de requête SQL.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>obj</code> - l'objet de type E qui sera manipulé.</dd>
-<dd><code>rs</code> - la ligne de résultat en cours de traitement</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL.</dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/Loopable.svg b/doc/fr/univlille/iutinfo/sql/Loopable.svg
deleted file mode 100644
index e107a4f91c75e4b281e9e4913c077f19fc853fcd..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/Loopable.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="96px" preserveAspectRatio="none" style="width:225px;height:96px;background:#FFFFFF;" version="1.1" viewBox="0 0 225 96" width="225px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.Loopable--><a href="Loopable.html" target="_top" title="Loopable.html" xlink:actuate="onRequest" xlink:href="Loopable.html" xlink:show="new" xlink:title="Loopable.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.Loopable"><rect codeLine="5" fill="#F1F1F1" height="62.7539" id="fr.univlille.iutinfo.sql.Loopable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="204" x="7" y="7"/><ellipse cx="49" cy="26.1328" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M45.4277,22.3979 L45.4277,20.2397 L52.8071,20.2397 L52.8071,22.3979 L50.3418,22.3979 L50.3418,30.4746 L52.8071,30.4746 L52.8071,32.6328 L45.4277,32.6328 L45.4277,30.4746 L47.8931,30.4746 L47.8931,22.3979 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="63" x="88" y="25.5352">Loopable</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="101" x="69" y="38.1563">fr.univlille.iutinfo.sql</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="205" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="206" y="16.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="210" y1="45.2656" y2="45.2656"/><ellipse cx="18" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="178" x="27" y="62.8008">doLoop(E, ResultSet): void</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="17.5" y="86.4219">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP11Qy9048Nl_HKFeQ1K5YqzYUIaDmMfz6GzhCaiMPZifBkJG2l-zsxIUYbqBiDyx_5u300aKWJRK6fjIKTgRRGg4K42FMGPjQy8rBJw2UU9g_INDgIrP3no7vIYoqcOh9F_ejNofTY9jFR2z1v-qQ9mqNJ1z-oPoVXEVN1YqWTFO1F-4yqzQBqjS3hTBrDhm-SphcE1OQxsaZJQKczugcJmJRTpl5BgM8-ainLwyTLel_tKBcde3ISohBVzRYCbvySycwLPp75W6pHJFFOKavSmdNq3]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/Utils.html b/doc/fr/univlille/iutinfo/sql/Utils.html
deleted file mode 100644
index d8b70d2ba8514bca4c77b0652ace7ec1aafc4147..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/Utils.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Utils</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql, class: Utils">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li>Field</li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<h1 title="Class Utils" class="title">Class Utils</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.sql.Utils</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="Utils.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Utils</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-<div class="block">Cette classe regroupe un ensemble de requêtes SQL les plus fréquentes.</div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Utils</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr>&lt;<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&gt;</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#selectMultipleKeysAsColumnsName(java.lang.String)" class="member-name-link">selectMultipleKeysAsColumnsName</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sqlRequest)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'éxécuter une requête SELECT retournant plusieurs colonnes, et 1 ou plusieurs lignes.</div>
-</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#selectOneCell(java.lang.String)" class="member-name-link">selectOneCell</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sqlRequest)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
-<div class="block">Cette méthode permet d'éxécuter une requête SELECT retournant un seul résultat (1 ligne, 1 colonne).</div>
-</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>Utils</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Utils</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="selectOneCell(java.lang.String)">
-<h3>selectOneCell</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">selectOneCell</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sqlRequest)</span>
-                            throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'éxécuter une requête SELECT retournant un seul résultat (1 ligne, 1 colonne).</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>sqlRequest</code> - , la requête à exécuter.</dd>
-<dt>Returns:</dt>
-<dd>Un String représentant le résultat.</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code></dd>
-</dl>
-</section>
-</li>
-<li>
-<section class="detail" id="selectMultipleKeysAsColumnsName(java.lang.String)">
-<h3>selectMultipleKeysAsColumnsName</h3>
-<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&gt;</span>&nbsp;<span class="element-name">selectMultipleKeysAsColumnsName</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;sqlRequest)</span>
-                                                                throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a>,
-<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></span></div>
-<div class="block">Cette méthode permet d'éxécuter une requête SELECT retournant plusieurs colonnes, et 1 ou plusieurs lignes.</div>
-<dl class="notes">
-<dt>Parameters:</dt>
-<dd><code>sqlRequest</code> - , la requête à exécuter.</dd>
-<dt>Returns:</dt>
-<dd>un tableau associatif contenant le résultat de la requête, sous forme de Liste de Map.
- Chaque entrées de la liste représente une ligne, et la clef de la Map est le nom de la colonne</dd>
-<dt>Throws:</dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.sql/java/sql/SQLException.html" title="class or interface in java.sql" class="external-link">SQLException</a></code> - en cas d'erreur SQL.</dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code></dd>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/ClassNotFoundException.html" title="class or interface in java.lang" class="external-link">ClassNotFoundException</a></code></dd>
-</dl>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/Utils.svg b/doc/fr/univlille/iutinfo/sql/Utils.svg
deleted file mode 100644
index b7d1426b0b60f7308bfec37510507469dc953567..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/Utils.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="113px" preserveAspectRatio="none" style="width:534px;height:113px;background:#FFFFFF;" version="1.1" viewBox="0 0 534 113" width="534px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.sql.Utils--><a href="Utils.html" target="_top" title="Utils.html" xlink:actuate="onRequest" xlink:href="Utils.html" xlink:show="new" xlink:title="Utils.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.Utils"><rect codeLine="5" fill="#F1F1F1" height="79.2422" id="fr.univlille.iutinfo.sql.Utils" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="513" x="7" y="7"/><ellipse cx="208.75" cy="26.1328" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M208.6133,21.481 L207.4595,26.5527 L209.7754,26.5527 Z M207.1191,19.2397 L210.1157,19.2397 L213.4609,31.6328 L211.0122,31.6328 L210.2485,28.5698 L206.9697,28.5698 L206.2227,31.6328 L203.7739,31.6328 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="30" x="264.75" y="25.5352">Utils</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="101" x="229.25" y="38.1563">fr.univlille.iutinfo.sql</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="519" y1="45.2656" y2="45.2656"/><ellipse cx="18" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="193" x="27" y="62.8008">selectOneCell(String): String</text><ellipse cx="18" cy="75.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="487" x="27" y="79.2891">selectMultipleKeysAsColumnsName(String): List&lt;Map&lt;String, String&gt;&gt;</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="172" y="102.9102">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[TP11Qm9138Nl_HL1A2YLGKjF8Wl5tkgs1V5aFOnZjXl8PhQJh635_zvrLoWKpEKbNy8BF000HGFn5Mhj0wwmzibRJ21HyAvTGqbx1AngEq91o7lzJokqChQuutwdbdmm2EnLOJ1N-i7Pz2bR6x5-odMUP4LoZT21YHaTDKPIHAVVF02lS6lfEXVOR3frfLMytSAf-tofavet2cTuK6GCzYwuGERXoXB9rsW6VNFpFc_Og6PynQC-wo9oKuc-jU7yEIn9RPxxUjwJyTKoophJSvz2G35CKCHuaNM-V8c1svmVtTHDnl31NgobS7_0f1HbEFe5]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/package-summary.html b/doc/fr/univlille/iutinfo/sql/package-summary.html
deleted file mode 100644
index ddee2cd6c217ab39cc9c87ec536c7f1c3fa33d27..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/package-summary.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.sql</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.sql">
-<meta name="generator" content="javadoc/PackageWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li class="nav-bar-cell1-rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#package">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Package:</p>
-<ul>
-<li>Description</li>
-<li>Related Packages</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Package:&nbsp;</li>
-<li>Description&nbsp;|&nbsp;</li>
-<li>Related Packages&nbsp;|&nbsp;</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="Package fr.univlille.iutinfo.sql" class="title">Package fr.univlille.iutinfo.sql</h1>
-</div>
-<hr>
-<div class="package-signature">package <span class="element-name">fr.univlille.iutinfo.sql</span></div>
-<section class="summary">
-<object type="image/svg+xml" data="package.svg" style="display:block;margin-left:auto;margin-right:auto;max-width:100%;"></object>
-
-<ul class="summary-list">
-<li>
-<div id="class-summary">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
-<div id="class-summary.tabpanel" role="tabpanel">
-<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
-<div class="table-header col-first">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe décrit une connection à une base de données (driver, url, données de connexion)</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe gère la connexion avec une base de données</div>
-</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DBLoop.html" title="class in fr.univlille.iutinfo.sql">DBLoop</a>&lt;E&gt;</div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DBRequest.html" title="class in fr.univlille.iutinfo.sql">DBRequest</a>&lt;E&gt;</div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.</div>
-</div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;E&gt;</div>
-<div class="col-last even-row-color class-summary class-summary-tab1">
-<div class="block">Cette interface définit ce qu'est une requête exécutable.</div>
-</div>
-<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable</a>&lt;E&gt;</div>
-<div class="col-last odd-row-color class-summary class-summary-tab1">
-<div class="block">Cette interface définit ce qu'est une fonction qui peut être appliqué à chaque ligne de résultat de requête sql.</div>
-</div>
-<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Utils.html" title="class in fr.univlille.iutinfo.sql">Utils</a></div>
-<div class="col-last even-row-color class-summary class-summary-tab2">
-<div class="block">Cette classe regroupe un ensemble de requêtes SQL les plus fréquentes.</div>
-</div>
-</div>
-</div>
-</div>
-</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/sql/package-tree.html b/doc/fr/univlille/iutinfo/sql/package-tree.html
deleted file mode 100644
index cfa276a51cab4ba78ab398bcad236f16202d266f..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/package-tree.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.sql Class Hierarchy</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="tree: package: fr.univlille.iutinfo.sql">
-<meta name="generator" content="javadoc/PackageTreeWriter">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-tree-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="nav-bar-cell1-rev">Tree</li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#tree">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 class="title">Hierarchy For Package fr.univlille.iutinfo.sql</h1>
-</div>
-<span class="package-hierarchy-label">Package Hierarchies:</span>
-<ul class="horizontal contents-list">
-<li><a href="../../../../overview-tree.html">All Packages</a></li>
-</ul>
-<section class="hierarchy">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="DBConnectionDescriptor.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="DBConnector.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBConnector</a></li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="DBLoop.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBLoop</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="DBRequest.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBRequest</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="Utils.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">Utils</a></li>
-</ul>
-</li>
-</ul>
-</section>
-<section class="hierarchy">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="Executable.html" class="type-name-link" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="Loopable.html" class="type-name-link" title="interface in fr.univlille.iutinfo.sql">Loopable</a>&lt;E&gt;</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/fr/univlille/iutinfo/sql/package.svg b/doc/fr/univlille/iutinfo/sql/package.svg
deleted file mode 100644
index 7c78f26fdd977b6da613d72a82f56eee937c7e7c..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/sql/package.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="503px" preserveAspectRatio="none" style="width:1515px;height:503px;background:#FFFFFF;" version="1.1" viewBox="0 0 1515 503" width="1515px" zoomAndPan="magnify"><defs/><g><!--cluster fr.univlille.iutinfo.sql--><g id="cluster_fr.univlille.iutinfo.sql"><path d="M8.5,6 L160.5,6 A3.75,3.75 0 0 1 163,8.5 L170,28.4883 L1505.5,28.4883 A2.5,2.5 0 0 1 1508,30.9883 L1508,474.82 A2.5,2.5 0 0 1 1505.5,477.32 L8.5,477.32 A2.5,2.5 0 0 1 6,474.82 L6,8.5 A2.5,2.5 0 0 1 8.5,6 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="6" x2="170" y1="28.4883" y2="28.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="151" x="10" y="21.5352">fr.univlille.iutinfo.sql</text></g><!--class fr.univlille.iutinfo.sql.Utils--><a href="Utils.html" target="_top" title="Utils.html" xlink:actuate="onRequest" xlink:href="Utils.html" xlink:show="new" xlink:title="Utils.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.Utils"><rect codeLine="3" fill="#F1F1F1" height="80.9766" id="fr.univlille.iutinfo.sql.Utils" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="513" x="552.5" y="90.46"/><ellipse cx="789.75" cy="106.46" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M789.6133,101.8081 L788.4595,106.8799 L790.7754,106.8799 Z M788.1191,99.5669 L791.1157,99.5669 L794.4609,111.96 L792.0122,111.96 L791.2485,108.897 L787.9697,108.897 L787.2227,111.96 L784.7739,111.96 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="30" x="810.25" y="111.751">Utils</text><line style="stroke:#181818;stroke-width:0.5;" x1="553.5" x2="1064.5" y1="122.46" y2="122.46"/><line style="stroke:#181818;stroke-width:0.5;" x1="553.5" x2="1064.5" y1="130.46" y2="130.46"/><ellipse cx="563.5" cy="144.2041" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="193" x="572.5" y="147.9952">selectOneCell(String): String</text><ellipse cx="563.5" cy="160.6924" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="487" x="572.5" y="164.4834">selectMultipleKeysAsColumnsName(String): List&lt;Map&lt;String, String&gt;&gt;</text></g></a><!--class fr.univlille.iutinfo.sql.DBConnectionDescriptor--><a href="DBConnectionDescriptor.html" target="_top" title="DBConnectionDescriptor.html" xlink:actuate="onRequest" xlink:href="DBConnectionDescriptor.html" xlink:show="new" xlink:title="DBConnectionDescriptor.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBConnectionDescriptor"><rect codeLine="8" fill="#F1F1F1" height="179.9063" id="fr.univlille.iutinfo.sql.DBConnectionDescriptor" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="392" x="1100" y="41"/><ellipse cx="1207.75" cy="57" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M1210.2231,63.1431 Q1209.6421,63.4419 1209.0029,63.5913 Q1208.3638,63.7407 1207.6582,63.7407 Q1205.1514,63.7407 1203.8315,62.0889 Q1202.5117,60.437 1202.5117,57.3159 Q1202.5117,54.1865 1203.8315,52.5347 Q1205.1514,50.8828 1207.6582,50.8828 Q1208.3638,50.8828 1209.0112,51.0322 Q1209.6587,51.1816 1210.2231,51.4805 L1210.2231,54.2031 Q1209.5923,53.6221 1208.9988,53.3523 Q1208.4053,53.0825 1207.7744,53.0825 Q1206.4297,53.0825 1205.7449,54.1492 Q1205.0601,55.2158 1205.0601,57.3159 Q1205.0601,59.4077 1205.7449,60.4744 Q1206.4297,61.541 1207.7744,61.541 Q1208.4053,61.541 1208.9988,61.2712 Q1209.5923,61.0015 1210.2231,60.4204 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="168" x="1228.25" y="62.291">DBConnectionDescriptor</text><line style="stroke:#181818;stroke-width:0.5;" x1="1101" x2="1491" y1="73" y2="73"/><line style="stroke:#181818;stroke-width:0.5;" x1="1101" x2="1491" y1="81" y2="81"/><ellipse cx="1111" cy="94.7441" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="366" x="1120" y="98.5352">DBConnectionDescriptor(String, String, String, String)</text><ellipse cx="1111" cy="111.2324" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="317" x="1120" y="115.0234">DBConnectionDescriptor(String, String, String)</text><ellipse cx="1111" cy="127.7207" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="268" x="1120" y="131.5117">DBConnectionDescriptor(String, String)</text><ellipse cx="1111" cy="144.209" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="219" x="1120" y="148">DBConnectionDescriptor(String)</text><ellipse cx="1111" cy="160.6973" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122" x="1120" y="164.4883">getDriver(): String</text><ellipse cx="1111" cy="177.1855" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="1120" y="180.9766">getUrl(): String</text><ellipse cx="1111" cy="193.6738" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="119" x="1120" y="197.4648">getLogin(): String</text><ellipse cx="1111" cy="210.1621" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="1120" y="213.9531">getPassword(): String</text></g></a><!--class fr.univlille.iutinfo.sql.Executable--><a href="Executable.html" target="_top" title="Executable.html" xlink:actuate="onRequest" xlink:href="Executable.html" xlink:show="new" xlink:title="Executable.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.Executable"><rect codeLine="19" fill="#F1F1F1" height="64.4883" id="fr.univlille.iutinfo.sql.Executable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="185" x="36.5" y="347.37"/><ellipse cx="81.75" cy="363.37" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M78.1777,359.6351 L78.1777,357.4769 L85.5571,357.4769 L85.5571,359.6351 L83.0918,359.6351 L83.0918,367.7118 L85.5571,367.7118 L85.5571,369.87 L78.1777,369.87 L78.1777,367.7118 L80.6431,367.7118 L80.6431,359.6351 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="75" x="102.25" y="368.661">Executable</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="215.5" y="344.37"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="216.5" y="356.9716">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="37.5" x2="220.5" y1="379.37" y2="379.37"/><line style="stroke:#181818;stroke-width:0.5;" x1="37.5" x2="220.5" y1="387.37" y2="387.37"/><ellipse cx="47.5" cy="401.1141" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="159" x="56.5" y="404.9052">execute(Connection): E</text></g></a><!--class fr.univlille.iutinfo.sql.DBConnector--><a href="DBConnector.html" target="_top" title="DBConnector.html" xlink:actuate="onRequest" xlink:href="DBConnector.html" xlink:show="new" xlink:title="DBConnector.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBConnector"><rect codeLine="23" fill="#F1F1F1" height="163.418" id="fr.univlille.iutinfo.sql.DBConnector" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="472" x="573" y="297.9"/><ellipse cx="759.75" cy="313.9" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M762.2231,320.0431 Q761.6421,320.3419 761.0029,320.4913 Q760.3638,320.6407 759.6582,320.6407 Q757.1514,320.6407 755.8315,318.9889 Q754.5117,317.337 754.5117,314.2159 Q754.5117,311.0865 755.8315,309.4347 Q757.1514,307.7828 759.6582,307.7828 Q760.3638,307.7828 761.0112,307.9322 Q761.6587,308.0816 762.2231,308.3805 L762.2231,311.1031 Q761.5923,310.5221 760.9988,310.2523 Q760.4053,309.9825 759.7744,309.9825 Q758.4297,309.9825 757.7449,311.0492 Q757.0601,312.1158 757.0601,314.2159 Q757.0601,316.3077 757.7449,317.3744 Q758.4297,318.441 759.7744,318.441 Q760.4053,318.441 760.9988,318.1712 Q761.5923,317.9015 762.2231,317.3204 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="780.25" y="319.191">DBConnector</text><line style="stroke:#181818;stroke-width:0.5;" x1="574" x2="1044" y1="329.9" y2="329.9"/><polygon fill="none" points="584,338.6441,588,342.6441,584,346.6441,580,342.6441" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="446" x="593" y="347.4352">connectionDescriptorList: Map&lt;String, DBConnectionDescriptor&gt;</text><polygon fill="none" points="584,355.1324,588,359.1324,584,363.1324,580,359.1324" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="215" x="593" y="363.9234">defaultConnectionName: String</text><line style="stroke:#181818;stroke-width:0.5;" x1="574" x2="1044" y1="370.8766" y2="370.8766"/><ellipse cx="584" cy="384.6207" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="286" x="593" y="388.4117">init(String, DBConnectionDescriptor): void</text><ellipse cx="584" cy="401.109" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="237" x="593" y="404.9">init(DBConnectionDescriptor): void</text><ellipse cx="584" cy="417.5973" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="139" x="593" y="421.3883">init(Properties): void</text><ellipse cx="584" cy="434.0855" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="239" x="593" y="437.8766">getConnection(String): Connection</text><ellipse cx="584" cy="450.5738" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" text-decoration="underline" textLength="198" x="593" y="454.3648">getConnection(): Connection</text></g></a><!--class fr.univlille.iutinfo.sql.DBLoop--><a href="DBLoop.html" target="_top" title="DBLoop.html" xlink:actuate="onRequest" xlink:href="DBLoop.html" xlink:show="new" xlink:title="DBLoop.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBLoop"><rect codeLine="33" fill="#F1F1F1" height="97.4648" id="fr.univlille.iutinfo.sql.DBLoop" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="246" x="271" y="82.22"/><ellipse cx="358.25" cy="98.22" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M360.7231,104.3631 Q360.1421,104.6619 359.5029,104.8113 Q358.8638,104.9607 358.1582,104.9607 Q355.6514,104.9607 354.3315,103.3089 Q353.0117,101.657 353.0117,98.5359 Q353.0117,95.4065 354.3315,93.7547 Q355.6514,92.1028 358.1582,92.1028 Q358.8638,92.1028 359.5112,92.2522 Q360.1587,92.4016 360.7231,92.7005 L360.7231,95.4231 Q360.0923,94.8421 359.4988,94.5723 Q358.9053,94.3025 358.2744,94.3025 Q356.9297,94.3025 356.2449,95.3692 Q355.5601,96.4358 355.5601,98.5359 Q355.5601,100.6277 356.2449,101.6944 Q356.9297,102.761 358.2744,102.761 Q358.9053,102.761 359.4988,102.4912 Q360.0923,102.2215 360.7231,101.6404 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="52" x="378.75" y="103.511">DBLoop</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="511" y="79.22"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="512" y="91.8216">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="272" x2="516" y1="114.22" y2="114.22"/><polygon fill="none" points="282,122.9641,286,126.9641,282,130.9641,278,126.9641" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="38" x="291" y="131.7552">obj: E</text><line style="stroke:#181818;stroke-width:0.5;" x1="272" x2="516" y1="138.7083" y2="138.7083"/><ellipse cx="282" cy="152.4524" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="220" x="291" y="156.2434">DBLoop(E, String, Loopable&lt;E&gt;)</text><ellipse cx="282" cy="168.9407" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="114" x="291" y="172.7317">executeLoop(): E</text></g></a><!--class fr.univlille.iutinfo.sql.DBRequest--><a href="DBRequest.html" target="_top" title="DBRequest.html" xlink:actuate="onRequest" xlink:href="DBRequest.html" xlink:show="new" xlink:title="DBRequest.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.DBRequest"><rect codeLine="39" fill="#F1F1F1" height="97.4648" id="fr.univlille.iutinfo.sql.DBRequest" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="214" x="22" y="82.22"/><ellipse cx="82.75" cy="98.22" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M85.2231,104.3631 Q84.6421,104.6619 84.0029,104.8113 Q83.3638,104.9607 82.6582,104.9607 Q80.1514,104.9607 78.8315,103.3089 Q77.5117,101.657 77.5117,98.5359 Q77.5117,95.4065 78.8315,93.7547 Q80.1514,92.1028 82.6582,92.1028 Q83.3638,92.1028 84.0112,92.2522 Q84.6587,92.4016 85.2231,92.7005 L85.2231,95.4231 Q84.5923,94.8421 83.9988,94.5723 Q83.4053,94.3025 82.7744,94.3025 Q81.4297,94.3025 80.7449,95.3692 Q80.0601,96.4358 80.0601,98.5359 Q80.0601,100.6277 80.7449,101.6944 Q81.4297,102.761 82.7744,102.761 Q83.4053,102.761 83.9988,102.4912 Q84.5923,102.2215 85.2231,101.6404 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="103.25" y="103.511">DBRequest</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="230" y="79.22"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="231" y="91.8216">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="23" x2="235" y1="114.22" y2="114.22"/><line style="stroke:#181818;stroke-width:0.5;" x1="23" x2="235" y1="122.22" y2="122.22"/><ellipse cx="33" cy="135.9641" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="188" x="42" y="139.7552">DBRequest(Executable&lt;E&gt;)</text><ellipse cx="33" cy="152.4524" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="42" y="156.2434">executeRequest(): E</text><ellipse cx="33" cy="168.9407" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="179" x="42" y="172.7317">executeTransaction(int): E</text></g></a><!--class fr.univlille.iutinfo.sql.Loopable--><a href="Loopable.html" target="_top" title="Loopable.html" xlink:actuate="onRequest" xlink:href="Loopable.html" xlink:show="new" xlink:title="Loopable.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.sql.Loopable"><rect codeLine="45" fill="#F1F1F1" height="64.4883" id="fr.univlille.iutinfo.sql.Loopable" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="204" x="292" y="347.37"/><ellipse cx="352.75" cy="363.37" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M349.1777,359.6351 L349.1777,357.4769 L356.5571,357.4769 L356.5571,359.6351 L354.0918,359.6351 L354.0918,367.7118 L356.5571,367.7118 L356.5571,369.87 L349.1777,369.87 L349.1777,367.7118 L351.6431,367.7118 L351.6431,359.6351 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="63" x="373.25" y="368.661">Loopable</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="490" y="344.37"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="491" y="356.9716">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="293" x2="495" y1="379.37" y2="379.37"/><line style="stroke:#181818;stroke-width:0.5;" x1="293" x2="495" y1="387.37" y2="387.37"/><ellipse cx="303" cy="401.1141" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="178" x="312" y="404.9052">doLoop(E, ResultSet): void</text></g></a><!--link fr.univlille.iutinfo.sql.DBLoop to fr.univlille.iutinfo.sql.Loopable--><g id="link_fr.univlille.iutinfo.sql.DBLoop_fr.univlille.iutinfo.sql.Loopable"><path codeLine="49" d="M394,180.09 C394,227.23 394,298.05 394,341.14 " fill="none" id="fr.univlille.iutinfo.sql.DBLoop-to-fr.univlille.iutinfo.sql.Loopable" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="394,346.03,398,337.03,394,341.03,390,337.03,394,346.03" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="28" x="395" y="264.4684">loop</text></g><!--link fr.univlille.iutinfo.sql.DBRequest to fr.univlille.iutinfo.sql.Executable--><g id="link_fr.univlille.iutinfo.sql.DBRequest_fr.univlille.iutinfo.sql.Executable"><path codeLine="50" d="M129,180.09 C129,227.23 129,298.05 129,341.14 " fill="none" id="fr.univlille.iutinfo.sql.DBRequest-to-fr.univlille.iutinfo.sql.Executable" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="129,346.03,133,337.03,129,341.03,125,337.03,129,346.03" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="47" x="130" y="264.4684">request</text></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="659.5" y="492.988">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[fLHTRzem57tdLrofgXJKDjhsY52a3dWQRAWTJrKVZBbXdeoTsZTiKzN_FeSO79WJsYulZkrplyyn081Y6xG5umYvIKibjb98YQaeIQXSf_P9mdEl1_vZIqk6SG8kcRMm824jF3pirlG7RUJZeuD3utksn4Zm5xYoA97JDuKZb3Av9oFKkZ-0-gVJPbPA4eN4B_Z7tjgHbkL6sQykyU1bAYmDPwmOrYVNtcsM7Ho_X2hgvCUVHrefvrveDKRBZIX86rTD_29UtbKSd1odSRhs_yF7UspVOdE2NIEDZTYYIUApgW0B8pjkftejLCVzt0tZbpQh2AGnCw48JLxnTF8RUKbiAN4uoToumhw5WNlIEZxX3ej9gDy5dRo28yV4Q6F3WRWNFDBWYgC3Q98qFeYinUSAS-QK44mg2PmHa522akvmhWDRBLPT3jvjE3UwG4C2RJVOqI142AeEPw-oYrj4XZhLkgZ9K__7ftcXbp-RxF3QgGoIIP1bjVTiFD6EPzlEu1pFxl2fHFU6-QpyjlNHyVV9aHZYuVVG_Z-rUC1tmvHbTGkTpDeo3GfiLEoItU_Egs-bzxsxG-kOV8zqIej6lBhJS7EJ7G8EGBg_1iBNjWE5LWp0rEUzXakELVwGQrqjYzbqhBb4Wa_fn_J3DSmbK-HEuTAzTNR7fhy0]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/utils/Observer.html b/doc/fr/univlille/iutinfo/utils/Observer.html
deleted file mode 100644
index 5ff1cff7e39f871185617e699a005e4edc771eff..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/Observer.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Observer</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.utils, interface: Observer">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li>Field</li>
-<li>Constr</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.utils</a></div>
-<h1 title="Interface Observer" class="title">Interface Observer&lt;T extends <a href="Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a>,<wbr>E&gt;</h1>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="Observer.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Observer&lt;T extends <a href="Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a>,<wbr>E&gt;</span></div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#update(T)" class="member-name-link">update</a><wbr>(<a href="Observer.html" title="type parameter in Observer">T</a>&nbsp;subject)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#update(T,E)" class="member-name-link">update</a><wbr>(<a href="Observer.html" title="type parameter in Observer">T</a>&nbsp;subject,
- <a href="Observer.html" title="type parameter in Observer">E</a>&nbsp;object)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
-</div>
-</div>
-</div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="update(T)">
-<h3 id="update(fr.univlille.iutinfo.utils.Subject)">update</h3>
-<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">update</span><wbr><span class="parameters">(<a href="Observer.html" title="type parameter in Observer">T</a>&nbsp;subject)</span></div>
-</section>
-</li>
-<li>
-<section class="detail" id="update(T,E)">
-<h3 id="update(fr.univlille.iutinfo.utils.Subject,java.lang.Object)">update</h3>
-<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">update</span><wbr><span class="parameters">(<a href="Observer.html" title="type parameter in Observer">T</a>&nbsp;subject,
- <a href="Observer.html" title="type parameter in Observer">E</a>&nbsp;object)</span></div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/utils/Observer.svg b/doc/fr/univlille/iutinfo/utils/Observer.svg
deleted file mode 100644
index 2ea8fc9837f790c07e76d93d2a105ca6f772c321..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/Observer.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="113px" preserveAspectRatio="none" style="width:284px;height:113px;background:#FFFFFF;" version="1.1" viewBox="0 0 284 113" width="284px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.utils.Observer--><a href="Observer.html" target="_top" title="Observer.html" xlink:actuate="onRequest" xlink:href="Observer.html" xlink:show="new" xlink:title="Observer.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.utils.Observer"><rect codeLine="5" fill="#F1F1F1" height="79.2422" id="fr.univlille.iutinfo.utils.Observer" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="263" x="7" y="7"/><ellipse cx="22" cy="26.1328" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M18.4277,22.3979 L18.4277,20.2397 L25.8071,20.2397 L25.8071,22.3979 L23.3418,22.3979 L23.3418,30.4746 L25.8071,30.4746 L25.8071,32.6328 L18.4277,32.6328 L18.4277,30.4746 L20.8931,30.4746 L20.8931,22.3979 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="62" x="59" y="25.5352">Observer</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="108" x="36" y="38.1563">fr.univlille.iutinfo.utils</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="121" x="152" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="119" x="153" y="16.6016">T extends Subject, E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="269" y1="45.2656" y2="45.2656"/><ellipse cx="18" cy="59.0098" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="217" x="27" y="62.8008">update(T extends Subject): void</text><ellipse cx="18" cy="75.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="233" x="27" y="79.2891">update(T extends Subject, E): void</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="47" y="102.9102">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[bP11ImCn48Nl_ef7GMYnX5OybR8dlIaArLFj8PjCs95iiYIpYrhwtyrM2w9uS2u3tvjvCpm0o2G8kgNSQKCRwdJI4XD237HMP3Hi2THsyWR7v6t-ILkI9XPyv1o4aYjEcAmplzDgULNTrvdIGEavVA55vPBg0m-UlIV5lN1mKPNcymGwuszPdSpMZw1NeM0pDdtzGaRckAcmtPu6L2Ejt-smF_urrbxNMP8sSi15trajDFrbCbjXY6p_jLCEVryxV2PXQ8m2BiQnFTtTNaVZIzQNQgaMSpnu7QHGd9TVCySmdNq0]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/utils/Subject.html b/doc/fr/univlille/iutinfo/utils/Subject.html
deleted file mode 100644
index ec4cf64e3099133b5cfe8f06b8ef83def5b716f3..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/Subject.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Subject</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.utils, class: Subject">
-<meta name="generator" content="javadoc/ClassWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="class-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="nav-bar-cell1-rev">Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#class">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Summary:</p>
-<ul>
-<li>Nested</li>
-<li><a href="#field-summary">Field</a></li>
-<li><a href="#constructor-summary">Constr</a></li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-</li>
-<li>
-<p>Detail:</p>
-<ul>
-<li><a href="#field-detail">Field</a></li>
-<li><a href="#constructor-detail">Constr</a></li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-summary">Method</a></li>
-</ul>
-<ul class="sub-nav-list">
-<li>Detail:&nbsp;</li>
-<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
-<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method-detail">Method</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.univlille.iutinfo.utils</a></div>
-<h1 title="Class Subject" class="title">Class Subject&lt;E&gt;</h1>
-</div>
-<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
-<div class="inheritance">fr.univlille.iutinfo.utils.Subject&lt;E&gt;</div>
-</div>
-<section class="class-description" id="class-description">
-<hr>
-<object type="image/svg+xml" data="Subject.svg"  style="max-width:60%;float:right;"></object>
-<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Subject&lt;E&gt;</span>
-<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
-</section>
-<section class="summary">
-<ul class="summary-list">
-<!-- =========== FIELD SUMMARY =========== -->
-<li>
-<section class="field-summary" id="field-summary">
-<h2>Field Summary</h2>
-<div class="caption"><span>Fields</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Field</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a><wbr>&lt;<a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&gt;</code></div>
-<div class="col-second even-row-color"><code><a href="#listeObserver" class="member-name-link">listeObserver</a></code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<li>
-<section class="constructor-summary" id="constructor-summary">
-<h2>Constructor Summary</h2>
-<div class="caption"><span>Constructors</span></div>
-<div class="summary-table three-column-summary">
-<div class="table-header col-first">Modifier</div>
-<div class="table-header col-second">Constructor</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color"><code>protected </code></div>
-<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Subject</a>()</code></div>
-<div class="col-last even-row-color">&nbsp;</div>
-</div>
-</section>
-</li>
-<!-- ========== METHOD SUMMARY =========== -->
-<li>
-<section class="method-summary" id="method-summary">
-<h2>Method Summary</h2>
-<div id="method-summary-table">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
-<div id="method-summary-table.tabpanel" role="tabpanel">
-<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
-<div class="table-header col-first">Modifier and Type</div>
-<div class="table-header col-second">Method</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#attach(fr.univlille.iutinfo.utils.Observer)" class="member-name-link">attach</a><wbr>(<a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&nbsp;obs)</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#detach(fr.univlille.iutinfo.utils.Observer)" class="member-name-link">detach</a><wbr>(<a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&nbsp;obs)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
-<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#notifyObservers()" class="member-name-link">notifyObservers</a>()</code></div>
-<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
-<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#notifyObservers(E)" class="member-name-link">notifyObservers</a><wbr>(<a href="Subject.html" title="type parameter in Subject">E</a>&nbsp;data)</code></div>
-<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
-</div>
-</div>
-</div>
-<div class="inherited-list">
-<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
-</section>
-</li>
-</ul>
-</section>
-<section class="details">
-<ul class="details-list">
-<!-- ============ FIELD DETAIL =========== -->
-<li>
-<section class="field-details" id="field-detail">
-<h2>Field Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="listeObserver">
-<h3>listeObserver</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&gt;</span>&nbsp;<span class="element-name">listeObserver</span></div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<li>
-<section class="constructor-details" id="constructor-detail">
-<h2>Constructor Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="&lt;init&gt;()">
-<h3>Subject</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">Subject</span>()</div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-<!-- ============ METHOD DETAIL ========== -->
-<li>
-<section class="method-details" id="method-detail">
-<h2>Method Details</h2>
-<ul class="member-list">
-<li>
-<section class="detail" id="attach(fr.univlille.iutinfo.utils.Observer)">
-<h3>attach</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">attach</span><wbr><span class="parameters">(<a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&nbsp;obs)</span></div>
-</section>
-</li>
-<li>
-<section class="detail" id="detach(fr.univlille.iutinfo.utils.Observer)">
-<h3>detach</h3>
-<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">detach</span><wbr><span class="parameters">(<a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&nbsp;obs)</span></div>
-</section>
-</li>
-<li>
-<section class="detail" id="notifyObservers()">
-<h3>notifyObservers</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">notifyObservers</span>()</div>
-</section>
-</li>
-<li>
-<section class="detail" id="notifyObservers(E)">
-<h3 id="notifyObservers(java.lang.Object)">notifyObservers</h3>
-<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">notifyObservers</span><wbr><span class="parameters">(<a href="Subject.html" title="type parameter in Subject">E</a>&nbsp;data)</span></div>
-</section>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</section>
-<!-- ========= END OF CLASS DATA ========= -->
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/utils/Subject.svg b/doc/fr/univlille/iutinfo/utils/Subject.svg
deleted file mode 100644
index 7122ef29c7e5675dfdc77bb350987b9e0b82cee2..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/Subject.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="170px" preserveAspectRatio="none" style="width:252px;height:170px;background:#FFFFFF;" version="1.1" viewBox="0 0 252 170" width="252px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.utils.Subject--><a href="Subject.html" target="_top" title="Subject.html" xlink:actuate="onRequest" xlink:href="Subject.html" xlink:show="new" xlink:title="Subject.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.utils.Subject"><rect codeLine="5" fill="#F1F1F1" height="136.707" id="fr.univlille.iutinfo.utils.Subject" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="231" x="7" y="7"/><ellipse cx="58.75" cy="26.1328" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M58.6133,21.481 L57.4595,26.5527 L59.7754,26.5527 Z M57.1191,19.2397 L60.1157,19.2397 L63.4609,31.6328 L61.0122,31.6328 L60.2485,28.5698 L56.9697,28.5698 L56.2227,31.6328 L53.7739,31.6328 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="50" x="108.25" y="25.5352">Subject</text><text fill="#000000" font-family="sans-serif" font-size="10" font-style="italic" lengthAdjust="spacing" textLength="108" x="79.25" y="38.1563">fr.univlille.iutinfo.utils</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="232" y="4"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="233" y="16.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="237" y1="45.2656" y2="45.2656"/><polygon fill="none" points="18,54.0098,22,58.0098,18,62.0098,14,58.0098" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="205" x="27" y="62.8008">listeObserver: List&lt;Observer&gt;</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="237" y1="69.7539" y2="69.7539"/><ellipse cx="18" cy="83.498" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="151" x="27" y="87.2891">attach(Observer): void</text><ellipse cx="18" cy="99.9863" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="27" y="103.7773">detach(Observer): void</text><polygon fill="#FFFF44" points="18,111.4746,22,115.4746,18,119.4746,14,115.4746" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="27" y="120.2656">notifyObservers(): void</text><polygon fill="#FFFF44" points="18,127.9629,22,131.9629,18,135.9629,14,131.9629" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="27" y="136.7539">notifyObservers(E): void</text></g></a><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="31" y="160.375">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[XP71IiD048RlFiNG8gHObbOyXP2JlRKe54-rXyrcGaOsks5d4gZYkxkfYOfWtSlmVz_FiEm2030AEDqWjzhW7biTjFW0pZkyYXfgAX6mQUK45Q4j-JTjK6eVyPdhWYLe8s2iPePPnlIAwVekttV52nfvTYDPvLLGdQFUahMeg1DobLTnM9w1PlXRgt5NjidXS1Y3ggMnnoEydQyndBab5dme64EF8OLjZDaKyw_QZHRHfauciqYXzrH- -n8l-hdpGjLfqfpyMzZyRBn_lfj19nYWyduOJxljlJSs_iojMglL4XwjTX8fN0yRoBjayG40]--></g></svg>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/utils/package-summary.html b/doc/fr/univlille/iutinfo/utils/package-summary.html
deleted file mode 100644
index 838a16aaec2fbd92c5b5761994f770704ba6bc6e..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/package-summary.html
+++ /dev/null
@@ -1,97 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.utils</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="declaration: package: fr.univlille.iutinfo.utils">
-<meta name="generator" content="javadoc/PackageWriterImpl">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-declaration-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li class="nav-bar-cell1-rev">Package</li>
-<li>Class</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#package">Help</a></li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Package:</p>
-<ul>
-<li>Description</li>
-<li>Related Packages</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Package:&nbsp;</li>
-<li>Description&nbsp;|&nbsp;</li>
-<li>Related Packages&nbsp;|&nbsp;</li>
-<li><a href="#class-summary">Classes and Interfaces</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 title="Package fr.univlille.iutinfo.utils" class="title">Package fr.univlille.iutinfo.utils</h1>
-</div>
-<hr>
-<div class="package-signature">package <span class="element-name">fr.univlille.iutinfo.utils</span></div>
-<section class="summary">
-<object type="image/svg+xml" data="package.svg" style="display:block;margin-left:auto;margin-right:auto;max-width:100%;"></object>
-
-<ul class="summary-list">
-<li>
-<div id="class-summary">
-<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
-<div id="class-summary.tabpanel" role="tabpanel">
-<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
-<div class="table-header col-first">Class</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color class-summary class-summary-tab1"><a href="Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a>&lt;T extends <a href="Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a>,<wbr>E&gt;</div>
-<div class="col-last even-row-color class-summary class-summary-tab1">&nbsp;</div>
-<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a>&lt;E&gt;</div>
-<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
-</div>
-</div>
-</div>
-</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/fr/univlille/iutinfo/utils/package-tree.html b/doc/fr/univlille/iutinfo/utils/package-tree.html
deleted file mode 100644
index 559896bba52de60728aaebb4c9baa0fafaaefd5b..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/package-tree.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>fr.univlille.iutinfo.utils Class Hierarchy</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="tree: package: fr.univlille.iutinfo.utils">
-<meta name="generator" content="javadoc/PackageTreeWriter">
-<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="../../../../script.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-tree-page">
-<script type="text/javascript">var pathtoroot = "../../../../";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="../../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="nav-bar-cell1-rev">Tree</li>
-<li><a href="../../../../index-all.html">Index</a></li>
-<li><a href="../../../../help-doc.html#tree">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 class="title">Hierarchy For Package fr.univlille.iutinfo.utils</h1>
-</div>
-<span class="package-hierarchy-label">Package Hierarchies:</span>
-<ul class="horizontal contents-list">
-<li><a href="../../../../overview-tree.html">All Packages</a></li>
-</ul>
-<section class="hierarchy">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.utils.<a href="Subject.html" class="type-name-link" title="class in fr.univlille.iutinfo.utils">Subject</a>&lt;E&gt;</li>
-</ul>
-</li>
-</ul>
-</section>
-<section class="hierarchy">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li class="circle">fr.univlille.iutinfo.utils.<a href="Observer.html" class="type-name-link" title="interface in fr.univlille.iutinfo.utils">Observer</a>&lt;T,<wbr>E&gt;</li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/fr/univlille/iutinfo/utils/package.svg b/doc/fr/univlille/iutinfo/utils/package.svg
deleted file mode 100644
index 8f4620e200f149071291e4f0c34dc47ab68ef8fb..0000000000000000000000000000000000000000
--- a/doc/fr/univlille/iutinfo/utils/package.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="354px" preserveAspectRatio="none" style="width:303px;height:354px;background:#FFFFFF;" version="1.1" viewBox="0 0 303 354" width="303px" zoomAndPan="magnify"><defs/><g><!--cluster fr.univlille.iutinfo.utils--><g id="cluster_fr.univlille.iutinfo.utils"><path d="M8.5,6 L171.5,6 A3.75,3.75 0 0 1 174,8.5 L181,28.4883 L293.5,28.4883 A2.5,2.5 0 0 1 296,30.9883 L296,326.43 A2.5,2.5 0 0 1 293.5,328.93 L8.5,328.93 A2.5,2.5 0 0 1 6,326.43 L6,8.5 A2.5,2.5 0 0 1 8.5,6 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="6" x2="181" y1="28.4883" y2="28.4883"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="162" x="10" y="21.5352">fr.univlille.iutinfo.utils</text></g><!--class fr.univlille.iutinfo.utils.Subject--><a href="Subject.html" target="_top" title="Subject.html" xlink:actuate="onRequest" xlink:href="Subject.html" xlink:show="new" xlink:title="Subject.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.utils.Subject"><rect codeLine="3" fill="#F1F1F1" height="113.9531" id="fr.univlille.iutinfo.utils.Subject" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="189" x="56.5" y="41"/><ellipse cx="116.25" cy="57" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M116.1133,52.3481 L114.9595,57.4199 L117.2754,57.4199 Z M114.6191,50.1069 L117.6157,50.1069 L120.9609,62.5 L118.5122,62.5 L117.7485,59.437 L114.4697,59.437 L113.7227,62.5 L111.2739,62.5 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="50" x="136.75" y="62.291">Subject</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="9" x="239.5" y="38"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="7" x="240.5" y="50.6016">E</text><line style="stroke:#181818;stroke-width:0.5;" x1="57.5" x2="244.5" y1="73" y2="73"/><line style="stroke:#181818;stroke-width:0.5;" x1="57.5" x2="244.5" y1="81" y2="81"/><ellipse cx="67.5" cy="94.7441" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="151" x="76.5" y="98.5352">attach(Observer): void</text><ellipse cx="67.5" cy="111.2324" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="76.5" y="115.0234">detach(Observer): void</text><polygon fill="#FFFF44" points="67.5,122.7207,71.5,126.7207,67.5,130.7207,63.5,126.7207" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="155" x="76.5" y="131.5117">notifyObservers(): void</text><polygon fill="#FFFF44" points="67.5,139.209,71.5,143.209,67.5,147.209,63.5,143.209" style="stroke:#B38D22;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="163" x="76.5" y="148">notifyObservers(E): void</text></g></a><!--class fr.univlille.iutinfo.utils.Observer--><a href="Observer.html" target="_top" title="Observer.html" xlink:actuate="onRequest" xlink:href="Observer.html" xlink:show="new" xlink:title="Observer.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.utils.Observer"><rect codeLine="10" fill="#F1F1F1" height="80.9766" id="fr.univlille.iutinfo.utils.Observer" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="259" x="21.5" y="231.95"/><ellipse cx="55.4" cy="247.95" fill="#B4A7E5" rx="11" ry="11" style="stroke:#181818;stroke-width:1.0;"/><path d="M51.8277,244.2151 L51.8277,242.0569 L59.2071,242.0569 L59.2071,244.2151 L56.7418,244.2151 L56.7418,252.2918 L59.2071,252.2918 L59.2071,254.45 L51.8277,254.45 L51.8277,252.2918 L54.2931,252.2918 L54.2931,244.2151 Z " fill="#000000"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="62" x="73.6" y="253.241">Observer</text><rect fill="#FFFFFF" height="16.1328" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" width="121" x="162.5" y="228.95"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacing" textLength="119" x="163.5" y="241.5516">T extends Subject, E</text><line style="stroke:#181818;stroke-width:0.5;" x1="22.5" x2="279.5" y1="263.95" y2="263.95"/><line style="stroke:#181818;stroke-width:0.5;" x1="22.5" x2="279.5" y1="271.95" y2="271.95"/><ellipse cx="32.5" cy="285.6941" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="217" x="41.5" y="289.4852">update(T extends Subject): void</text><ellipse cx="32.5" cy="302.1824" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="233" x="41.5" y="305.9734">update(T extends Subject, E): void</text></g></a><!--link fr.univlille.iutinfo.utils.Subject to fr.univlille.iutinfo.utils.Observer--><g id="link_fr.univlille.iutinfo.utils.Subject_fr.univlille.iutinfo.utils.Observer"><path codeLine="15" d="M151,155.45 C151,178.17 151,204.03 151,225.55 " fill="none" id="fr.univlille.iutinfo.utils.Subject-to-fr.univlille.iutinfo.utils.Observer" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="151,230.51,155,221.51,151,225.51,147,221.51,151,230.51" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="152" y="198.5184">listeObserver</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="6" x="144.5031" y="221.0831">*</text></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="53.5" y="344.598">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[ZP31JW8n48Rl-nH_82QBGACU2U44Duqcwebmw7QdeQQqf9tTQ0ZlxgxP8WfHvZAPvfjclXy0dDnGt4f5q45KpjJMM4l2L6oSzg9fDcANPUXA5f63L0nbPOnuheetKZnTpB1STeDOyyQkLiqMZceecQLQvuz5f51J64nGUrF-P4hwb-axpqP_92Jc5q6BtzJ-Myaufg3R218_VG6zCxdo83Z2bs42pYlkKZXx3AjjAPdoau_ENNl9NdF07meTXF5uXjvrxo0oWJMHAOtPqPgYLXlQ-xQzFjpFlRB4k1EtucQ49oiTDw-uQlCptkM3Jm00]--></g></svg>
\ No newline at end of file
diff --git a/doc/help-doc.html b/doc/help-doc.html
deleted file mode 100644
index 5d56daefa14794ab45dc71a28f79b7edbd01baba..0000000000000000000000000000000000000000
--- a/doc/help-doc.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>API Help</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="help">
-<meta name="generator" content="javadoc/HelpWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="help-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="index.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="index-all.html">Index</a></li>
-<li class="nav-bar-cell1-rev">Help</li>
-</ul>
-<ul class="sub-nav-list-small">
-<li>
-<p>Help:</p>
-<ul>
-<li><a href="#help-navigation">Navigation</a></li>
-<li><a href="#help-pages">Pages</a></li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list">
-<ul class="sub-nav-list">
-<li>Help:&nbsp;</li>
-<li><a href="#help-navigation">Navigation</a>&nbsp;|&nbsp;</li>
-<li><a href="#help-pages">Pages</a></li>
-</ul>
-</div>
-<div class="nav-list-search"><a href="search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<h1 class="title">JavaDoc Help</h1>
-<ul class="help-toc">
-<li><a href="#help-navigation">Navigation</a>: 
-<ul class="help-subtoc">
-<li><a href="#search">Search</a></li>
-</ul>
-</li>
-<li><a href="#help-pages">Kinds of Pages</a>: 
-<ul class="help-subtoc">
-<li><a href="#overview">Overview</a></li>
-<li><a href="#package">Package</a></li>
-<li><a href="#class">Class or Interface</a></li>
-<li><a href="#doc-file">Other Files</a></li>
-<li><a href="#tree">Tree (Class Hierarchy)</a></li>
-<li><a href="#all-packages">All Packages</a></li>
-<li><a href="#all-classes">All Classes and Interfaces</a></li>
-<li><a href="#index">Index</a></li>
-</ul>
-</li>
-</ul>
-<hr>
-<div class="sub-title">
-<h2 id="help-navigation">Navigation</h2>
-Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-all.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
-<section class="help-section" id="search">
-<h3>Search</h3>
-<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API. These items can be searched using part or all of the name, optionally using "camelCase" abbreviations, or multiple search terms separated by whitespace. Some examples:</p>
-<ul class="help-section-list">
-<li><code>"j.l.obj"</code> matches "java.lang.Object"</li>
-<li><code>"InpStr"</code> matches "java.io.InputStream"</li>
-<li><code>"math exact long"</code> matches "java.lang.Math.absExact(long)"</li>
-</ul>
-<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
-</section>
-</div>
-<hr>
-<div class="sub-title">
-<h2 id="help-pages">Kinds of Pages</h2>
-The following sections describe the different kinds of pages in this collection.
-<section class="help-section" id="overview">
-<h3>Overview</h3>
-<p>The <a href="index.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</p>
-</section>
-<section class="help-section" id="package">
-<h3>Package</h3>
-<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
-<ul class="help-section-list">
-<li>Interfaces</li>
-<li>Classes</li>
-<li>Enum Classes</li>
-<li>Exception Classes</li>
-<li>Annotation Interfaces</li>
-</ul>
-</section>
-<section class="help-section" id="class">
-<h3>Class or Interface</h3>
-<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
-<ul class="help-section-list">
-<li>Class Inheritance Diagram</li>
-<li>Direct Subclasses</li>
-<li>All Known Subinterfaces</li>
-<li>All Known Implementing Classes</li>
-<li>Class or Interface Declaration</li>
-<li>Class or Interface Description</li>
-</ul>
-<br>
-<ul class="help-section-list">
-<li>Nested Class Summary</li>
-<li>Enum Constant Summary</li>
-<li>Field Summary</li>
-<li>Property Summary</li>
-<li>Constructor Summary</li>
-<li>Method Summary</li>
-<li>Required Element Summary</li>
-<li>Optional Element Summary</li>
-</ul>
-<br>
-<ul class="help-section-list">
-<li>Enum Constant Details</li>
-<li>Field Details</li>
-<li>Property Details</li>
-<li>Constructor Details</li>
-<li>Method Details</li>
-<li>Element Details</li>
-</ul>
-<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
-<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
-</section>
-<section class="help-section" id="doc-file">
-<h3>Other Files</h3>
-<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
-</section>
-<section class="help-section" id="tree">
-<h3>Tree (Class Hierarchy)</h3>
-<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
-<ul class="help-section-list">
-<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
-<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
-</ul>
-</section>
-<section class="help-section" id="all-packages">
-<h3>All Packages</h3>
-<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
-</section>
-<section class="help-section" id="all-classes">
-<h3>All Classes and Interfaces</h3>
-<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
-</section>
-<section class="help-section" id="index">
-<h3>Index</h3>
-<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
-</section>
-</div>
-<hr>
-<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/index-all.html b/doc/index-all.html
deleted file mode 100644
index 891faaed54b74723cbdc2f295abc9aff0b8206c3..0000000000000000000000000000000000000000
--- a/doc/index-all.html
+++ /dev/null
@@ -1,361 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Index</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="index">
-<meta name="generator" content="javadoc/IndexWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="index-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="index.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li class="nav-bar-cell1-rev">Index</li>
-<li><a href="help-doc.html#index">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1>Index</h1>
-</div>
-<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a>
-<h2 class="title" id="I:A">A</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html#attach(fr.univlille.iutinfo.utils.Observer)" class="member-name-link">attach(Observer)</a> - Method in class fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:C">C</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#connectionDescriptorList" class="member-name-link">connectionDescriptorList</a> - Static variable in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">L'ensemble des connexions actuellement configurées
- Chaque connexion possède un url, un login, et un mot de passe</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">Controller</a> - Class in <a href="fr/univlille/iutinfo/fxml/package-summary.html">fr.univlille.iutinfo.fxml</a></dt>
-<dd>
-<div class="block">Cette classe abstraite définit le minimum requis pour controller un fichier .fxml.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html#%3Cinit%3E(java.lang.String)" class="member-name-link">Controller(String)</a> - Constructor for class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></dt>
-<dd>
-<div class="block">Constructeur.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:D">D</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a> - Class in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette classe décrit une connection à une base de données (driver, url, données de connexion)</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#%3Cinit%3E(java.lang.String)" class="member-name-link">DBConnectionDescriptor(String)</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>
-<div class="block">Constructeur</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#%3Cinit%3E(java.lang.String,java.lang.String)" class="member-name-link">DBConnectionDescriptor(String, String)</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>
-<div class="block">Constructeur</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">DBConnectionDescriptor(String, String, String)</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>
-<div class="block">Constructeur</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)" class="member-name-link">DBConnectionDescriptor(String, String, String, String)</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>
-<div class="block">Constructeur</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBConnector</a> - Class in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette classe gère la connexion avec une base de données</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#%3Cinit%3E()" class="member-name-link">DBConnector()</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBLoop.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBLoop&lt;E&gt;</a> - Class in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBLoop.html#%3Cinit%3E(E,java.lang.String,fr.univlille.iutinfo.sql.Loopable)" class="member-name-link">DBLoop(E, String, Loopable&lt;E&gt;)</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBLoop.html" title="class in fr.univlille.iutinfo.sql">DBLoop</a></dt>
-<dd>
-<div class="block">Constructeur</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBRequest.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBRequest&lt;E&gt;</a> - Class in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette classe permet de simplifier la communication avec la base de données, et d'éviter la redondance de code.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBRequest.html#%3Cinit%3E(fr.univlille.iutinfo.sql.Executable)" class="member-name-link">DBRequest(Executable&lt;E&gt;)</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBRequest.html" title="class in fr.univlille.iutinfo.sql">DBRequest</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#defaultConnectionName" class="member-name-link">defaultConnectionName</a> - Static variable in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">Le nom de la connexion par défaut à utiliser (la 1ère à être configurée)</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html#detach(fr.univlille.iutinfo.utils.Observer)" class="member-name-link">detach(Observer)</a> - Method in class fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Loopable.html#doLoop(E,java.sql.ResultSet)" class="member-name-link">doLoop(E, ResultSet)</a> - Method in interface fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Loopable.html" title="interface in fr.univlille.iutinfo.sql">Loopable</a></dt>
-<dd>
-<div class="block">Permet d'exécuter du code sur une seule ligne de résultat de requête SQL.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:E">E</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/sql/Executable.html" class="type-name-link" title="interface in fr.univlille.iutinfo.sql">Executable&lt;E&gt;</a> - Interface in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette interface définit ce qu'est une requête exécutable.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Executable.html#execute(java.sql.Connection)" class="member-name-link">execute(Connection)</a> - Method in interface fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Executable.html" title="interface in fr.univlille.iutinfo.sql">Executable</a></dt>
-<dd>
-<div class="block">Permet d'exécuter une requête SQL.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBLoop.html#executeLoop()" class="member-name-link">executeLoop()</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBLoop.html" title="class in fr.univlille.iutinfo.sql">DBLoop</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBRequest.html#executeRequest()" class="member-name-link">executeRequest()</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBRequest.html" title="class in fr.univlille.iutinfo.sql">DBRequest</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'exécuter la requête <code>requete</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBRequest.html#executeTransaction(int)" class="member-name-link">executeTransaction(int)</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBRequest.html" title="class in fr.univlille.iutinfo.sql">DBRequest</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'exécuter la requête sans commit automatique de la transaction <code>requete</code>.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:F">F</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/fxml/package-summary.html">fr.univlille.iutinfo.fxml</a> - package fr.univlille.iutinfo.fxml</dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/package-summary.html">fr.univlille.iutinfo.mvcweb</a> - package fr.univlille.iutinfo.mvcweb</dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a> - package fr.univlille.iutinfo.sql</dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/utils/package-summary.html">fr.univlille.iutinfo.utils</a> - package fr.univlille.iutinfo.utils</dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html#fxmlPath" class="member-name-link">fxmlPath</a> - Variable in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></dt>
-<dd>
-<div class="block">Un <code>String</code> représentant le chemin du fichier .fxml.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:G">G</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html#getBody()" class="member-name-link">getBody()</a> - Method in class fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></dt>
-<dd>
-<div class="block">Cette méthode permet de définir le contenu de la balise body de la page</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#getConnection()" class="member-name-link">getConnection()</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'initier une connexion à la base de donnée.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#getConnection(java.lang.String)" class="member-name-link">getConnection(String)</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'initier une connexion à la base de donnée.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/View.html#getContent()" class="member-name-link">getContent()</a> - Method in interface fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/View.html" title="interface in fr.univlille.iutinfo.mvcweb">View</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#getDriver()" class="member-name-link">getDriver()</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html#getEntirePage()" class="member-name-link">getEntirePage()</a> - Method in class fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'obtenir l'entièreté de la page html'</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html#getHead()" class="member-name-link">getHead()</a> - Method in class fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></dt>
-<dd>
-<div class="block">Cette méthode permet de définir le contenu de la balise head de la page</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#getLogin()" class="member-name-link">getLogin()</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#getPassword()" class="member-name-link">getPassword()</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html#getRoot()" class="member-name-link">getRoot()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></dt>
-<dd>
-<div class="block">Permet de récupérer l'élément parent.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#getScene()" class="member-name-link">getScene()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#getStage()" class="member-name-link">getStage()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#getTitle()" class="member-name-link">getTitle()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html#getUrl()" class="member-name-link">getUrl()</a> - Method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:H">H</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" class="type-name-link" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a> - Class in <a href="fr/univlille/iutinfo/mvcweb/package-summary.html">fr.univlille.iutinfo.mvcweb</a></dt>
-<dd>
-<div class="block">Cette classe définit ce qu'est une page HTML entière (head et body)</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html#%3Cinit%3E(java.lang.String,fr.univlille.iutinfo.mvcweb.View...)" class="member-name-link">HtmlEntirePage(String, View...)</a> - Constructor for class fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:I">I</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#init(fr.univlille.iutinfo.sql.DBConnectionDescriptor)" class="member-name-link">init(DBConnectionDescriptor)</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#init(java.lang.String,fr.univlille.iutinfo.sql.DBConnectionDescriptor)" class="member-name-link">init(String, DBConnectionDescriptor)</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBConnector.html#init(java.util.Properties)" class="member-name-link">init(Properties)</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" title="class in fr.univlille.iutinfo.sql">DBConnector</a></dt>
-<dd>
-<div class="block">Cette méthode initialise la connexion à la base de données.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html#initialize()" class="member-name-link">initialize()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></dt>
-<dd>
-<div class="block">Cette méthode est appellée par le <code>FXMLLoader</code>.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:L">L</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html#listeObserver" class="member-name-link">listeObserver</a> - Variable in class fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/sql/DBLoop.html#loop" class="member-name-link">loop</a> - Variable in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBLoop.html" title="class in fr.univlille.iutinfo.sql">DBLoop</a></dt>
-<dd>
-<div class="block">Le morceau de code qui sera exécuté à chaque ligne de résultat <code>Executable</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Loopable.html" class="type-name-link" title="interface in fr.univlille.iutinfo.sql">Loopable&lt;E&gt;</a> - Interface in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette interface définit ce qu'est une fonction qui peut être appliqué à chaque ligne de résultat de requête sql.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:N">N</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html#notifyObservers()" class="member-name-link">notifyObservers()</a> - Method in class fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html#notifyObservers(E)" class="member-name-link">notifyObservers(E)</a> - Method in class fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:O">O</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/sql/DBLoop.html#obj" class="member-name-link">obj</a> - Variable in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBLoop.html" title="class in fr.univlille.iutinfo.sql">DBLoop</a></dt>
-<dd>
-<div class="block">L'objet qui sera manipulé par l'objet de type <code>Loopable</code></div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/utils/Observer.html" class="type-name-link" title="interface in fr.univlille.iutinfo.utils">Observer&lt;T,<wbr>E&gt;</a> - Interface in <a href="fr/univlille/iutinfo/utils/package-summary.html">fr.univlille.iutinfo.utils</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:R">R</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/sql/DBRequest.html#request" class="member-name-link">request</a> - Variable in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBRequest.html" title="class in fr.univlille.iutinfo.sql">DBRequest</a></dt>
-<dd>
-<div class="block">Une requête <code>Executable</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html#root" class="member-name-link">root</a> - Variable in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></dt>
-<dd>
-<div class="block">Le 1er <code>Parent</code> du fichier .fxml.</div>
-</dd>
-</dl>
-<h2 class="title" id="I:S">S</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#scene" class="member-name-link">scene</a> - Variable in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>
-<div class="block">La <code>Scene</code> qui contiendra l'élément <code>Parent</code> root.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">SceneController</a> - Class in <a href="fr/univlille/iutinfo/fxml/package-summary.html">fr.univlille.iutinfo.fxml</a></dt>
-<dd>
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une <code>Scene</code> JavaFX</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#%3Cinit%3E(java.lang.String,java.lang.String,javafx.stage.Stage)" class="member-name-link">SceneController(String, String, Stage)</a> - Constructor for class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>
-<div class="block">Scene controller constructor</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Utils.html#selectMultipleKeysAsColumnsName(java.lang.String)" class="member-name-link">selectMultipleKeysAsColumnsName(String)</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Utils.html" title="class in fr.univlille.iutinfo.sql">Utils</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'éxécuter une requête SELECT retournant plusieurs colonnes, et 1 ou plusieurs lignes.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Utils.html#selectOneCell(java.lang.String)" class="member-name-link">selectOneCell(String)</a> - Static method in class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Utils.html" title="class in fr.univlille.iutinfo.sql">Utils</a></dt>
-<dd>
-<div class="block">Cette méthode permet d'éxécuter une requête SELECT retournant un seul résultat (1 ligne, 1 colonne).</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#stage" class="member-name-link">stage</a> - Variable in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>
-<div class="block">La <code>Stage</code> (fenêtre) où sera affichée la scène.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html" class="type-name-link" title="class in fr.univlille.iutinfo.utils">Subject&lt;E&gt;</a> - Class in <a href="fr/univlille/iutinfo/utils/package-summary.html">fr.univlille.iutinfo.utils</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/utils/Subject.html#%3Cinit%3E()" class="member-name-link">Subject()</a> - Constructor for class fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" title="class in fr.univlille.iutinfo.utils">Subject</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SubSectionController.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a> - Class in <a href="fr/univlille/iutinfo/fxml/package-summary.html">fr.univlille.iutinfo.fxml</a></dt>
-<dd>
-<div class="block">Cette classe abstraite définit le minimum requis pour controller une section à l'intérieur d'une fenêtre JavaFXML.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SubSectionController.html#%3Cinit%3E(java.lang.String)" class="member-name-link">SubSectionController(String)</a> - Constructor for class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SubSectionController.html" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:T">T</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#title" class="member-name-link">title</a> - Variable in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>
-<div class="block">Le titre de la scène</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html#title" class="member-name-link">title</a> - Variable in class fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:U">U</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/utils/Observer.html#update(T)" class="member-name-link">update(T)</a> - Method in interface fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/utils/Observer.html#update(T,E)" class="member-name-link">update(T, E)</a> - Method in interface fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Observer.html" title="interface in fr.univlille.iutinfo.utils">Observer</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/Controller.html#updateStage()" class="member-name-link">updateStage()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" title="class in fr.univlille.iutinfo.fxml">Controller</a></dt>
-<dd>
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SceneController.html#updateStage()" class="member-name-link">updateStage()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" title="class in fr.univlille.iutinfo.fxml">SceneController</a></dt>
-<dd>
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/fxml/SubSectionController.html#updateStage()" class="member-name-link">updateStage()</a> - Method in class fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SubSectionController.html" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></dt>
-<dd>
-<div class="block">Cette méthode charge tous les éléments JavaFX et fait appel à la méthode <code>initialize</code>.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Utils.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">Utils</a> - Class in <a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></dt>
-<dd>
-<div class="block">Cette classe regroupe un ensemble de requêtes SQL les plus fréquentes.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/sql/Utils.html#%3Cinit%3E()" class="member-name-link">Utils()</a> - Constructor for class fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Utils.html" title="class in fr.univlille.iutinfo.sql">Utils</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<h2 class="title" id="I:V">V</h2>
-<dl class="index">
-<dt><a href="fr/univlille/iutinfo/mvcweb/View.html" class="type-name-link" title="interface in fr.univlille.iutinfo.mvcweb">View</a> - Interface in <a href="fr/univlille/iutinfo/mvcweb/package-summary.html">fr.univlille.iutinfo.mvcweb</a></dt>
-<dd>
-<div class="block">Cette interface définit ce qu'est une vue : Selon des paramètres passés lors de l'instanciation, un contenu (html ou autre) est retourné.</div>
-</dd>
-<dt><a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html#viewList" class="member-name-link">viewList</a> - Variable in class fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></dt>
-<dd>&nbsp;</dd>
-</dl>
-<a href="#I:A">A</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a></main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/index.html b/doc/index.html
deleted file mode 100644
index 14038bafffe38f772b090e9a880665cf85915201..0000000000000000000000000000000000000000
--- a/doc/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Overview</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="package index">
-<meta name="generator" content="javadoc/PackageIndexWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="package-index-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li class="nav-bar-cell1-rev">Overview</li>
-<li>Package</li>
-<li>Class</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="index-all.html">Index</a></li>
-<li><a href="help-doc.html#overview">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div id="all-packages-table">
-<object type="image/svg+xml" data="package-dependencies.svg" style="display:block;margin-left:auto;margin-right:auto;max-width:95%;"></object>
-
-<div class="caption"><span>Packages</span></div>
-<div class="summary-table two-column-summary">
-<div class="table-header col-first">Package</div>
-<div class="table-header col-last">Description</div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="fr/univlille/iutinfo/fxml/package-summary.html">fr.univlille.iutinfo.fxml</a></div>
-<div class="col-last even-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="fr/univlille/iutinfo/mvcweb/package-summary.html">fr.univlille.iutinfo.mvcweb</a></div>
-<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
-<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="fr/univlille/iutinfo/sql/package-summary.html">fr.univlille.iutinfo.sql</a></div>
-<div class="col-last even-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
-<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="fr/univlille/iutinfo/utils/package-summary.html">fr.univlille.iutinfo.utils</a></div>
-<div class="col-last odd-row-color all-packages-table all-packages-table-tab1">&nbsp;</div>
-</div>
-</div>
-</main>
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/legal/COPYRIGHT b/doc/legal/COPYRIGHT
deleted file mode 100644
index 945e19c1304e0fe402767a5c01433abafd545b69..0000000000000000000000000000000000000000
--- a/doc/legal/COPYRIGHT
+++ /dev/null
@@ -1,69 +0,0 @@
-Copyright � 1993, 2018, Oracle and/or its affiliates.
-All rights reserved.
-
-This software and related documentation are provided under a
-license agreement containing restrictions on use and
-disclosure and are protected by intellectual property laws.
-Except as expressly permitted in your license agreement or
-allowed by law, you may not use, copy, reproduce, translate,
-broadcast, modify, license, transmit, distribute, exhibit,
-perform, publish, or display any part, in any form, or by
-any means. Reverse engineering, disassembly, or
-decompilation of this software, unless required by law for
-interoperability, is prohibited.
-
-The information contained herein is subject to change
-without notice and is not warranted to be error-free. If you
-find any errors, please report them to us in writing.
-
-If this is software or related documentation that is
-delivered to the U.S. Government or anyone licensing it on
-behalf of the U.S. Government, the following notice is
-applicable:
-
-U.S. GOVERNMENT END USERS: Oracle programs, including any
-operating system, integrated software, any programs
-installed on the hardware, and/or documentation, delivered
-to U.S. Government end users are "commercial computer
-software" pursuant to the applicable Federal Acquisition
-Regulation and agency-specific supplemental regulations. As
-such, use, duplication, disclosure, modification, and
-adaptation of the programs, including any operating system,
-integrated software, any programs installed on the hardware,
-and/or documentation, shall be subject to license terms and
-license restrictions applicable to the programs. No other
-rights are granted to the U.S. Government.
-
-This software or hardware is developed for general use in a
-variety of information management applications. It is not
-developed or intended for use in any inherently dangerous
-applications, including applications that may create a risk
-of personal injury. If you use this software or hardware in
-dangerous applications, then you shall be responsible to
-take all appropriate fail-safe, backup, redundancy, and
-other measures to ensure its safe use. Oracle Corporation
-and its affiliates disclaim any liability for any damages
-caused by use of this software or hardware in dangerous
-applications.
-
-Oracle and Java are registered trademarks of Oracle and/or
-its affiliates. Other names may be trademarks of their
-respective owners.
-
-Intel and Intel Xeon are trademarks or registered trademarks
-of Intel Corporation. All SPARC trademarks are used under
-license and are trademarks or registered trademarks of SPARC
-International, Inc. AMD, Opteron, the AMD logo, and the AMD
-Opteron logo are trademarks or registered trademarks of
-Advanced Micro Devices. UNIX is a registered trademark of
-The Open Group.
-
-This software or hardware and documentation may provide
-access to or information on content, products, and services
-from third parties. Oracle Corporation and its affiliates
-are not responsible for and expressly disclaim all
-warranties of any kind with respect to third-party content,
-products, and services. Oracle Corporation and its
-affiliates will not be responsible for any loss, costs, or
-damages incurred due to your access to or use of third-party
-content, products, or services.
diff --git a/doc/legal/LICENSE b/doc/legal/LICENSE
deleted file mode 100644
index ee860d38bbaeb8432a23edf484bac9e50f242093..0000000000000000000000000000000000000000
--- a/doc/legal/LICENSE
+++ /dev/null
@@ -1,118 +0,0 @@
-Your use of this Program is governed by the No-Fee Terms and Conditions set
-forth below, unless you have received this Program (alone or as part of another
-Oracle product) under an Oracle license agreement (including but not limited to
-the Oracle Master Agreement), in which case your use of this Program is governed
-solely by such license agreement with Oracle.
-
-Oracle No-Fee Terms and Conditions (NFTC)
-
-Definitions
-
-"Oracle" refers to Oracle America, Inc. "You" and "Your" refers to (a) a company
-or organization (each an "Entity") accessing the Programs, if use of the
-Programs will be on behalf of such Entity; or (b) an individual accessing the
-Programs, if use of the Programs will not be on behalf of an Entity.
-"Program(s)" refers to Oracle software provided by Oracle pursuant to the
-following terms and any updates, error corrections, and/or Program Documentation
-provided by Oracle. "Program Documentation" refers to Program user manuals and
-Program installation manuals, if any. If available, Program Documentation may be
-delivered with the Programs and/or may be accessed from
-www.oracle.com/documentation. "Separate Terms" refers to separate license terms
-that are specified in the Program Documentation, readmes or notice files and
-that apply to Separately Licensed Technology. "Separately Licensed Technology"
-refers to Oracle or third party technology that is licensed under Separate Terms
-and not under the terms of this license.
-
-Separately Licensed Technology
-
-Oracle may provide certain notices to You in Program Documentation, readmes or
-notice files in connection with Oracle or third party technology provided as or
-with the Programs. If specified in the Program Documentation, readmes or notice
-files, such technology will be licensed to You under Separate Terms. Your rights
-to use Separately Licensed Technology under Separate Terms are not restricted in
-any way by the terms herein. For clarity, notwithstanding the existence of a
-notice, third party technology that is not Separately Licensed Technology shall
-be deemed part of the Programs licensed to You under the terms of this license.
-
-Source Code for Open Source Software
-
-For software that You receive from Oracle in binary form that is licensed under
-an open source license that gives You the right to receive the source code for
-that binary, You can obtain a copy of the applicable source code from
-https://oss.oracle.com/sources/ or http://www.oracle.com/goto/opensourcecode. If
-the source code for such software was not provided to You with the binary, You
-can also receive a copy of the source code on physical media by submitting a
-written request pursuant to the instructions in the "Written Offer for Source
-Code" section of the latter website.
-
--------------------------------------------------------------------------------
-
-The following license terms apply to those Programs that are not provided to You
-under Separate Terms.
-
-License Rights and Restrictions
-
-Oracle grants to You, as a recipient of this Program, subject to the conditions
-stated herein, a nonexclusive, nontransferable, limited license to:
-
-(a) internally use the unmodified Programs for the purposes of developing,
-testing, prototyping and demonstrating your applications, and running the
-Program for Your own personal use or internal business operations; and
-
-(b) redistribute the unmodified Program and Program Documentation, under the
-terms of this License, provided that You do not charge Your licensees any fees
-associated with such distribution or use of the Program, including, without
-limitation, fees for products that include or are bundled with a copy of the
-Program or for services that involve the use of the distributed Program.
-
-You may make copies of the Programs to the extent reasonably necessary for
-exercising the license rights granted herein and for backup purposes. You are
-granted the right to use the Programs to provide third party training in the use
-of the Programs and associated Separately Licensed Technology only if there is
-express authorization of such use by Oracle on the Program's download page or in
-the Program Documentation.
-
-Your license is contingent on compliance with the following conditions:
-
-- You do not remove markings or notices of either Oracle's or a licensor's
-  proprietary rights from the Programs or Program Documentation;
-
-- You comply with all U.S. and applicable export control and economic sanctions
-  laws and regulations that govern Your use of the Programs (including technical
-  data);
-
-- You do not cause or permit reverse engineering, disassembly or decompilation
-  of the Programs (except as allowed by law) by You nor allow an associated
-  party to do so.
-
-For clarity, any source code that may be included in the distribution with the
-Programs is provided solely for reference purposes and may not be modified,
-unless such source code is under Separate Terms permitting modification.
-
-Ownership
-
-Oracle or its licensors retain all ownership and intellectual property rights to
-the Programs.
-
-Information Collection
-
-The Programs' installation and/or auto-update processes, if any, may transmit a
-limited amount of data to Oracle or its service provider about those processes
-to help Oracle understand and optimize them. Oracle does not associate the data
-with personally identifiable information. Refer to Oracle's Privacy Policy at
-www.oracle.com/privacy.
-
-Disclaimer of Warranties; Limitation of Liability
-
-THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER
-DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY
-IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
-NONINFRINGEMENT.
-
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL ORACLE BE LIABLE TO YOU FOR
-DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
-LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
diff --git a/doc/legal/jquery.md b/doc/legal/jquery.md
deleted file mode 100644
index d468b3183a70056cfd6219cb996c4df5f9136899..0000000000000000000000000000000000000000
--- a/doc/legal/jquery.md
+++ /dev/null
@@ -1,72 +0,0 @@
-## jQuery v3.6.1
-
-### jQuery License
-```
-jQuery v 3.6.1
-Copyright OpenJS Foundation and other contributors, https://openjsf.org/
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-******************************************
-
-The jQuery JavaScript Library v3.6.1 also includes Sizzle.js
-
-Sizzle.js includes the following license:
-
-Copyright JS Foundation and other contributors, https://js.foundation/
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/jquery/sizzle
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-All files located in the node_modules and external directories are
-externally maintained libraries used by this software which have their
-own licenses; we recommend you read them, as their terms may differ from
-the terms above.
-
-*********************
-
-```
diff --git a/doc/legal/jqueryUI.md b/doc/legal/jqueryUI.md
deleted file mode 100644
index 8bda9d7a85e8514f66523283c2417c8e720a644b..0000000000000000000000000000000000000000
--- a/doc/legal/jqueryUI.md
+++ /dev/null
@@ -1,49 +0,0 @@
-## jQuery UI v1.13.2
-
-### jQuery UI License
-```
-Copyright jQuery Foundation and other contributors, https://jquery.org/
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/jquery/jquery-ui
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code contained within the demos directory.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-All files located in the node_modules and external directories are
-externally maintained libraries used by this software which have their
-own licenses; we recommend you read them, as their terms may differ from
-the terms above.
-
-```
diff --git a/doc/link.svg b/doc/link.svg
deleted file mode 100644
index dadef51c5212650ebd576d6bb9926149543abb56..0000000000000000000000000000000000000000
--- a/doc/link.svg
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Copyright (c) 2023, Oracle and/or its affiliates. All rights reserved.
- ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--->
-
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="#505050">
-    <path d="M32 239.3c18.2 16.7 57.1 15.4 74.5-1.7l30.9-32c8.3-8.8 4.8-15.1.7-19.9-4.7-3-12-8.1-20.4.5l-29.4 29.6a29.4 29.4 0 0 1-39.4.9l-8-7c-8.8-9.4-11-28.3-.8-38.8l49.8-51.3c7.2-6.6 21.3-10 36.1-2.4 6.9 5.4 15.6 15.7 26 6.2 9.9-11.2 2.9-20.4-10-29.3-18.7-12.6-52-14.8-70.4 3.8L17 154.2c-20 20.2-11.3 58 1.7 71.5a69 69 0 0 0 13.2 13.6z"/>
-    <path d="M223.2 17.5c-18.4-16.6-57.3-15.3-74.6 2l-30.8 31.9c-8.3 9-4.8 15.2-.7 20 4.8 3 12.1 8 20.5-.6 4.8-5 29.3-29.6 29.3-29.6a29.4 29.4 0 0 1 39.4-1l8 6.8c8.8 9.5 11 28.3.9 38.9l-49.6 51.4c-7.2 6.7-21.3 10.1-36.1 2.6-7-5.4-15.7-15.7-26.1-6.2-9.8 11.2-2.8 20.4 10.2 29.3 18.7 12.5 52 14.7 70.3-4l54.4-56.5c20-20.3 11.2-58-1.9-71.5a69 69 0 0 0-13.2-13.5Z"/>
-</svg>
diff --git a/doc/member-search-index.js b/doc/member-search-index.js
deleted file mode 100644
index 85cd48b2fb61c94d83b0661f19c8bfca71c24219..0000000000000000000000000000000000000000
--- a/doc/member-search-index.js
+++ /dev/null
@@ -1 +0,0 @@
-memberSearchIndex = [{"p":"fr.univlille.iutinfo.utils","c":"Subject","l":"attach(Observer)","u":"attach(fr.univlille.iutinfo.utils.Observer)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"connectionDescriptorList"},{"p":"fr.univlille.iutinfo.fxml","c":"Controller","l":"Controller(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"DBConnectionDescriptor(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"DBConnectionDescriptor(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"DBConnectionDescriptor(String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"DBConnectionDescriptor(String, String, String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String,java.lang.String)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"DBConnector()","u":"%3Cinit%3E()"},{"p":"fr.univlille.iutinfo.sql","c":"DBLoop","l":"DBLoop(E, String, Loopable<E>)","u":"%3Cinit%3E(E,java.lang.String,fr.univlille.iutinfo.sql.Loopable)"},{"p":"fr.univlille.iutinfo.sql","c":"DBRequest","l":"DBRequest(Executable<E>)","u":"%3Cinit%3E(fr.univlille.iutinfo.sql.Executable)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"defaultConnectionName"},{"p":"fr.univlille.iutinfo.utils","c":"Subject","l":"detach(Observer)","u":"detach(fr.univlille.iutinfo.utils.Observer)"},{"p":"fr.univlille.iutinfo.sql","c":"Loopable","l":"doLoop(E, ResultSet)","u":"doLoop(E,java.sql.ResultSet)"},{"p":"fr.univlille.iutinfo.sql","c":"Executable","l":"execute(Connection)","u":"execute(java.sql.Connection)"},{"p":"fr.univlille.iutinfo.sql","c":"DBLoop","l":"executeLoop()"},{"p":"fr.univlille.iutinfo.sql","c":"DBRequest","l":"executeRequest()"},{"p":"fr.univlille.iutinfo.sql","c":"DBRequest","l":"executeTransaction(int)"},{"p":"fr.univlille.iutinfo.fxml","c":"Controller","l":"fxmlPath"},{"p":"fr.univlille.iutinfo.mvcweb","c":"HtmlEntirePage","l":"getBody()"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"getConnection()"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"getConnection(String)","u":"getConnection(java.lang.String)"},{"p":"fr.univlille.iutinfo.mvcweb","c":"View","l":"getContent()"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"getDriver()"},{"p":"fr.univlille.iutinfo.mvcweb","c":"HtmlEntirePage","l":"getEntirePage()"},{"p":"fr.univlille.iutinfo.mvcweb","c":"HtmlEntirePage","l":"getHead()"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"getLogin()"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"getPassword()"},{"p":"fr.univlille.iutinfo.fxml","c":"Controller","l":"getRoot()"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"getScene()"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"getStage()"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"getTitle()"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnectionDescriptor","l":"getUrl()"},{"p":"fr.univlille.iutinfo.mvcweb","c":"HtmlEntirePage","l":"HtmlEntirePage(String, View...)","u":"%3Cinit%3E(java.lang.String,fr.univlille.iutinfo.mvcweb.View...)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"init(DBConnectionDescriptor)","u":"init(fr.univlille.iutinfo.sql.DBConnectionDescriptor)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"init(Properties)","u":"init(java.util.Properties)"},{"p":"fr.univlille.iutinfo.sql","c":"DBConnector","l":"init(String, DBConnectionDescriptor)","u":"init(java.lang.String,fr.univlille.iutinfo.sql.DBConnectionDescriptor)"},{"p":"fr.univlille.iutinfo.fxml","c":"Controller","l":"initialize()"},{"p":"fr.univlille.iutinfo.utils","c":"Subject","l":"listeObserver"},{"p":"fr.univlille.iutinfo.sql","c":"DBLoop","l":"loop"},{"p":"fr.univlille.iutinfo.utils","c":"Subject","l":"notifyObservers()"},{"p":"fr.univlille.iutinfo.utils","c":"Subject","l":"notifyObservers(E)"},{"p":"fr.univlille.iutinfo.sql","c":"DBLoop","l":"obj"},{"p":"fr.univlille.iutinfo.sql","c":"DBRequest","l":"request"},{"p":"fr.univlille.iutinfo.fxml","c":"Controller","l":"root"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"scene"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"SceneController(String, String, Stage)","u":"%3Cinit%3E(java.lang.String,java.lang.String,javafx.stage.Stage)"},{"p":"fr.univlille.iutinfo.sql","c":"Utils","l":"selectMultipleKeysAsColumnsName(String)","u":"selectMultipleKeysAsColumnsName(java.lang.String)"},{"p":"fr.univlille.iutinfo.sql","c":"Utils","l":"selectOneCell(String)","u":"selectOneCell(java.lang.String)"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"stage"},{"p":"fr.univlille.iutinfo.utils","c":"Subject","l":"Subject()","u":"%3Cinit%3E()"},{"p":"fr.univlille.iutinfo.fxml","c":"SubSectionController","l":"SubSectionController(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"title"},{"p":"fr.univlille.iutinfo.mvcweb","c":"HtmlEntirePage","l":"title"},{"p":"fr.univlille.iutinfo.utils","c":"Observer","l":"update(T)"},{"p":"fr.univlille.iutinfo.utils","c":"Observer","l":"update(T, E)","u":"update(T,E)"},{"p":"fr.univlille.iutinfo.fxml","c":"Controller","l":"updateStage()"},{"p":"fr.univlille.iutinfo.fxml","c":"SceneController","l":"updateStage()"},{"p":"fr.univlille.iutinfo.fxml","c":"SubSectionController","l":"updateStage()"},{"p":"fr.univlille.iutinfo.sql","c":"Utils","l":"Utils()","u":"%3Cinit%3E()"},{"p":"fr.univlille.iutinfo.mvcweb","c":"HtmlEntirePage","l":"viewList"}];updateSearchResults();
\ No newline at end of file
diff --git a/doc/module-search-index.js b/doc/module-search-index.js
deleted file mode 100644
index 0d59754fc4adb2e15c50f5f6a6ff2e509e6af170..0000000000000000000000000000000000000000
--- a/doc/module-search-index.js
+++ /dev/null
@@ -1 +0,0 @@
-moduleSearchIndex = [];updateSearchResults();
\ No newline at end of file
diff --git a/doc/overview-summary.html b/doc/overview-summary.html
deleted file mode 100644
index 32374eba7c7d41eb70987fb37f78c21b14f05217..0000000000000000000000000000000000000000
--- a/doc/overview-summary.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Generated Documentation (Untitled)</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="index redirect">
-<meta name="generator" content="javadoc/IndexRedirectWriter">
-<link rel="canonical" href="index.html">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript">window.location.replace('index.html')</script>
-<noscript>
-<meta http-equiv="Refresh" content="0;index.html">
-</noscript>
-</head>
-<body class="index-redirect-page">
-<main role="main">
-<noscript>
-<p>JavaScript is disabled on your browser.</p>
-</noscript>
-<p><a href="index.html">index.html</a></p>
-</main>
-</body>
-</html>
diff --git a/doc/overview-tree.html b/doc/overview-tree.html
deleted file mode 100644
index 22d974bffb8c104298760a901e91f819f03f58d4..0000000000000000000000000000000000000000
--- a/doc/overview-tree.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Class Hierarchy</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="class tree">
-<meta name="generator" content="javadoc/TreeWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="tree-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="index.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li class="nav-bar-cell1-rev">Tree</li>
-<li><a href="index-all.html">Index</a></li>
-<li><a href="help-doc.html#tree">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-<div class="nav-list-search"><a href="search.html">SEARCH</a>
-<input type="text" id="search-input" disabled placeholder="Search">
-<input type="reset" id="reset-button" disabled value="reset">
-</div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<div class="header">
-<h1 class="title">Hierarchy For All Packages</h1>
-</div>
-<span class="package-hierarchy-label">Package Hierarchies:</span>
-<ul class="horizontal contents-list">
-<li><a href="fr/univlille/iutinfo/fxml/package-tree.html">fr.univlille.iutinfo.fxml</a>, </li>
-<li><a href="fr/univlille/iutinfo/mvcweb/package-tree.html">fr.univlille.iutinfo.mvcweb</a>, </li>
-<li><a href="fr/univlille/iutinfo/sql/package-tree.html">fr.univlille.iutinfo.sql</a>, </li>
-<li><a href="fr/univlille/iutinfo/utils/package-tree.html">fr.univlille.iutinfo.utils</a></li>
-</ul>
-<section class="hierarchy">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/Controller.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">Controller</a>
-<ul>
-<li class="circle">fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SceneController.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">SceneController</a></li>
-<li class="circle">fr.univlille.iutinfo.fxml.<a href="fr/univlille/iutinfo/fxml/SubSectionController.html" class="type-name-link" title="class in fr.univlille.iutinfo.fxml">SubSectionController</a></li>
-</ul>
-</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnectionDescriptor.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBConnectionDescriptor</a></li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBConnector.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBConnector</a></li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBLoop.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBLoop</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/DBRequest.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">DBRequest</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/HtmlEntirePage.html" class="type-name-link" title="class in fr.univlille.iutinfo.mvcweb">HtmlEntirePage</a></li>
-<li class="circle">fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Subject.html" class="type-name-link" title="class in fr.univlille.iutinfo.utils">Subject</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Utils.html" class="type-name-link" title="class in fr.univlille.iutinfo.sql">Utils</a></li>
-</ul>
-</li>
-</ul>
-</section>
-<section class="hierarchy">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Executable.html" class="type-name-link" title="interface in fr.univlille.iutinfo.sql">Executable</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.sql.<a href="fr/univlille/iutinfo/sql/Loopable.html" class="type-name-link" title="interface in fr.univlille.iutinfo.sql">Loopable</a>&lt;E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.utils.<a href="fr/univlille/iutinfo/utils/Observer.html" class="type-name-link" title="interface in fr.univlille.iutinfo.utils">Observer</a>&lt;T,<wbr>E&gt;</li>
-<li class="circle">fr.univlille.iutinfo.mvcweb.<a href="fr/univlille/iutinfo/mvcweb/View.html" class="type-name-link" title="interface in fr.univlille.iutinfo.mvcweb">View</a></li>
-</ul>
-</section>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/package-dependencies.svg b/doc/package-dependencies.svg
deleted file mode 100644
index 2d103e234338495292d0e86749e00f188320b450..0000000000000000000000000000000000000000
--- a/doc/package-dependencies.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="144px" preserveAspectRatio="none" style="width:227px;height:144px;" version="1.1" viewBox="0 0 227 144" width="227px" zoomAndPan="magnify"><defs/><g><!--class fr.univlille.iutinfo.fxml--><a href="fr/univlille/iutinfo/fxml/package-summary.html" target="_top" title="fr/univlille/iutinfo/fxml/package-summary.html" xlink:actuate="onRequest" xlink:href="fr/univlille/iutinfo/fxml/package-summary.html" xlink:show="new" xlink:title="fr/univlille/iutinfo/fxml/package-summary.html" xlink:type="simple"><g id="elem_fr.univlille.iutinfo.fxml"><rect codeLine="11" fill="#F1F1F1" height="26.4883" id="fr.univlille.iutinfo.fxml" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="158" x="35" y="7"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="152" x="38" y="25.5352">fr.univlille.iutinfo.fxml</text></g></a><!--class javafx.scene--><g id="elem_javafx.scene"><rect fill="#F1F1F1" height="26.4883" id="javafx.scene" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="90" x="7" y="93.49"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="10" y="112.0252">javafx.scene</text></g><!--class javafx.stage--><g id="elem_javafx.stage"><rect fill="#F1F1F1" height="26.4883" id="javafx.stage" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="88" x="132" y="93.49"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="135" y="112.0252">javafx.stage</text></g><!--link fr.univlille.iutinfo.fxml to javafx.scene--><g id="link_fr.univlille.iutinfo.fxml_javafx.scene"><path codeLine="7" d="M104.85,33.71 C94.23,48.19 76.64,72.16 64.7,88.43 " fill="none" id="fr.univlille.iutinfo.fxml-to-javafx.scene" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="61.19,92.22,69.7401,87.3318,64.1487,88.1893,63.2911,82.5979,61.19,92.22" style="stroke:#181818;stroke-width:1.0;"/></g><!--link fr.univlille.iutinfo.fxml to javafx.stage--><g id="link_fr.univlille.iutinfo.fxml_javafx.stage"><path codeLine="8" d="M123.15,33.71 C133.77,48.19 151.36,72.16 163.3,88.43 " fill="none" id="fr.univlille.iutinfo.fxml-to-javafx.stage" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="166.81,92.22,164.7089,82.5979,163.8513,88.1893,158.2599,87.3318,166.81,92.22" style="stroke:#181818;stroke-width:1.0;"/></g><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacing" textLength="182" x="15.5" y="134.6463">UMLDoclet 2.1.0, PlantUML 1.2022.14</text><!--SRC=[ZP3FIiGm4CRlFiMmiAXWK_K1F7bKM5WyBNiOqyassyca9DEoY_ZkfkqY8WYUmdo_Bz_y0G38dPSU4mPuHziTKXoaiP5Z0aqekI0IlOB9IGg2WOfcQKlJ9oqsYK8pRtr3O7so_AEcqEiPd2TkycyraBQnoBFkaXd4Z-oPoVX1lRXet2amLDKJ7754TpBPqgNP_-oA1rhYhs5JrYibi9Tk6SKovWohFwDMiDkvL7_3-WBh2TRzabVb8GHCPzDguFqUFkRepwLh6LSfWOjnUjvUNvvZkOx2etamztUmOHGjAgn7Ijb7kRdz0W00]--></g></svg>
\ No newline at end of file
diff --git a/doc/package-search-index.js b/doc/package-search-index.js
deleted file mode 100644
index b3b7848b00054c4d0fa1519e1f5a6b25ccd04adf..0000000000000000000000000000000000000000
--- a/doc/package-search-index.js
+++ /dev/null
@@ -1 +0,0 @@
-packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"fr.univlille.iutinfo.fxml"},{"l":"fr.univlille.iutinfo.mvcweb"},{"l":"fr.univlille.iutinfo.sql"},{"l":"fr.univlille.iutinfo.utils"}];updateSearchResults();
\ No newline at end of file
diff --git a/doc/resources/glass.png b/doc/resources/glass.png
deleted file mode 100644
index a7f591f467a1c0c949bbc510156a0c1afb860a6e..0000000000000000000000000000000000000000
Binary files a/doc/resources/glass.png and /dev/null differ
diff --git a/doc/resources/x.png b/doc/resources/x.png
deleted file mode 100644
index 30548a756e151be4e927e8d28c508cc5b3514bf3..0000000000000000000000000000000000000000
Binary files a/doc/resources/x.png and /dev/null differ
diff --git a/doc/script-dir/jquery-3.6.1.min.js b/doc/script-dir/jquery-3.6.1.min.js
deleted file mode 100644
index 2c69bc908b10d854c2c3fe6e3268dcffe20e1b5a..0000000000000000000000000000000000000000
--- a/doc/script-dir/jquery-3.6.1.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,y,s,c,v,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[S]&&(y=Ce(y)),v&&!v[S]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function $(){E.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||S.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(t,e){S.event.special[t]={setup:function(){return Se(this,t,Ce),!1},trigger:function(){return Se(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&(a=a.replace($e,"$1")),""!==a||ie(e)||(a=S.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=E.createElement("div").style,Xe={};function Ve(e){var t=S.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return B(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return B(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){S(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){S(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){S(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=S(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:yt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},v.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),v.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,S.ajaxSettings),t):Bt(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=S.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?S(v):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=E.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=S.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=S.event&&y.global)&&0==S.active++&&S.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(Et.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<S.inArray("script",y.dataTypes)&&S.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/doc/script-dir/jquery-ui.min.css b/doc/script-dir/jquery-ui.min.css
deleted file mode 100644
index 693327f014859055d025f6d8872d90bc5a8879b2..0000000000000000000000000000000000000000
--- a/doc/script-dir/jquery-ui.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*! jQuery UI - v1.13.2 - 2023-02-27
-* http://jqueryui.com
-* Includes: core.css, autocomplete.css, menu.css
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;-ms-filter:"alpha(opacity=0)"}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}
\ No newline at end of file
diff --git a/doc/script-dir/jquery-ui.min.js b/doc/script-dir/jquery-ui.min.js
deleted file mode 100644
index 8166a15ee23d84b3cb009b5f21205d463f814eb4..0000000000000000000000000000000000000000
--- a/doc/script-dir/jquery-ui.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*! jQuery UI - v1.13.2 - 2023-02-27
-* http://jqueryui.com
-* Includes: widget.js, position.js, keycode.js, unique-id.js, widgets/autocomplete.js, widgets/menu.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(x){"use strict";x.ui=x.ui||{};x.ui.version="1.13.2";var n,i=0,l=Array.prototype.hasOwnProperty,a=Array.prototype.slice;x.cleanData=(n=x.cleanData,function(t){for(var e,i,s=0;null!=(i=t[s]);s++)(e=x._data(i,"events"))&&e.remove&&x(i).triggerHandler("remove");n(t)}),x.widget=function(t,i,e){var s,n,o,l={},a=t.split(".")[0],r=a+"-"+(t=t.split(".")[1]);return e||(e=i,i=x.Widget),Array.isArray(e)&&(e=x.extend.apply(null,[{}].concat(e))),x.expr.pseudos[r.toLowerCase()]=function(t){return!!x.data(t,r)},x[a]=x[a]||{},s=x[a][t],n=x[a][t]=function(t,e){if(!this||!this._createWidget)return new n(t,e);arguments.length&&this._createWidget(t,e)},x.extend(n,s,{version:e.version,_proto:x.extend({},e),_childConstructors:[]}),(o=new i).options=x.widget.extend({},o.options),x.each(e,function(e,s){function n(){return i.prototype[e].apply(this,arguments)}function o(t){return i.prototype[e].apply(this,t)}l[e]="function"==typeof s?function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}:s}),n.prototype=x.widget.extend(o,{widgetEventPrefix:s&&o.widgetEventPrefix||t},l,{constructor:n,namespace:a,widgetName:t,widgetFullName:r}),s?(x.each(s._childConstructors,function(t,e){var i=e.prototype;x.widget(i.namespace+"."+i.widgetName,n,e._proto)}),delete s._childConstructors):i._childConstructors.push(n),x.widget.bridge(t,n),n},x.widget.extend=function(t){for(var e,i,s=a.call(arguments,1),n=0,o=s.length;n<o;n++)for(e in s[n])i=s[n][e],l.call(s[n],e)&&void 0!==i&&(x.isPlainObject(i)?t[e]=x.isPlainObject(t[e])?x.widget.extend({},t[e],i):x.widget.extend({},i):t[e]=i);return t},x.widget.bridge=function(o,e){var l=e.prototype.widgetFullName||o;x.fn[o]=function(i){var t="string"==typeof i,s=a.call(arguments,1),n=this;return t?this.length||"instance"!==i?this.each(function(){var t,e=x.data(this,l);return"instance"===i?(n=e,!1):e?"function"!=typeof e[i]||"_"===i.charAt(0)?x.error("no such method '"+i+"' for "+o+" widget instance"):(t=e[i].apply(e,s))!==e&&void 0!==t?(n=t&&t.jquery?n.pushStack(t.get()):t,!1):void 0:x.error("cannot call methods on "+o+" prior to initialization; attempted to call method '"+i+"'")}):n=void 0:(s.length&&(i=x.widget.extend.apply(null,[i].concat(s))),this.each(function(){var t=x.data(this,l);t?(t.option(i||{}),t._init&&t._init()):x.data(this,l,new e(i,this))})),n}},x.Widget=function(){},x.Widget._childConstructors=[],x.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n<i.length-1;n++)s[i[n]]=s[i[n]]||{},s=s[i[n]];if(t=i.pop(),1===arguments.length)return void 0===s[t]?null:s[t];s[t]=e}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=e}return this._setOptions(o),this},_setOptions:function(t){for(var e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(t){var e,i,s;for(e in t)s=this.classesElementLookup[e],t[e]!==this.options.classes[e]&&s&&s.length&&(i=x(s.get()),this._removeClass(s,e),i.addClass(this._classes({element:i,keys:e,classes:t,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(n){var o=[],l=this;function t(t,e){for(var i,s=0;s<t.length;s++)i=l.classesElementLookup[t[s]]||x(),i=n.add?(function(){var i=[];n.element.each(function(t,e){x.map(l.classesElementLookup,function(t){return t}).some(function(t){return t.is(e)})||i.push(e)}),l._on(x(i),{remove:"_untrackClassesElement"})}(),x(x.uniqueSort(i.get().concat(n.element.get())))):x(i.not(n.element).get()),l.classesElementLookup[t[s]]=i,o.push(t[s]),e&&n.classes[t[s]]&&o.push(n.classes[t[s]])}return(n=x.extend({element:this.element,classes:this.options.classes||{}},n)).keys&&t(n.keys.match(/\S+/g)||[],!0),n.extra&&t(n.extra.match(/\S+/g)||[]),o.join(" ")},_untrackClassesElement:function(i){var s=this;x.each(s.classesElementLookup,function(t,e){-1!==x.inArray(i.target,e)&&(s.classesElementLookup[t]=x(e.not(i.target).get()))}),this._off(x(i.target))},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){var n="string"==typeof t||null===t,i={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s="boolean"==typeof s?s:i};return i.element.toggleClass(this._classes(i),s),this},_on:function(n,o,t){var l,a=this;"boolean"!=typeof n&&(t=o,o=n,n=!1),t?(o=l=x(o),this.bindings=this.bindings.add(o)):(t=o,o=this.element,l=this.widget()),x.each(t,function(t,e){function i(){if(n||!0!==a.options.disabled&&!x(this).hasClass("ui-state-disabled"))return("string"==typeof e?a[e]:e).apply(a,arguments)}"string"!=typeof e&&(i.guid=e.guid=e.guid||i.guid||x.guid++);var s=t.match(/^([\w:-]*)\s*(.*)$/),t=s[1]+a.eventNamespace,s=s[2];s?l.on(t,s,i):o.on(t,i)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(e),this.bindings=x(this.bindings.not(t).get()),this.focusable=x(this.focusable.not(t).get()),this.hoverable=x(this.hoverable.not(t).get())},_delay:function(t,e){var i=this;return setTimeout(function(){return("string"==typeof t?i[t]:t).apply(i,arguments)},e||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(x(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(x(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(x(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,e,i){var s,n,o=this.options[t];if(i=i||{},(e=x.Event(e)).type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),e.target=this.element[0],n=e.originalEvent)for(s in n)s in e||(e[s]=n[s]);return this.element.trigger(e,i),!("function"==typeof o&&!1===o.apply(this.element[0],[e].concat(i))||e.isDefaultPrevented())}},x.each({show:"fadeIn",hide:"fadeOut"},function(o,l){x.Widget.prototype["_"+o]=function(e,t,i){var s,n=(t="string"==typeof t?{effect:t}:t)?!0!==t&&"number"!=typeof t&&t.effect||l:o;"number"==typeof(t=t||{})?t={duration:t}:!0===t&&(t={}),s=!x.isEmptyObject(t),t.complete=i,t.delay&&e.delay(t.delay),s&&x.effects&&x.effects.effect[n]?e[o](t):n!==o&&e[n]?e[n](t.duration,t.easing,i):e.queue(function(t){x(this)[o](),i&&i.call(e[0]),t()})}});var s,C,E,o,r,u,h,c,k;x.widget;function T(t,e,i){return[parseFloat(t[0])*(c.test(t[0])?e/100:1),parseFloat(t[1])*(c.test(t[1])?i/100:1)]}function A(t,e){return parseInt(x.css(t,e),10)||0}function W(t){return null!=t&&t===t.window}C=Math.max,E=Math.abs,o=/left|center|right/,r=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,h=/^\w+/,c=/%$/,k=x.fn.position,x.position={scrollbarWidth:function(){if(void 0!==s)return s;var t,e=x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.width<t.element[0].scrollWidth;return{width:"scroll"===i||"auto"===i&&t.height<t.element[0].scrollHeight?x.position.scrollbarWidth():0,height:e?x.position.scrollbarWidth():0}},getWithinInfo:function(t){var e=x(t||window),i=W(e[0]),s=!!e[0]&&9===e[0].nodeType;return{element:e,isWindow:i,isDocument:s,offset:!i&&!s?x(t).offset():{left:0,top:0},scrollLeft:e.scrollLeft(),scrollTop:e.scrollTop(),width:e.outerWidth(),height:e.outerHeight()}}},x.fn.position=function(c){if(!c||!c.of)return k.apply(this,arguments);var d,f,m,p,v,t,g="string"==typeof(c=x.extend({},c)).of?x(document).find(c.of):x(c.of),_=x.position.getWithinInfo(c.within),y=x.position.getScrollInfo(_),b=(c.collision||"flip").split(" "),w={},e=9===(t=(e=g)[0]).nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:W(t)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()};return g[0].preventDefault&&(c.at="left top"),f=e.width,m=e.height,v=x.extend({},p=e.offset),x.each(["my","at"],function(){var t,e,i=(c[this]||"").split(" ");(i=1===i.length?o.test(i[0])?i.concat(["center"]):r.test(i[0])?["center"].concat(i):["center","center"]:i)[0]=o.test(i[0])?i[0]:"center",i[1]=r.test(i[1])?i[1]:"center",t=u.exec(i[0]),e=u.exec(i[1]),w[this]=[t?t[0]:0,e?e[0]:0],c[this]=[h.exec(i[0])[0],h.exec(i[1])[0]]}),1===b.length&&(b[1]=b[0]),"right"===c.at[0]?v.left+=f:"center"===c.at[0]&&(v.left+=f/2),"bottom"===c.at[1]?v.top+=m:"center"===c.at[1]&&(v.top+=m/2),d=T(w.at,f,m),v.left+=d[0],v.top+=d[1],this.each(function(){var i,t,l=x(this),a=l.outerWidth(),r=l.outerHeight(),e=A(this,"marginLeft"),s=A(this,"marginTop"),n=a+e+A(this,"marginRight")+y.width,o=r+s+A(this,"marginBottom")+y.height,u=x.extend({},v),h=T(w.my,l.outerWidth(),l.outerHeight());"right"===c.my[0]?u.left-=a:"center"===c.my[0]&&(u.left-=a/2),"bottom"===c.my[1]?u.top-=r:"center"===c.my[1]&&(u.top-=r/2),u.left+=h[0],u.top+=h[1],i={marginLeft:e,marginTop:s},x.each(["left","top"],function(t,e){x.ui.position[b[t]]&&x.ui.position[b[t]][e](u,{targetWidth:f,targetHeight:m,elemWidth:a,elemHeight:r,collisionPosition:i,collisionWidth:n,collisionHeight:o,offset:[d[0]+h[0],d[1]+h[1]],my:c.my,at:c.at,within:_,elem:l})}),c.using&&(t=function(t){var e=p.left-u.left,i=e+f-a,s=p.top-u.top,n=s+m-r,o={target:{element:g,left:p.left,top:p.top,width:f,height:m},element:{element:l,left:u.left,top:u.top,width:a,height:r},horizontal:i<0?"left":0<e?"right":"center",vertical:n<0?"top":0<s?"bottom":"middle"};f<a&&E(e+i)<f&&(o.horizontal="center"),m<r&&E(s+n)<m&&(o.vertical="middle"),C(E(e),E(i))>C(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0<l&&a<=0?(i=t.left+l+e.collisionWidth-n-s,t.left+=l-i):t.left=!(0<a&&l<=0)&&a<l?s+n-e.collisionWidth:s:0<l?t.left+=l:0<a?t.left-=a:t.left=C(t.left-o,t.left)},top:function(t,e){var i=e.within,s=i.isWindow?i.scrollTop:i.offset.top,n=e.within.height,o=t.top-e.collisionPosition.marginTop,l=s-o,a=o+e.collisionHeight-n-s;e.collisionHeight>n?0<l&&a<=0?(i=t.top+l+e.collisionHeight-n-s,t.top+=l-i):t.top=!(0<a&&l<=0)&&a<l?s+n-e.collisionHeight:s:0<l?t.top+=l:0<a?t.top-=a:t.top=C(t.top-o,t.top)}},flip:{left:function(t,e){var i=e.within,s=i.offset.left+i.scrollLeft,n=i.width,o=i.isWindow?i.scrollLeft:i.offset.left,l=t.left-e.collisionPosition.marginLeft,a=l-o,r=l+e.collisionWidth-n-o,u="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,i="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,l=-2*e.offset[0];a<0?((s=t.left+u+i+l+e.collisionWidth-n-s)<0||s<E(a))&&(t.left+=u+i+l):0<r&&(0<(o=t.left-e.collisionPosition.marginLeft+u+i+l-o)||E(o)<r)&&(t.left+=u+i+l)},top:function(t,e){var i=e.within,s=i.offset.top+i.scrollTop,n=i.height,o=i.isWindow?i.scrollTop:i.offset.top,l=t.top-e.collisionPosition.marginTop,a=l-o,r=l+e.collisionHeight-n-o,u="top"===e.my[1]?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,i="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,l=-2*e.offset[1];a<0?((s=t.top+u+i+l+e.collisionHeight-n-s)<0||s<E(a))&&(t.top+=u+i+l):0<r&&(0<(o=t.top-e.collisionPosition.marginTop+u+i+l-o)||E(o)<r)&&(t.top+=u+i+l)}},flipfit:{left:function(){x.ui.position.flip.left.apply(this,arguments),x.ui.position.fit.left.apply(this,arguments)},top:function(){x.ui.position.flip.top.apply(this,arguments),x.ui.position.fit.top.apply(this,arguments)}}};var t;x.ui.position,x.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},x.fn.extend({uniqueId:(t=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&x(this).removeAttr("id")})}}),x.ui.safeActiveElement=function(e){var i;try{i=e.activeElement}catch(t){i=e.body}return i=!(i=i||e.body).nodeName?e.body:i},x.widget("ui.menu",{version:"1.13.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("<span>").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s<e+t&&this.activeMenu.scrollTop(i+e-s+t))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(t){var e=x.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(e)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var t=i?this.element:x(e&&e.target).closest(this.element.find(".ui-menu"));t.length||(t=this.element),this._close(t),this.blur(e),this._removeClass(t.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=t},i?0:this.delay)},_close:function(t){(t=t||(this.active?this.active.parent():this.element)).find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!x(t.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this._menuItems(this.active.children(".ui-menu")).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(t){return(t||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(t,e,i){var s;(s=this.active?"first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").last():this.active[t+"All"](".ui-menu-item").first():s)&&s.length&&this.active||(s=this._menuItems(this.activeMenu)[e]()),this.focus(i,s)},nextPage:function(t){var e,i,s;this.active?this.isLastItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each(function(){return(e=x(this)).offset().top-i-s<0}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var e,i,s;this.active?this.isFirstItem()||(this._hasScroll()?(i=this.active.offset().top,s=this.element.innerHeight(),0===x.fn.jquery.indexOf("3.2.")&&(s+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each(function(){return 0<(e=x(this)).offset().top-i+s}),this.focus(t,e)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(t){this.active=this.active||x(t.target).closest(".ui-menu-item");var e={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(t,!0),this._trigger("select",t,e)},_filterMenuItems:function(t){var t=t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),e=new RegExp("^"+t,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return e.test(String.prototype.trim.call(x(this).children(".ui-menu-item-wrapper").text()))})}});x.widget("ui.autocomplete",{version:"1.13.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):!1!==this._trigger("search",e)?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")}.bind(this)},__response:function(t){t=t&&this._normalize(t),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(t){return t.length&&t[0].label&&t[0].value?t:x.map(t,function(t){return"string"==typeof t?{label:t,value:t}:x.extend({},t,{label:t.label||t.value,value:t.value||t.label})})},_suggest:function(t){var e=this.menu.element.empty();this._renderMenu(e,t),this.isNewMenu=!0,this.menu.refresh(),e.show(),this._resizeMenu(),e.position(x.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(i,t){var s=this;x.each(t,function(t,e){s._renderItemData(i,e)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(t,e){return x("<li>").append(x("<div>").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1<t?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("<div>").text(e))},100))}});x.ui.autocomplete});
\ No newline at end of file
diff --git a/doc/script.js b/doc/script.js
deleted file mode 100644
index f1a0f25646a83d47db3a5e520f061bf98565318b..0000000000000000000000000000000000000000
--- a/doc/script.js
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved.
- * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- */
-
-var moduleSearchIndex;
-var packageSearchIndex;
-var typeSearchIndex;
-var memberSearchIndex;
-var tagSearchIndex;
-
-var oddRowColor = "odd-row-color";
-var evenRowColor = "even-row-color";
-var sortAsc = "sort-asc";
-var sortDesc = "sort-desc";
-var tableTab = "table-tab";
-var activeTableTab = "active-table-tab";
-
-function loadScripts(doc, tag) {
-    createElem(doc, tag, 'search.js');
-
-    createElem(doc, tag, 'module-search-index.js');
-    createElem(doc, tag, 'package-search-index.js');
-    createElem(doc, tag, 'type-search-index.js');
-    createElem(doc, tag, 'member-search-index.js');
-    createElem(doc, tag, 'tag-search-index.js');
-}
-
-function createElem(doc, tag, path) {
-    var script = doc.createElement(tag);
-    var scriptElement = doc.getElementsByTagName(tag)[0];
-    script.src = pathtoroot + path;
-    scriptElement.parentNode.insertBefore(script, scriptElement);
-}
-
-// Helper for  making content containing release names comparable lexicographically
-function makeComparable(s) {
-    return s.toLowerCase().replace(/(\d+)/g,
-        function(n, m) {
-            return ("000" + m).slice(-4);
-        });
-}
-
-// Switches between two styles depending on a condition
-function toggleStyle(classList, condition, trueStyle, falseStyle) {
-    if (condition) {
-        classList.remove(falseStyle);
-        classList.add(trueStyle);
-    } else {
-        classList.remove(trueStyle);
-        classList.add(falseStyle);
-    }
-}
-
-// Sorts the rows in a table lexicographically by the content of a specific column
-function sortTable(header, columnIndex, columns) {
-    var container = header.parentElement;
-    var descending = header.classList.contains(sortAsc);
-    container.querySelectorAll("div.table-header").forEach(
-        function(header) {
-            header.classList.remove(sortAsc);
-            header.classList.remove(sortDesc);
-        }
-    )
-    var cells = container.children;
-    var rows = [];
-    for (var i = columns; i < cells.length; i += columns) {
-        rows.push(Array.prototype.slice.call(cells, i, i + columns));
-    }
-    var comparator = function(a, b) {
-        var ka = makeComparable(a[columnIndex].textContent);
-        var kb = makeComparable(b[columnIndex].textContent);
-        if (ka < kb)
-            return descending ? 1 : -1;
-        if (ka > kb)
-            return descending ? -1 : 1;
-        return 0;
-    };
-    var sorted = rows.sort(comparator);
-    var visible = 0;
-    sorted.forEach(function(row) {
-        if (row[0].style.display !== 'none') {
-            var isEvenRow = visible++ % 2 === 0;
-        }
-        row.forEach(function(cell) {
-            toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor);
-            container.appendChild(cell);
-        })
-    });
-    toggleStyle(header.classList, descending, sortDesc, sortAsc);
-}
-
-// Toggles the visibility of a table category in all tables in a page
-function toggleGlobal(checkbox, selected, columns) {
-    var display = checkbox.checked ? '' : 'none';
-    document.querySelectorAll("div.table-tabs").forEach(function(t) {
-        var id = t.parentElement.getAttribute("id");
-        var selectedClass = id + "-tab" + selected;
-        // if selected is empty string it selects all uncategorized entries
-        var selectUncategorized = !Boolean(selected);
-        var visible = 0;
-        document.querySelectorAll('div.' + id)
-            .forEach(function(elem) {
-                if (selectUncategorized) {
-                    if (elem.className.indexOf(selectedClass) === -1) {
-                        elem.style.display = display;
-                    }
-                } else if (elem.classList.contains(selectedClass)) {
-                    elem.style.display = display;
-                }
-                if (elem.style.display === '') {
-                    var isEvenRow = visible++ % (columns * 2) < columns;
-                    toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
-                }
-            });
-        var displaySection = visible === 0 ? 'none' : '';
-        t.parentElement.style.display = displaySection;
-        document.querySelector("li#contents-" + id).style.display = displaySection;
-    })
-}
-
-// Shows the elements of a table belonging to a specific category
-function show(tableId, selected, columns) {
-    if (tableId !== selected) {
-        document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
-            .forEach(function(elem) {
-                elem.style.display = 'none';
-            });
-    }
-    document.querySelectorAll('div.' + selected)
-        .forEach(function(elem, index) {
-            elem.style.display = '';
-            var isEvenRow = index % (columns * 2) < columns;
-            toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor);
-        });
-    updateTabs(tableId, selected);
-}
-
-function updateTabs(tableId, selected) {
-    document.querySelector('div#' + tableId +' .summary-table')
-        .setAttribute('aria-labelledby', selected);
-    document.querySelectorAll('button[id^="' + tableId + '"]')
-        .forEach(function(tab, index) {
-            if (selected === tab.id || (tableId === selected && index === 0)) {
-                tab.className = activeTableTab;
-                tab.setAttribute('aria-selected', true);
-                tab.setAttribute('tabindex',0);
-            } else {
-                tab.className = tableTab;
-                tab.setAttribute('aria-selected', false);
-                tab.setAttribute('tabindex',-1);
-            }
-        });
-}
-
-function switchTab(e) {
-    var selected = document.querySelector('[aria-selected=true]');
-    if (selected) {
-        if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
-            // left or up arrow key pressed: move focus to previous tab
-            selected.previousSibling.click();
-            selected.previousSibling.focus();
-            e.preventDefault();
-        } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
-            // right or down arrow key pressed: move focus to next tab
-            selected.nextSibling.click();
-            selected.nextSibling.focus();
-            e.preventDefault();
-        }
-    }
-}
-
-var updateSearchResults = function() {};
-
-function indexFilesLoaded() {
-    return moduleSearchIndex
-        && packageSearchIndex
-        && typeSearchIndex
-        && memberSearchIndex
-        && tagSearchIndex;
-}
-// Copy the contents of the local snippet to the clipboard
-function copySnippet(button) {
-    copyToClipboard(button.nextElementSibling.innerText);
-    switchCopyLabel(button, button.firstElementChild);
-}
-function copyToClipboard(content) {
-    var textarea = document.createElement("textarea");
-    textarea.style.height = 0;
-    document.body.appendChild(textarea);
-    textarea.value = content;
-    textarea.select();
-    document.execCommand("copy");
-    document.body.removeChild(textarea);
-}
-function switchCopyLabel(button, span) {
-    var copied = span.getAttribute("data-copied");
-    button.classList.add("visible");
-    var initialLabel = span.innerHTML;
-    span.innerHTML = copied;
-    setTimeout(function() {
-        button.classList.remove("visible");
-        setTimeout(function() {
-            if (initialLabel !== copied) {
-                span.innerHTML = initialLabel;
-            }
-        }, 100);
-    }, 1900);
-}
-// Workaround for scroll position not being included in browser history (8249133)
-document.addEventListener("DOMContentLoaded", function(e) {
-    var contentDiv = document.querySelector("div.flex-content");
-    window.addEventListener("popstate", function(e) {
-        if (e.state !== null) {
-            contentDiv.scrollTop = e.state;
-        }
-    });
-    window.addEventListener("hashchange", function(e) {
-        history.replaceState(contentDiv.scrollTop, document.title);
-    });
-    var timeoutId;
-    contentDiv.addEventListener("scroll", function(e) {
-        if (timeoutId) {
-            clearTimeout(timeoutId);
-        }
-        timeoutId = setTimeout(function() {
-            history.replaceState(contentDiv.scrollTop, document.title);
-        }, 100);
-    });
-    if (!location.hash) {
-        history.replaceState(contentDiv.scrollTop, document.title);
-    }
-});
diff --git a/doc/search-page.js b/doc/search-page.js
deleted file mode 100644
index e4da097d9483bca0d7ae2bb7ee45a1c72a582418..0000000000000000000000000000000000000000
--- a/doc/search-page.js
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
- * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- */
-
-"use strict";
-$(function() {
-    var copy = $("#page-search-copy");
-    var expand = $("#page-search-expand");
-    var searchLink = $("span#page-search-link");
-    var redirect = $("input#search-redirect");
-    function setSearchUrlTemplate() {
-        var href = document.location.href.split(/[#?]/)[0];
-        href += "?q=" + "%s";
-        if (redirect.is(":checked")) {
-            href += "&r=1";
-        }
-        searchLink.html(href);
-        copy[0].onmouseenter();
-    }
-    function copyLink(e) {
-        copyToClipboard(this.previousSibling.innerText);
-        switchCopyLabel(this, this.lastElementChild);
-    }
-    copy.click(copyLink);
-    copy[0].onmouseenter = function() {};
-    redirect.click(setSearchUrlTemplate);
-    setSearchUrlTemplate();
-    copy.prop("disabled", false);
-    redirect.prop("disabled", false);
-    expand.click(function (e) {
-        var searchInfo = $("div.page-search-info");
-        if(this.parentElement.hasAttribute("open")) {
-            searchInfo.attr("style", "border-width: 0;");
-        } else {
-            searchInfo.attr("style", "border-width: 1px;").height(searchInfo.prop("scrollHeight"));
-        }
-    });
-});
-$(window).on("load", function() {
-    var input = $("#page-search-input");
-    var reset = $("#page-search-reset");
-    var notify = $("#page-search-notify");
-    var resultSection = $("div#result-section");
-    var resultContainer = $("div#result-container");
-    var searchTerm = "";
-    var activeTab = "";
-    var fixedTab = false;
-    var visibleTabs = [];
-    var feelingLucky = false;
-    function renderResults(result) {
-        if (!result.length) {
-            notify.html(messages.noResult);
-        } else if (result.length === 1) {
-            notify.html(messages.oneResult);
-        } else {
-            notify.html(messages.manyResults.replace("{0}", result.length));
-        }
-        resultContainer.empty();
-        var r = {
-            "types": [],
-            "members": [],
-            "packages": [],
-            "modules": [],
-            "searchTags": []
-        };
-        for (var i in result) {
-            var item = result[i];
-            var arr = r[item.category];
-            arr.push(item);
-        }
-        if (!activeTab || r[activeTab].length === 0 || !fixedTab) {
-            Object.keys(r).reduce(function(prev, curr) {
-                if (r[curr].length > 0 && r[curr][0].score > prev) {
-                    activeTab = curr;
-                    return r[curr][0].score;
-                }
-                return prev;
-            }, 0);
-        }
-        if (feelingLucky && activeTab) {
-            notify.html(messages.redirecting)
-            var firstItem = r[activeTab][0];
-            window.location = getURL(firstItem.indexItem, firstItem.category);
-            return;
-        }
-        if (result.length > 20) {
-            if (searchTerm[searchTerm.length - 1] === ".") {
-                if (activeTab === "types" && r["members"].length > r["types"].length) {
-                    activeTab = "members";
-                } else if (activeTab === "packages" && r["types"].length > r["packages"].length) {
-                    activeTab = "types";
-                }
-            }
-        }
-        var categoryCount = Object.keys(r).reduce(function(prev, curr) {
-            return prev + (r[curr].length > 0 ? 1 : 0);
-        }, 0);
-        visibleTabs = [];
-        var tabContainer = $("<div class='table-tabs'></div>").appendTo(resultContainer);
-        for (var key in r) {
-            var id = "#result-tab-" + key.replace("searchTags", "search_tags");
-            if (r[key].length) {
-                var count = r[key].length >= 1000 ? "999+" : r[key].length;
-                if (result.length > 20 && categoryCount > 1) {
-                    var button = $("<button id='result-tab-" + key
-                        + "' class='page-search-header'><span>" + categories[key] + "</span>"
-                        + "<span style='font-weight: normal'> (" + count + ")</span></button>").appendTo(tabContainer);
-                    button.click(key, function(e) {
-                        fixedTab = true;
-                        renderResult(e.data, $(this));
-                    });
-                    visibleTabs.push(key);
-                } else {
-                    $("<span class='page-search-header active-table-tab'>" + categories[key]
-                        + "<span style='font-weight: normal'> (" + count + ")</span></span>").appendTo(tabContainer);
-                    renderTable(key, r[key]).appendTo(resultContainer);
-                    tabContainer = $("<div class='table-tabs'></div>").appendTo(resultContainer);
-
-                }
-            }
-        }
-        if (activeTab && result.length > 20 && categoryCount > 1) {
-            $("button#result-tab-" + activeTab).addClass("active-table-tab");
-            renderTable(activeTab, r[activeTab]).appendTo(resultContainer);
-        }
-        resultSection.show();
-        function renderResult(category, button) {
-            activeTab = category;
-            setSearchUrl();
-            resultContainer.find("div.summary-table").remove();
-            renderTable(activeTab, r[activeTab]).appendTo(resultContainer);
-            button.siblings().removeClass("active-table-tab");
-            button.addClass("active-table-tab");
-        }
-    }
-    function selectTab(category) {
-        $("button#result-tab-" + category).click();
-    }
-    function renderTable(category, items) {
-        var table = $("<div class='summary-table'>")
-            .addClass(category === "modules"
-                ? "one-column-search-results"
-                : "two-column-search-results");
-        var col1, col2;
-        if (category === "modules") {
-            col1 = "Module";
-        } else if (category === "packages") {
-            col1 = "Module";
-            col2 = "Package";
-        } else if (category === "types") {
-            col1 = "Package";
-            col2 = "Class"
-        } else if (category === "members") {
-            col1 = "Class";
-            col2 = "Member";
-        } else if (category === "searchTags") {
-            col1 = "Location";
-            col2 = "Name";
-        }
-        $("<div class='table-header col-plain'>" + col1 + "</div>").appendTo(table);
-        if (category !== "modules") {
-            $("<div class='table-header col-plain'>" + col2 + "</div>").appendTo(table);
-        }
-        $.each(items, function(index, item) {
-            var rowColor = index % 2 ? "odd-row-color" : "even-row-color";
-            renderItem(item, table, rowColor);
-        });
-        return table;
-    }
-    function renderItem(item, table, rowColor) {
-        var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length);
-        var link = $("<a/>")
-            .attr("href",  getURL(item.indexItem, item.category))
-            .attr("tabindex", "0")
-            .addClass("search-result-link")
-            .html(label);
-        var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1);
-        if (item.category === "searchTags") {
-            container = item.indexItem.h || "";
-        }
-        if (item.category !== "modules") {
-            $("<div/>").html(container).addClass("col-plain").addClass(rowColor).appendTo(table);
-        }
-        $("<div/>").html(link).addClass("col-last").addClass(rowColor).appendTo(table);
-    }
-    var timeout;
-    function schedulePageSearch() {
-        if (timeout) {
-            clearTimeout(timeout);
-        }
-        timeout = setTimeout(function () {
-            doPageSearch()
-        }, 100);
-    }
-    function doPageSearch() {
-        setSearchUrl();
-        var term = searchTerm = input.val().trim();
-        if (term === "") {
-            notify.html(messages.enterTerm);
-            activeTab = "";
-            fixedTab = false;
-            resultContainer.empty();
-            resultSection.hide();
-        } else {
-            notify.html(messages.searching);
-            doSearch({ term: term, maxResults: 1200 }, renderResults);
-        }
-    }
-    function setSearchUrl() {
-        var query = input.val().trim();
-        var url = document.location.pathname;
-        if (query) {
-            url += "?q=" + encodeURI(query);
-            if (activeTab && fixedTab) {
-                url += "&c=" + activeTab;
-            }
-        }
-        history.replaceState({query: query}, "", url);
-    }
-    input.on("input", function(e) {
-        feelingLucky = false;
-        schedulePageSearch();
-    });
-    $(document).keydown(function(e) {
-        if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) {
-            if (activeTab && visibleTabs.length > 1) {
-                var idx = visibleTabs.indexOf(activeTab);
-                idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1;
-                selectTab(visibleTabs[idx % visibleTabs.length]);
-                return false;
-            }
-        }
-    });
-    reset.click(function() {
-        notify.html(messages.enterTerm);
-        resultSection.hide();
-        activeTab = "";
-        fixedTab = false;
-        resultContainer.empty();
-        input.val('').focus();
-        setSearchUrl();
-    });
-    input.prop("disabled", false);
-    reset.prop("disabled", false);
-
-    var urlParams = new URLSearchParams(window.location.search);
-    if (urlParams.has("q")) {
-        input.val(urlParams.get("q"))
-    }
-    if (urlParams.has("c")) {
-        activeTab = urlParams.get("c");
-        fixedTab = true;
-    }
-    if (urlParams.get("r")) {
-        feelingLucky = true;
-    }
-    if (input.val()) {
-        doPageSearch();
-    } else {
-        notify.html(messages.enterTerm);
-    }
-    input.select().focus();
-});
diff --git a/doc/search.html b/doc/search.html
deleted file mode 100644
index f5397f9844a31b991b65e833330a52bbb739899f..0000000000000000000000000000000000000000
--- a/doc/search.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="fr">
-<head>
-<!-- Generated by javadoc (21) on Tue Nov 21 18:30:59 CET 2023 -->
-<title>Search</title>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<meta name="dc.created" content="2023-11-21">
-<meta name="description" content="search">
-<meta name="generator" content="javadoc/SearchWriter">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
-<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
-</head>
-<body class="search-page">
-<script type="text/javascript">var pathtoroot = "./";
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<div class="flex-box">
-<header role="banner" class="flex-header">
-<nav role="navigation">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
-<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
-<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
-<li><a href="index.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="index-all.html">Index</a></li>
-<li><a href="help-doc.html#search">Help</a></li>
-</ul>
-</div>
-<div class="sub-nav">
-<div id="navbar-sub-list"></div>
-</div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<span class="skip-nav" id="skip-navbar-top"></span></nav>
-</header>
-<div class="flex-content">
-<main role="main">
-<h1 class="title">Search</h1>
-<div>
-<input type="text" id="page-search-input" disabled placeholder="Search">
-<input type="reset" id="page-search-reset" disabled value="Reset" style="margin: 6px;">
-<details class="page-search-details">
-<summary id="page-search-expand">Additional resources</summary>
-</details>
-</div>
-<div class="page-search-info">
-<p>The <a href="help-doc.html#search">help page</a> provides an introduction to the scope and syntax of JavaDoc search.</p>
-<p>You can use the &lt;ctrl&gt; or &lt;cmd&gt; keys in combination with the left and right arrow keys to switch between result tabs in this page.</p>
-<p>The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.</p>
-<span id="page-search-link">link</span><button class="copy" aria-label="Copy URL" id="page-search-copy"><img src="copy.svg" alt="Copy URL"><span data-copied="Copied!">Copy</span></button>
-<p>
-<input type="checkbox" id="search-redirect" disabled>
-<label for="search-redirect">Redirect to first result</label></p>
-</div>
-<p id="page-search-notify">Loading search index...</p>
-<div id="result-section" style="display: none;">
-<div id="result-container"></div>
-<script type="text/javascript" src="search-page.js"></script>
-</div>
-</main>
-</div>
-</div>
-</body>
-</html>
diff --git a/doc/search.js b/doc/search.js
deleted file mode 100644
index 4ca9557738175f2f7c52e508f91549d32d08258d..0000000000000000000000000000000000000000
--- a/doc/search.js
+++ /dev/null
@@ -1,458 +0,0 @@
-/*
- * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved.
- * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- *
- */
-"use strict";
-const messages = {
-    enterTerm: "Enter a search term",
-    noResult: "No results found",
-    oneResult: "Found one result",
-    manyResults: "Found {0} results",
-    loading: "Loading search index...",
-    searching: "Searching...",
-    redirecting: "Redirecting to first result...",
-    linkIcon: "Link icon",
-    linkToSection: "Link to this section"
-}
-const categories = {
-    modules: "Modules",
-    packages: "Packages",
-    types: "Classes and Interfaces",
-    members: "Members",
-    searchTags: "Search Tags"
-};
-const highlight = "<span class='result-highlight'>$&</span>";
-const NO_MATCH = {};
-const MAX_RESULTS = 300;
-function checkUnnamed(name, separator) {
-    return name === "<Unnamed>" || !name ? "" : name + separator;
-}
-function escapeHtml(str) {
-    return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
-}
-function getHighlightedText(str, boundaries, from, to) {
-    var start = from;
-    var text = "";
-    for (var i = 0; i < boundaries.length; i += 2) {
-        var b0 = boundaries[i];
-        var b1 = boundaries[i + 1];
-        if (b0 >= to || b1 <= from) {
-            continue;
-        }
-        text += escapeHtml(str.slice(start, Math.max(start, b0)));
-        text += "<span class='result-highlight'>";
-        text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1)));
-        text += "</span>";
-        start = Math.min(to, b1);
-    }
-    text += escapeHtml(str.slice(start, to));
-    return text;
-}
-function getURLPrefix(item, category) {
-    var urlPrefix = "";
-    var slash = "/";
-    if (category === "modules") {
-        return item.l + slash;
-    } else if (category === "packages" && item.m) {
-        return item.m + slash;
-    } else if (category === "types" || category === "members") {
-        if (item.m) {
-            urlPrefix = item.m + slash;
-        } else {
-            $.each(packageSearchIndex, function(index, it) {
-                if (it.m && item.p === it.l) {
-                    urlPrefix = it.m + slash;
-                }
-            });
-        }
-    }
-    return urlPrefix;
-}
-function getURL(item, category) {
-    if (item.url) {
-        return item.url;
-    }
-    var url = getURLPrefix(item, category);
-    if (category === "modules") {
-        url += "module-summary.html";
-    } else if (category === "packages") {
-        if (item.u) {
-            url = item.u;
-        } else {
-            url += item.l.replace(/\./g, '/') + "/package-summary.html";
-        }
-    } else if (category === "types") {
-        if (item.u) {
-            url = item.u;
-        } else {
-            url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html";
-        }
-    } else if (category === "members") {
-        url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#";
-        if (item.u) {
-            url += item.u;
-        } else {
-            url += item.l;
-        }
-    } else if (category === "searchTags") {
-        url += item.u;
-    }
-    item.url = url;
-    return url;
-}
-function createMatcher(term, camelCase) {
-    if (camelCase && !isUpperCase(term)) {
-        return null;  // no need for camel-case matcher for lower case query
-    }
-    var pattern = "";
-    var upperCase = [];
-    term.trim().split(/\s+/).forEach(function(w, index, array) {
-        var tokens = w.split(/(?=[A-Z,.()<>?[\/])/);
-        for (var i = 0; i < tokens.length; i++) {
-            var s = tokens[i];
-            // ',' and '?' are the only delimiters commonly followed by space in java signatures
-            pattern += "(" + $.ui.autocomplete.escapeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")";
-            upperCase.push(false);
-            var isWordToken =  /\w$/.test(s);
-            if (isWordToken) {
-                if (i === tokens.length - 1 && index < array.length - 1) {
-                    // space in query string matches all delimiters
-                    pattern += "(.*?)";
-                    upperCase.push(isUpperCase(s[0]));
-                } else {
-                    if (!camelCase && isUpperCase(s) && s.length === 1) {
-                        pattern += "()";
-                    } else {
-                        pattern += "([a-z0-9$<>?[\\]]*?)";
-                    }
-                    upperCase.push(isUpperCase(s[0]));
-                }
-            } else {
-                pattern += "()";
-                upperCase.push(false);
-            }
-        }
-    });
-    var re = new RegExp(pattern, "gi");
-    re.upperCase = upperCase;
-    return re;
-}
-function findMatch(matcher, input, startOfName, endOfName) {
-    var from = startOfName;
-    matcher.lastIndex = from;
-    var match = matcher.exec(input);
-    // Expand search area until we get a valid result or reach the beginning of the string
-    while (!match || match.index + match[0].length < startOfName || endOfName < match.index) {
-        if (from === 0) {
-            return NO_MATCH;
-        }
-        from = input.lastIndexOf(".", from - 2) + 1;
-        matcher.lastIndex = from;
-        match = matcher.exec(input);
-    }
-    var boundaries = [];
-    var matchEnd = match.index + match[0].length;
-    var score = 5;
-    var start = match.index;
-    var prevEnd = -1;
-    for (var i = 1; i < match.length; i += 2) {
-        var isUpper = isUpperCase(input[start]);
-        var isMatcherUpper = matcher.upperCase[i];
-        // capturing groups come in pairs, match and non-match
-        boundaries.push(start, start + match[i].length);
-        // make sure groups are anchored on a left word boundary
-        var prevChar = input[start - 1] || "";
-        var nextChar = input[start + 1] || "";
-        if (start !== 0 && !/[\W_]/.test(prevChar) && !/[\W_]/.test(input[start])) {
-            if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) {
-                score -= 0.1;
-            } else if (isMatcherUpper && start === prevEnd) {
-                score -= isUpper ? 0.1 : 1.0;
-            } else {
-                return NO_MATCH;
-            }
-        }
-        prevEnd = start + match[i].length;
-        start += match[i].length + match[i + 1].length;
-
-        // lower score for parts of the name that are missing
-        if (match[i + 1] && prevEnd < endOfName) {
-            score -= rateNoise(match[i + 1]);
-        }
-    }
-    // lower score if a type name contains unmatched camel-case parts
-    if (input[matchEnd - 1] !== "." && endOfName > matchEnd)
-        score -= rateNoise(input.slice(matchEnd, endOfName));
-    score -= rateNoise(input.slice(0, Math.max(startOfName, match.index)));
-
-    if (score <= 0) {
-        return NO_MATCH;
-    }
-    return {
-        input: input,
-        score: score,
-        boundaries: boundaries
-    };
-}
-function isUpperCase(s) {
-    return s !== s.toLowerCase();
-}
-function isLowerCase(s) {
-    return s !== s.toUpperCase();
-}
-function rateNoise(str) {
-    return (str.match(/([.(])/g) || []).length / 5
-         + (str.match(/([A-Z]+)/g) || []).length / 10
-         +  str.length / 20;
-}
-function doSearch(request, response) {
-    var term = request.term.trim();
-    var maxResults = request.maxResults || MAX_RESULTS;
-    if (term.length === 0) {
-        return this.close();
-    }
-    var matcher = {
-        plainMatcher: createMatcher(term, false),
-        camelCaseMatcher: createMatcher(term, true)
-    }
-    var indexLoaded = indexFilesLoaded();
-
-    function getPrefix(item, category) {
-        switch (category) {
-            case "packages":
-                return checkUnnamed(item.m, "/");
-            case "types":
-                return checkUnnamed(item.p, ".");
-            case "members":
-                return checkUnnamed(item.p, ".") + item.c + ".";
-            default:
-                return "";
-        }
-    }
-    function useQualifiedName(category) {
-        switch (category) {
-            case "packages":
-                return /[\s/]/.test(term);
-            case "types":
-            case "members":
-                return /[\s.]/.test(term);
-            default:
-                return false;
-        }
-    }
-    function searchIndex(indexArray, category) {
-        var matches = [];
-        if (!indexArray) {
-            if (!indexLoaded) {
-                matches.push({ l: messages.loading, category: category });
-            }
-            return matches;
-        }
-        $.each(indexArray, function (i, item) {
-            var prefix = getPrefix(item, category);
-            var simpleName = item.l;
-            var qualifiedName = prefix + simpleName;
-            var useQualified = useQualifiedName(category);
-            var input = useQualified ? qualifiedName : simpleName;
-            var startOfName = useQualified ? prefix.length : 0;
-            var endOfName = category === "members" && input.indexOf("(", startOfName) > -1
-                ? input.indexOf("(", startOfName) : input.length;
-            var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName);
-            if (m === NO_MATCH && matcher.camelCaseMatcher) {
-                m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName);
-            }
-            if (m !== NO_MATCH) {
-                m.indexItem = item;
-                m.prefix = prefix;
-                m.category = category;
-                if (!useQualified) {
-                    m.input = qualifiedName;
-                    m.boundaries = m.boundaries.map(function(b) {
-                        return b + prefix.length;
-                    });
-                }
-                matches.push(m);
-            }
-            return true;
-        });
-        return matches.sort(function(e1, e2) {
-            return e2.score - e1.score;
-        }).slice(0, maxResults);
-    }
-
-    var result = searchIndex(moduleSearchIndex, "modules")
-         .concat(searchIndex(packageSearchIndex, "packages"))
-         .concat(searchIndex(typeSearchIndex, "types"))
-         .concat(searchIndex(memberSearchIndex, "members"))
-         .concat(searchIndex(tagSearchIndex, "searchTags"));
-
-    if (!indexLoaded) {
-        updateSearchResults = function() {
-            doSearch(request, response);
-        }
-    } else {
-        updateSearchResults = function() {};
-    }
-    response(result);
-}
-// JQuery search menu implementation
-$.widget("custom.catcomplete", $.ui.autocomplete, {
-    _create: function() {
-        this._super();
-        this.widget().menu("option", "items", "> .result-item");
-        // workaround for search result scrolling
-        this.menu._scrollIntoView = function _scrollIntoView( item ) {
-            var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;
-            if ( this._hasScroll() ) {
-                borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0;
-                paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0;
-                offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;
-                scroll = this.activeMenu.scrollTop();
-                elementHeight = this.activeMenu.height() - 26;
-                itemHeight = item.outerHeight();
-
-                if ( offset < 0 ) {
-                    this.activeMenu.scrollTop( scroll + offset );
-                } else if ( offset + itemHeight > elementHeight ) {
-                    this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );
-                }
-            }
-        };
-    },
-    _renderMenu: function(ul, items) {
-        var currentCategory = "";
-        var widget = this;
-        widget.menu.bindings = $();
-        $.each(items, function(index, item) {
-            if (item.category && item.category !== currentCategory) {
-                ul.append("<li class='ui-autocomplete-category'>" + categories[item.category] + "</li>");
-                currentCategory = item.category;
-            }
-            var li = widget._renderItemData(ul, item);
-            if (item.category) {
-                li.attr("aria-label", categories[item.category] + " : " + item.l);
-            } else {
-                li.attr("aria-label", item.l);
-            }
-            li.attr("class", "result-item");
-        });
-        ul.append("<li class='ui-static-link'><a href='" + pathtoroot + "search.html?q="
-            + encodeURI(widget.term) + "'>Go to search page</a></li>");
-    },
-    _renderItem: function(ul, item) {
-        var li = $("<li/>").appendTo(ul);
-        var div = $("<div/>").appendTo(li);
-        var label = item.l
-            ? item.l
-            : getHighlightedText(item.input, item.boundaries, 0, item.input.length);
-        var idx = item.indexItem;
-        if (item.category === "searchTags" && idx && idx.h) {
-            if (idx.d) {
-                div.html(label + "<span class='search-tag-holder-result'> (" + idx.h + ")</span><br><span class='search-tag-desc-result'>"
-                    + idx.d + "</span><br>");
-            } else {
-                div.html(label + "<span class='search-tag-holder-result'> (" + idx.h + ")</span>");
-            }
-        } else {
-            div.html(label);
-        }
-        return li;
-    }
-});
-$(function() {
-    var expanded = false;
-    var windowWidth;
-    function collapse() {
-        if (expanded) {
-            $("div#navbar-top").removeAttr("style");
-            $("button#navbar-toggle-button")
-                .removeClass("expanded")
-                .attr("aria-expanded", "false");
-            expanded = false;
-        }
-    }
-    $("button#navbar-toggle-button").click(function (e) {
-        if (expanded) {
-            collapse();
-        } else {
-            var navbar = $("div#navbar-top");
-            navbar.height(navbar.prop("scrollHeight"));
-            $("button#navbar-toggle-button")
-                .addClass("expanded")
-                .attr("aria-expanded", "true");
-            expanded = true;
-            windowWidth = window.innerWidth;
-        }
-    });
-    $("ul.sub-nav-list-small li a").click(collapse);
-    $("input#search-input").focus(collapse);
-    $("main").click(collapse);
-    $("section[id] > :header, :header[id], :header:has(a[id])").each(function(idx, el) {
-        // Create anchor links for headers with an associated id attribute
-        var hdr = $(el);
-        var id = hdr.attr("id") || hdr.parent("section").attr("id") || hdr.children("a").attr("id");
-        if (id) {
-            hdr.append(" <a href='#" + id + "' class='anchor-link' aria-label='" + messages.linkToSection
-                + "'><img src='" + pathtoroot + "link.svg' alt='" + messages.linkIcon +"' tabindex='0'"
-                + " width='16' height='16'></a>");
-        }
-    });
-    $(window).on("orientationchange", collapse).on("resize", function(e) {
-        if (expanded && windowWidth !== window.innerWidth) collapse();
-    });
-    var search = $("#search-input");
-    var reset = $("#reset-button");
-    search.catcomplete({
-        minLength: 1,
-        delay: 200,
-        source: doSearch,
-        response: function(event, ui) {
-            if (!ui.content.length) {
-                ui.content.push({ l: messages.noResult });
-            } else {
-                $("#search-input").empty();
-            }
-        },
-        autoFocus: true,
-        focus: function(event, ui) {
-            return false;
-        },
-        position: {
-            collision: "flip"
-        },
-        select: function(event, ui) {
-            if (ui.item.indexItem) {
-                var url = getURL(ui.item.indexItem, ui.item.category);
-                window.location.href = pathtoroot + url;
-                $("#search-input").focus();
-            }
-        }
-    });
-    search.val('');
-    search.prop("disabled", false);
-    reset.prop("disabled", false);
-    reset.click(function() {
-        search.val('').focus();
-    });
-    search.focus();
-});
diff --git a/doc/stylesheet.css b/doc/stylesheet.css
deleted file mode 100644
index f71489f86ccd8ffe0ade265232fc64f06caf74aa..0000000000000000000000000000000000000000
--- a/doc/stylesheet.css
+++ /dev/null
@@ -1,1272 +0,0 @@
-/*
- * Javadoc style sheet
- */
-
-@import url('resources/fonts/dejavu.css');
-
-/*
- * These CSS custom properties (variables) define the core color and font
- * properties used in this stylesheet.
- */
-:root {
-    /* body, block and code fonts */
-    --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
-    --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
-    --code-font-family: 'DejaVu Sans Mono', monospace;
-    /* Base font sizes for body and code elements */
-    --body-font-size: 14px;
-    --code-font-size: 14px;
-    /* Text colors for body and block elements */
-    --body-text-color: #353833;
-    --block-text-color: #474747;
-    /* Background colors for various structural elements */
-    --body-background-color: #ffffff;
-    --section-background-color: #f8f8f8;
-    --detail-background-color: #ffffff;
-    /* Colors for navigation bar and table captions */
-    --navbar-background-color: #4D7A97;
-    --navbar-text-color: #ffffff;
-    /* Background color for subnavigation and various headers */
-    --subnav-background-color: #dee3e9;
-    /* Background and text colors for selected tabs and navigation items */
-    --selected-background-color: #f8981d;
-    --selected-text-color: #253441;
-    --selected-link-color: #1f389c;
-    /* Background colors for generated tables */
-    --even-row-color: #ffffff;
-    --odd-row-color: #eeeeef;
-    /* Text color for page title */
-    --title-color: #2c4557;
-    /* Text colors for links */
-    --link-color: #4A6782;
-    --link-color-active: #bb7a2a;
-    /* Snippet colors */
-    --snippet-background-color: #ebecee;
-    --snippet-text-color: var(--block-text-color);
-    --snippet-highlight-color: #f7c590;
-    /* Border colors for structural elements and user defined tables */
-    --border-color: #ededed;
-    --table-border-color: #000000;
-    /* Search input colors */
-    --search-input-background-color: #ffffff;
-    --search-input-text-color: #000000;
-    --search-input-placeholder-color: #909090;
-    /* Highlight color for active search tag target */
-    --search-tag-highlight-color: #ffff00;
-    /* Adjustments for icon and active background colors of copy-to-clipboard buttons */
-    --copy-icon-brightness: 100%;
-    --copy-button-background-color-active: rgba(168, 168, 176, 0.3);
-    /* Colors for invalid tag notifications */
-    --invalid-tag-background-color: #ffe6e6;
-    --invalid-tag-text-color: #000000;
-}
-/*
- * Styles for individual HTML elements.
- *
- * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
- * HTML element throughout the page.
- */
-body {
-    background-color:var(--body-background-color);
-    color:var(--body-text-color);
-    font-family:var(--body-font-family);
-    font-size:var(--body-font-size);
-    margin:0;
-    padding:0;
-    height:100%;
-    width:100%;
-}
-iframe {
-    margin:0;
-    padding:0;
-    height:100%;
-    width:100%;
-    overflow-y:scroll;
-    border:none;
-}
-a:link, a:visited {
-    text-decoration:none;
-    color:var(--link-color);
-}
-a[href]:hover, a[href]:focus {
-    text-decoration:none;
-    color:var(--link-color-active);
-}
-pre {
-    font-family:var(--code-font-family);
-    font-size:1em;
-}
-h1 {
-    font-size:1.428em;
-}
-h2 {
-    font-size:1.285em;
-}
-h3 {
-    font-size:1.14em;
-}
-h4 {
-    font-size:1.072em;
-}
-h5 {
-    font-size:1.001em;
-}
-h6 {
-    font-size:0.93em;
-}
-/* Disable font boosting for selected elements */
-h1, h2, h3, h4, h5, h6, div.member-signature {
-    max-height: 1000em;
-}
-ul {
-    list-style-type:disc;
-}
-code, tt {
-    font-family:var(--code-font-family);
-}
-:not(h1, h2, h3, h4, h5, h6) > code,
-:not(h1, h2, h3, h4, h5, h6) > tt {
-    font-size:var(--code-font-size);
-    padding-top:4px;
-    margin-top:8px;
-    line-height:1.4em;
-}
-dt code {
-    font-family:var(--code-font-family);
-    font-size:1em;
-    padding-top:4px;
-}
-.summary-table dt code {
-    font-family:var(--code-font-family);
-    font-size:1em;
-    vertical-align:top;
-    padding-top:4px;
-}
-sup {
-    font-size:8px;
-}
-button {
-    font-family: var(--body-font-family);
-    font-size: 1em;
-}
-/*
- * Styles for HTML generated by javadoc.
- *
- * These are style classes that are used by the standard doclet to generate HTML documentation.
- */
-
-/*
- * Styles for document title and copyright.
- */
-.about-language {
-    float:right;
-    padding:0 21px 8px 8px;
-    font-size:0.915em;
-    margin-top:-9px;
-    height:2.9em;
-}
-.legal-copy {
-    margin-left:.5em;
-}
-/*
- * Styles for navigation bar.
- */
-@media screen {
-    div.flex-box {
-        position:fixed;
-        display:flex;
-        flex-direction:column;
-        height: 100%;
-        width: 100%;
-    }
-    header.flex-header {
-        flex: 0 0 auto;
-    }
-    div.flex-content {
-        flex: 1 1 auto;
-        overflow-y: auto;
-    }
-}
-.top-nav {
-    background-color:var(--navbar-background-color);
-    color:var(--navbar-text-color);
-    float:left;
-    width:100%;
-    clear:right;
-    min-height:2.8em;
-    padding:10px 0 0 0;
-    overflow:hidden;
-    font-size:0.857em;
-}
-button#navbar-toggle-button {
-    display:none;
-}
-ul.sub-nav-list-small {
-    display: none;
-}
-.sub-nav {
-    background-color:var(--subnav-background-color);
-    float:left;
-    width:100%;
-    overflow:hidden;
-    font-size:0.857em;
-}
-.sub-nav div {
-    clear:left;
-    float:left;
-    padding:6px;
-    text-transform:uppercase;
-}
-.sub-nav .sub-nav-list {
-    padding-top:4px;
-}
-ul.nav-list {
-    display:block;
-    margin:0 25px 0 0;
-    padding:0;
-}
-ul.sub-nav-list {
-    float:left;
-    margin:0 25px 0 0;
-    padding:0;
-}
-ul.nav-list li {
-    list-style:none;
-    float:left;
-    padding: 5px 6px;
-    text-transform:uppercase;
-}
-.sub-nav .nav-list-search {
-    float:right;
-    margin:0;
-    padding:6px;
-    clear:none;
-    text-align:right;
-    position:relative;
-}
-ul.sub-nav-list li {
-    list-style:none;
-    float:left;
-}
-.top-nav a:link, .top-nav a:active, .top-nav a:visited {
-    color:var(--navbar-text-color);
-    text-decoration:none;
-    text-transform:uppercase;
-}
-.top-nav a:hover {
-    color:var(--link-color-active);
-}
-.nav-bar-cell1-rev {
-    background-color:var(--selected-background-color);
-    color:var(--selected-text-color);
-    margin: auto 5px;
-}
-.skip-nav {
-    position:absolute;
-    top:auto;
-    left:-9999px;
-    overflow:hidden;
-}
-/*
- * Hide navigation links and search box in print layout
- */
-@media print {
-    ul.nav-list, div.sub-nav  {
-        display:none;
-    }
-}
-/*
- * Styles for page header.
- */
-.title {
-    color:var(--title-color);
-    margin:10px 0;
-}
-.sub-title {
-    margin:5px 0 0 0;
-}
-ul.contents-list {
-    margin: 0 0 15px 0;
-    padding: 0;
-    list-style: none;
-}
-ul.contents-list li {
-    font-size:0.93em;
-}
-/*
- * Styles for headings.
- */
-body.class-declaration-page .summary h2,
-body.class-declaration-page .details h2,
-body.class-use-page h2,
-body.module-declaration-page .block-list h2 {
-    font-style: italic;
-    padding:0;
-    margin:15px 0;
-}
-body.class-declaration-page .summary h3,
-body.class-declaration-page .details h3,
-body.class-declaration-page .summary .inherited-list h2 {
-    background-color:var(--subnav-background-color);
-    border:1px solid var(--border-color);
-    margin:0 0 6px -8px;
-    padding:7px 5px;
-}
-/*
- * Styles for page layout containers.
- */
-main {
-    clear:both;
-    padding:10px 20px;
-    position:relative;
-}
-dl.notes > dt {
-    font-family: var(--body-font-family);
-    font-size:0.856em;
-    font-weight:bold;
-    margin:10px 0 0 0;
-    color:var(--body-text-color);
-}
-dl.notes > dd {
-    margin:5px 10px 10px 0;
-    font-size:1em;
-    font-family:var(--block-font-family)
-}
-dl.name-value > dt {
-    margin-left:1px;
-    font-size:1.1em;
-    display:inline;
-    font-weight:bold;
-}
-dl.name-value > dd {
-    margin:0 0 0 1px;
-    font-size:1.1em;
-    display:inline;
-}
-/*
- * Styles for lists.
- */
-li.circle {
-    list-style:circle;
-}
-ul.horizontal li {
-    display:inline;
-    font-size:0.9em;
-}
-div.inheritance {
-    margin:0;
-    padding:0;
-}
-div.inheritance div.inheritance {
-    margin-left:2em;
-}
-ul.block-list,
-ul.details-list,
-ul.member-list,
-ul.summary-list {
-    margin:10px 0 10px 0;
-    padding:0;
-}
-ul.block-list > li,
-ul.details-list > li,
-ul.member-list > li,
-ul.summary-list > li {
-    list-style:none;
-    margin-bottom:15px;
-    line-height:1.4;
-}
-ul.ref-list {
-  padding:0;
-  margin:0;
-}
-ul.ref-list > li {
-    list-style:none;
-}
-.summary-table dl, .summary-table dl dt, .summary-table dl dd {
-    margin-top:0;
-    margin-bottom:1px;
-}
-ul.tag-list, ul.tag-list-long {
-    padding-left: 0;
-    list-style: none;
-}
-ul.tag-list li {
-    display: inline;
-}
-ul.tag-list li:not(:last-child):after,
-ul.tag-list-long li:not(:last-child):after
-{
-    content: ", ";
-    white-space: pre-wrap;
-}
-ul.preview-feature-list {
-    list-style: none;
-    margin:0;
-    padding:0.1em;
-    line-height: 1.6em;
-}
-/*
- * Styles for tables.
- */
-.summary-table, .details-table {
-    width:100%;
-    border-spacing:0;
-    border:1px solid var(--border-color);
-    border-top:0;
-    padding:0;
-}
-.caption {
-    position:relative;
-    text-align:left;
-    background-repeat:no-repeat;
-    color:var(--selected-text-color);
-    clear:none;
-    overflow:hidden;
-    padding: 10px 0 0 1px;
-    margin:0;
-}
-.caption a:link, .caption a:visited {
-    color:var(--selected-link-color);
-}
-.caption a:hover,
-.caption a:active {
-    color:var(--navbar-text-color);
-}
-.caption span {
-    font-weight:bold;
-    white-space:nowrap;
-    padding:5px 12px 7px 12px;
-    display:inline-block;
-    float:left;
-    background-color:var(--selected-background-color);
-    border: none;
-    height:16px;
-}
-div.table-tabs {
-    padding:10px 0 0 1px;
-    margin:10px 0 0 0;
-}
-div.table-tabs > button {
-    border: none;
-    cursor: pointer;
-    padding: 5px 12px 7px 12px;
-    font-weight: bold;
-    margin-right: 8px;
-}
-div.table-tabs > .active-table-tab {
-    background: var(--selected-background-color);
-    color: var(--selected-text-color);
-}
-div.table-tabs > button.table-tab {
-    background: var(--navbar-background-color);
-    color: var(--navbar-text-color);
-}
-.two-column-search-results {
-    display: grid;
-    grid-template-columns: minmax(400px, max-content) minmax(400px, auto);
-}
-div.checkboxes {
-    line-height: 2em;
-}
-div.checkboxes > span {
-    margin-left: 10px;
-}
-div.checkboxes > label {
-    margin-left: 8px;
-    white-space: nowrap;
-}
-div.checkboxes > label > input {
-    margin: 0 2px;
-}
-.two-column-summary {
-    display: grid;
-    grid-template-columns: minmax(25%, max-content) minmax(25%, auto);
-}
-.three-column-summary {
-    display: grid;
-    grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto);
-}
-.three-column-release-summary {
-    display: grid;
-    grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto);
-}
-.four-column-summary {
-    display: grid;
-    grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto);
-}
-@media screen and (max-width: 1000px) {
-    .four-column-summary {
-        display: grid;
-        grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
-    }
-}
-@media screen and (max-width: 800px) {
-    .two-column-search-results {
-        display: grid;
-        grid-template-columns: minmax(40%, max-content) minmax(40%, auto);
-    }
-    .three-column-summary {
-        display: grid;
-        grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
-    }
-    .three-column-release-summary {
-        display: grid;
-        grid-template-columns: minmax(70%, max-content) minmax(30%, max-content)
-    }
-    .three-column-summary .col-last,
-    .three-column-release-summary .col-last{
-        grid-column-end: span 2;
-    }
-}
-@media screen and (max-width: 600px) {
-    .two-column-summary {
-        display: grid;
-        grid-template-columns: 1fr;
-    }
-}
-.summary-table > div, .details-table > div {
-    text-align:left;
-    padding: 8px 3px 3px 7px;
-    overflow-x: auto;
-    scrollbar-width: thin;
-}
-.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
-    vertical-align:top;
-    padding-right:0;
-    padding-top:8px;
-    padding-bottom:3px;
-}
-.table-header {
-    background:var(--subnav-background-color);
-    font-weight: bold;
-}
-/* Sortable table columns */
-.table-header[onclick] {
-    cursor: pointer;
-}
-.table-header[onclick]::after {
-    content:"";
-    display:inline-block;
-    background-image:url('data:image/svg+xml; utf8, \
-    <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
-    <path d="M10.101 57.059L63.019 4.142l52.917 52.917M10.101 86.392l52.917 52.917 52.917-52.917" style="opacity:.35;"/></svg>');
-    background-size:100% 100%;
-    width:9px;
-    height:14px;
-    margin-left:4px;
-    margin-bottom:-3px;
-}
-.table-header[onclick].sort-asc::after {
-    background-image:url('data:image/svg+xml; utf8, \
-    <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
-    <path d="M10.101 57.059L63.019 4.142l52.917 52.917" style="opacity:.75;"/> \
-    <path d="M10.101 86.392l52.917 52.917 52.917-52.917" style="opacity:.35;"/></svg>');
-
-}
-.table-header[onclick].sort-desc::after {
-    background-image:url('data:image/svg+xml; utf8, \
-    <svg xmlns="http://www.w3.org/2000/svg" width="125" height="170"> \
-    <path d="M10.101 57.059L63.019 4.142l52.917 52.917" style="opacity:.35;"/> \
-    <path d="M10.101 86.392l52.917 52.917 52.917-52.917" style="opacity:.75;"/></svg>');
-}
-.col-first, .col-first {
-    font-size:0.93em;
-}
-.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
-    font-size:0.93em;
-}
-.col-first, .col-second, .col-constructor-name {
-    vertical-align:top;
-    overflow: auto;
-}
-.col-last {
-    white-space:normal;
-}
-.col-first a:link, .col-first a:visited,
-.col-second a:link, .col-second a:visited,
-.col-first a:link, .col-first a:visited,
-.col-second a:link, .col-second a:visited,
-.col-constructor-name a:link, .col-constructor-name a:visited,
-.col-summary-item-name a:link, .col-summary-item-name a:visited {
-    font-weight:bold;
-}
-.even-row-color, .even-row-color .table-header {
-    background-color:var(--even-row-color);
-}
-.odd-row-color, .odd-row-color .table-header {
-    background-color:var(--odd-row-color);
-}
-/*
- * Styles for contents.
- */
-div.block {
-    font-size:var(--body-font-size);
-    font-family:var(--block-font-family);
-}
-.col-last div {
-    padding-top:0;
-}
-.col-last a {
-    padding-bottom:3px;
-}
-.module-signature,
-.package-signature,
-.type-signature,
-.member-signature {
-    font-family:var(--code-font-family);
-    font-size:1em;
-    margin:14px 0;
-    white-space: pre-wrap;
-}
-.module-signature,
-.package-signature,
-.type-signature {
-    margin-top: 0;
-}
-.member-signature .type-parameters-long,
-.member-signature .parameters,
-.member-signature .exceptions {
-    display: inline-block;
-    vertical-align: top;
-    white-space: pre;
-}
-.member-signature .type-parameters {
-    white-space: normal;
-}
-/*
- * Styles for formatting effect.
- */
-.source-line-no {
-    /* Color of line numbers in source pages can be set via custom property below */
-    color:var(--source-linenumber-color, green);
-    padding:0 30px 0 0;
-}
-.block {
-    display:block;
-    margin:0 10px 5px 0;
-    color:var(--block-text-color);
-}
-.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link,
-.module-label-in-package, .module-label-in-type, .package-label-in-type,
-.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
-    font-weight:bold;
-}
-.deprecation-comment, .help-footnote, .preview-comment {
-    font-style:italic;
-}
-.deprecation-block {
-    font-size:1em;
-    font-family:var(--block-font-family);
-    border-style:solid;
-    border-width:thin;
-    border-radius:10px;
-    padding:10px;
-    margin-bottom:10px;
-    margin-right:10px;
-    display:inline-block;
-}
-.preview-block {
-    font-size:1em;
-    font-family:var(--block-font-family);
-    border-style:solid;
-    border-width:thin;
-    border-radius:10px;
-    padding:10px;
-    margin-bottom:10px;
-    margin-right:10px;
-    display:inline-block;
-}
-div.block div.deprecation-comment {
-    font-style:normal;
-}
-details.invalid-tag, span.invalid-tag {
-    font-size:1em;
-    font-family:var(--block-font-family);
-    color: var(--invalid-tag-text-color);
-    background: var(--invalid-tag-background-color);
-    border: thin solid var(--table-border-color);
-    border-radius:2px;
-    padding: 2px 4px;
-    display:inline-block;
-}
-details summary {
-    cursor: pointer;
-}
-/*
- * Styles specific to HTML5 elements.
- */
-main, nav, header, footer, section {
-    display:block;
-}
-/*
- * Styles for javadoc search.
- */
-.ui-state-active {
-    /* Overrides the color of selection used in jQuery UI */
-    background: var(--selected-background-color);
-    border: 1px solid var(--selected-background-color);
-    color: var(--selected-text-color);
-}
-.ui-autocomplete-category {
-    font-weight:bold;
-    font-size:15px;
-    padding:7px 0 7px 3px;
-    background-color:var(--navbar-background-color);
-    color:var(--navbar-text-color);
-}
-.ui-autocomplete {
-    max-height:85%;
-    max-width:65%;
-    overflow-y:auto;
-    overflow-x:auto;
-    scrollbar-width: thin;
-    white-space:nowrap;
-    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
-}
-ul.ui-autocomplete {
-    position:fixed;
-    z-index:1;
-    background-color: var(--body-background-color);
-}
-ul.ui-autocomplete li {
-    float:left;
-    clear:both;
-    min-width:100%;
-}
-ul.ui-autocomplete li.ui-static-link {
-    position:sticky;
-    bottom:0;
-    left:0;
-    background: var(--subnav-background-color);
-    padding: 5px 0;
-    font-family: var(--body-font-family);
-    font-size: 0.93em;
-    font-weight: bolder;
-    z-index: 2;
-}
-li.ui-static-link a, li.ui-static-link a:visited {
-    text-decoration:none;
-    color:var(--link-color);
-    float:right;
-    margin-right:20px;
-}
-.ui-autocomplete .result-item {
-    font-size: inherit;
-}
-.ui-autocomplete .result-highlight {
-    font-weight:bold;
-}
-#search-input, #page-search-input {
-    background-image:url('resources/glass.png');
-    background-size:13px;
-    background-repeat:no-repeat;
-    background-position:2px 3px;
-    background-color: var(--search-input-background-color);
-    color: var(--search-input-text-color);
-    border-color: var(--border-color);
-    padding-left:20px;
-    width: 250px;
-    margin: 0;
-}
-#search-input {
-    margin-left: 4px;
-}
-#reset-button {
-    background-color: transparent;
-    background-image:url('resources/x.png');
-    background-repeat:no-repeat;
-    background-size:contain;
-    border:0;
-    border-radius:0;
-    width:12px;
-    height:12px;
-    position:absolute;
-    right:12px;
-    top:10px;
-    font-size:0;
-}
-::placeholder {
-    color:var(--search-input-placeholder-color);
-    opacity: 1;
-}
-.search-tag-desc-result {
-    font-style:italic;
-    font-size:11px;
-}
-.search-tag-holder-result {
-    font-style:italic;
-    font-size:12px;
-}
-.search-tag-result:target {
-    background-color:var(--search-tag-highlight-color);
-}
-details.page-search-details {
-    display: inline-block;
-}
-div#result-container {
-    font-size: 1em;
-}
-div#result-container a.search-result-link {
-    padding: 0;
-    margin: 4px 0;
-    width: 100%;
-}
-#result-container .result-highlight {
-    font-weight:bolder;
-}
-.page-search-info {
-    background-color: var(--subnav-background-color);
-    border-radius: 3px;
-    border: 0 solid var(--border-color);
-    padding: 0 8px;
-    overflow: hidden;
-    height: 0;
-    transition: all 0.2s ease;
-}
-div.table-tabs > button.table-tab {
-    background: var(--navbar-background-color);
-    color: var(--navbar-text-color);
-}
-.page-search-header {
-    padding: 5px 12px 7px 12px;
-    font-weight: bold;
-    margin-right: 3px;
-    background-color:var(--navbar-background-color);
-    color:var(--navbar-text-color);
-    display: inline-block;
-}
-button.page-search-header {
-    border: none;
-    cursor: pointer;
-}
-span#page-search-link {
-    text-decoration: underline;
-}
-.module-graph span, .sealed-graph span {
-    display:none;
-    position:absolute;
-}
-.module-graph:hover span, .sealed-graph:hover span {
-    display:block;
-    margin: -100px 0 0 100px;
-    z-index: 1;
-}
-.inherited-list {
-    margin: 10px 0 10px 0;
-}
-section.class-description {
-    line-height: 1.4;
-}
-.summary section[class$="-summary"], .details section[class$="-details"],
-.class-uses .detail, .serialized-class-details {
-    padding: 0 20px 5px 10px;
-    border: 1px solid var(--border-color);
-    background-color: var(--section-background-color);
-}
-.inherited-list, section[class$="-details"] .detail {
-    padding:0 0 5px 8px;
-    background-color:var(--detail-background-color);
-    border:none;
-}
-.vertical-separator {
-    padding: 0 5px;
-}
-ul.help-section-list {
-    margin: 0;
-}
-ul.help-subtoc > li {
-  display: inline-block;
-  padding-right: 5px;
-  font-size: smaller;
-}
-ul.help-subtoc > li::before {
-  content: "\2022" ;
-  padding-right:2px;
-}
-.help-note {
-    font-style: italic;
-}
-/*
- * Indicator icon for external links.
- */
-main a[href*="://"]::after {
-    content:"";
-    display:inline-block;
-    background-image:url('data:image/svg+xml; utf8, \
-      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
-        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
-        132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
-      </svg>');
-    background-size:100% 100%;
-    width:7px;
-    height:7px;
-    margin-left:2px;
-    margin-bottom:4px;
-}
-main a[href*="://"]:hover::after,
-main a[href*="://"]:focus::after {
-    background-image:url('data:image/svg+xml; utf8, \
-      <svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
-        <path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
-        132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
-      </svg>');
-}
-/*
- * Styles for header/section anchor links
- */
-a.anchor-link {
-    opacity: 0;
-    transition: opacity 0.1s;
-}
-:hover > a.anchor-link {
-    opacity: 80%;
-}
-a.anchor-link:hover,
-a.anchor-link:focus-visible,
-a.anchor-link.visible {
-    opacity: 100%;
-}
-a.anchor-link > img {
-    width: 0.9em;
-    height: 0.9em;
-}
-/*
- * Styles for copy-to-clipboard buttons
- */
-button.copy {
-    opacity: 70%;
-    border: none;
-    border-radius: 3px;
-    position: relative;
-    background:none;
-    transition: opacity 0.3s;
-    cursor: pointer;
-}
-:hover > button.copy {
-    opacity: 80%;
-}
-button.copy:hover,
-button.copy:active,
-button.copy:focus-visible,
-button.copy.visible {
-    opacity: 100%;
-}
-button.copy img {
-    position: relative;
-    background: none;
-    filter: brightness(var(--copy-icon-brightness));
-}
-button.copy:active {
-    background-color: var(--copy-button-background-color-active);
-}
-button.copy span {
-    color: var(--body-text-color);
-    position: relative;
-    top: -0.1em;
-    transition: all 0.1s;
-    font-size: 0.76rem;
-    line-height: 1.2em;
-    opacity: 0;
-}
-button.copy:hover span,
-button.copy:focus-visible span,
-button.copy.visible span {
-    opacity: 100%;
-}
-/* search page copy button */
-button#page-search-copy {
-    margin-left: 0.4em;
-    padding:0.3em;
-    top:0.13em;
-}
-button#page-search-copy img {
-    width: 1.2em;
-    height: 1.2em;
-    padding: 0.01em 0;
-    top: 0.15em;
-}
-button#page-search-copy span {
-    color: var(--body-text-color);
-    line-height: 1.2em;
-    padding: 0.2em;
-    top: -0.18em;
-}
-div.page-search-info:hover button#page-search-copy span {
-    opacity: 100%;
-}
-/* snippet copy button */
-button.snippet-copy {
-    position: absolute;
-    top: 6px;
-    right: 6px;
-    height: 1.7em;
-    padding: 2px;
-}
-button.snippet-copy img {
-    width: 18px;
-    height: 18px;
-    padding: 0.05em 0;
-}
-button.snippet-copy span {
-    line-height: 1.2em;
-    padding: 0.2em;
-    position: relative;
-    top: -0.5em;
-}
-div.snippet-container:hover button.snippet-copy span {
-    opacity: 100%;
-}
-/*
- * Styles for user-provided tables.
- *
- * borderless:
- *      No borders, vertical margins, styled caption.
- *      This style is provided for use with existing doc comments.
- *      In general, borderless tables should not be used for layout purposes.
- *
- * plain:
- *      Plain borders around table and cells, vertical margins, styled caption.
- *      Best for small tables or for complex tables for tables with cells that span
- *      rows and columns, when the "striped" style does not work well.
- *
- * striped:
- *      Borders around the table and vertical borders between cells, striped rows,
- *      vertical margins, styled caption.
- *      Best for tables that have a header row, and a body containing a series of simple rows.
- */
-
-table.borderless,
-table.plain,
-table.striped {
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
-table.borderless > caption,
-table.plain > caption,
-table.striped > caption {
-    font-weight: bold;
-    font-size: smaller;
-}
-table.borderless th, table.borderless td,
-table.plain th, table.plain td,
-table.striped th, table.striped td {
-    padding: 2px 5px;
-}
-table.borderless,
-table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
-table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
-    border: none;
-}
-table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
-    background-color: transparent;
-}
-table.plain {
-    border-collapse: collapse;
-    border: 1px solid var(--table-border-color);
-}
-table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
-    background-color: transparent;
-}
-table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
-table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
-    border: 1px solid var(--table-border-color);
-}
-table.striped {
-    border-collapse: collapse;
-    border: 1px solid var(--table-border-color);
-}
-table.striped > thead {
-    background-color: var(--subnav-background-color);
-}
-table.striped > thead > tr > th, table.striped > thead > tr > td {
-    border: 1px solid var(--table-border-color);
-}
-table.striped > tbody > tr:nth-child(even) {
-    background-color: var(--odd-row-color)
-}
-table.striped > tbody > tr:nth-child(odd) {
-    background-color: var(--even-row-color)
-}
-table.striped > tbody > tr > th, table.striped > tbody > tr > td {
-    border-left: 1px solid var(--table-border-color);
-    border-right: 1px solid var(--table-border-color);
-}
-table.striped > tbody > tr > th {
-    font-weight: normal;
-}
-/**
- * Tweak style for small screens.
- */
-@media screen and (max-width: 920px) {
-    header.flex-header {
-        max-height: 100vh;
-        overflow-y: auto;
-    }
-    div#navbar-top {
-        height: 2.8em;
-        transition: height 0.35s ease;
-    }
-    ul.nav-list {
-        display: block;
-        width: 40%;
-        float:left;
-        clear: left;
-        margin: 10px 0 0 0;
-        padding: 0;
-    }
-    ul.nav-list li {
-        float: none;
-        padding: 6px;
-        margin-left: 10px;
-        margin-top: 2px;
-    }
-    ul.sub-nav-list-small {
-        display:block;
-        height: 100%;
-        width: 50%;
-        float: right;
-        clear: right;
-        background-color: var(--subnav-background-color);
-        color: var(--body-text-color);
-        margin: 6px 0 0 0;
-        padding: 0;
-    }
-    ul.sub-nav-list-small ul {
-        padding-left: 20px;
-    }
-    ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited {
-        color:var(--link-color);
-    }
-    ul.sub-nav-list-small a:hover {
-        color:var(--link-color-active);
-    }
-    ul.sub-nav-list-small li {
-        list-style:none;
-        float:none;
-        padding: 6px;
-        margin-top: 1px;
-        text-transform:uppercase;
-    }
-    ul.sub-nav-list-small > li {
-        margin-left: 10px;
-    }
-    ul.sub-nav-list-small li p {
-        margin: 5px 0;
-    }
-    div#navbar-sub-list {
-        display: none;
-    }
-    .top-nav a:link, .top-nav a:active, .top-nav a:visited {
-        display: block;
-    }
-    button#navbar-toggle-button {
-        width: 3.4em;
-        height: 2.8em;
-        background-color: transparent;
-        display: block;
-        float: left;
-        border: 0;
-        margin: 0 10px;
-        cursor: pointer;
-        font-size: 10px;
-    }
-    button#navbar-toggle-button .nav-bar-toggle-icon {
-        display: block;
-        width: 24px;
-        height: 3px;
-        margin: 1px 0 4px 0;
-        border-radius: 2px;
-        transition: all 0.1s;
-        background-color: var(--navbar-text-color);
-    }
-    button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) {
-        transform: rotate(45deg);
-        transform-origin: 10% 10%;
-        width: 26px;
-    }
-    button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) {
-        opacity: 0;
-    }
-    button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) {
-        transform: rotate(-45deg);
-        transform-origin: 10% 90%;
-        width: 26px;
-    }
-}
-@media screen and (max-width: 800px) {
-    .about-language {
-        padding-right: 16px;
-    }
-    ul.nav-list li {
-        margin-left: 5px;
-    }
-    ul.sub-nav-list-small > li {
-        margin-left: 5px;
-    }
-    main {
-        padding: 10px;
-    }
-    .summary section[class$="-summary"], .details section[class$="-details"],
-    .class-uses .detail, .serialized-class-details {
-        padding: 0 8px 5px 8px;
-    }
-    body {
-        -webkit-text-size-adjust: none;
-    }
-}
-@media screen and (max-width: 400px) {
-    .about-language {
-        font-size: 10px;
-        padding-right: 12px;
-    }
-}
-@media screen and (max-width: 400px) {
-    .nav-list-search {
-        width: 94%;
-    }
-    #search-input, #page-search-input {
-        width: 70%;
-    }
-}
-@media screen and (max-width: 320px) {
-    .nav-list-search > label {
-        display: none;
-    }
-    .nav-list-search {
-        width: 90%;
-    }
-    #search-input, #page-search-input {
-        width: 80%;
-    }
-}
-
-pre.snippet {
-    background-color: var(--snippet-background-color);
-    color: var(--snippet-text-color);
-    padding: 10px;
-    margin: 12px 0;
-    overflow: auto;
-    white-space: pre;
-}
-div.snippet-container {
-    position: relative;
-}
-@media screen and (max-width: 800px) {
-    pre.snippet {
-        padding-top: 26px;
-    }
-    button.snippet-copy {
-        top: 4px;
-        right: 4px;
-    }
-}
-pre.snippet .italic {
-    font-style: italic;
-}
-pre.snippet .bold {
-    font-weight: bold;
-}
-pre.snippet .highlighted {
-    background-color: var(--snippet-highlight-color);
-    border-radius: 10%;
-}
diff --git a/doc/tag-search-index.js b/doc/tag-search-index.js
deleted file mode 100644
index 0367dae65da41cd0c50d2f337b4768a43a66c079..0000000000000000000000000000000000000000
--- a/doc/tag-search-index.js
+++ /dev/null
@@ -1 +0,0 @@
-tagSearchIndex = [];updateSearchResults();
\ No newline at end of file
diff --git a/doc/type-search-index.js b/doc/type-search-index.js
deleted file mode 100644
index 6569efa761935df05cf15d1db44012328e8bd659..0000000000000000000000000000000000000000
--- a/doc/type-search-index.js
+++ /dev/null
@@ -1 +0,0 @@
-typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"fr.univlille.iutinfo.fxml","l":"Controller"},{"p":"fr.univlille.iutinfo.sql","l":"DBConnectionDescriptor"},{"p":"fr.univlille.iutinfo.sql","l":"DBConnector"},{"p":"fr.univlille.iutinfo.sql","l":"DBLoop"},{"p":"fr.univlille.iutinfo.sql","l":"DBRequest"},{"p":"fr.univlille.iutinfo.sql","l":"Executable"},{"p":"fr.univlille.iutinfo.mvcweb","l":"HtmlEntirePage"},{"p":"fr.univlille.iutinfo.sql","l":"Loopable"},{"p":"fr.univlille.iutinfo.utils","l":"Observer"},{"p":"fr.univlille.iutinfo.fxml","l":"SceneController"},{"p":"fr.univlille.iutinfo.utils","l":"Subject"},{"p":"fr.univlille.iutinfo.fxml","l":"SubSectionController"},{"p":"fr.univlille.iutinfo.sql","l":"Utils"},{"p":"fr.univlille.iutinfo.mvcweb","l":"View"}];updateSearchResults();
\ No newline at end of file
diff --git a/old/java-utils b/old/java-utils
new file mode 160000
index 0000000000000000000000000000000000000000..31e85409a0d548c7d6c13033a09be1c2a7ab5dfd
--- /dev/null
+++ b/old/java-utils
@@ -0,0 +1 @@
+Subproject commit 31e85409a0d548c7d6c13033a09be1c2a7ab5dfd
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e28c8060699b77e2bc91cb1c2fa5673ef1628bd7
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,30 @@
+<project>
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>fr.univlille.iut.info</groupId>
+	<artifactId>web.utils</artifactId>
+	<version>1</version>
+	<properties>
+		<maven.compiler.release>17</maven.compiler.release>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+	</properties>
+	<build>
+		<plugins>
+			<plugin>
+				<version>3.10.1</version>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>17</source>
+					<target>17</target>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<dependencies>
+		<dependency>
+			<groupId>org.postgresql</groupId>
+			<artifactId>postgresql</artifactId>
+			<version>42.7.1</version>
+		</dependency>
+	</dependencies>
+</project>
diff --git a/src/main/java/fr/univlille/iut/info/webutils/model/data/DAOBasic.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/DAOBasic.java
new file mode 100644
index 0000000000000000000000000000000000000000..fecd0e0a9a833c1d6131e71ffdad7b5483f21991
--- /dev/null
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/DAOBasic.java
@@ -0,0 +1,78 @@
+package fr.univlille.iut.info.webutils.model.data;
+
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+abstract class DAOBasic<T>
+{
+    private static final Map<Class, Method> sqlGetters;
+    static
+    {
+        try
+        {
+            sqlGetters = Map.of(
+                    String.class, ResultSet.class.getDeclaredMethod("getString", String.class)
+            );
+        } catch (NoSuchMethodException e)
+        {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private Class<T> pojoClass;
+    private Field[] pojoAttributes;
+    private Constructor<T> pojoConstructor;
+    private List<JDBCReflection> jdbcReflectionsMethods;
+    private Object[] pojoConstructorParams;
+    private String tableName;
+
+    public DAOBasic(Class<T> pojoClass) throws NoSuchMethodException
+    {
+        this.pojoClass = pojoClass;
+        this.pojoAttributes = pojoClass.getDeclaredFields();
+        this.pojoConstructor = pojoClass.getConstructor(pojoClass.getConstructors()[0].getParameterTypes());
+        this.jdbcReflectionsMethods = new ArrayList<JDBCReflection>(pojoClass.getDeclaredFields().length);
+        this.pojoConstructorParams = new Object[pojoClass.getDeclaredFields().length];
+        for (Field attribute : this.pojoAttributes)
+        {
+            this.jdbcReflectionsMethods.add(new JDBCReflection(DAOBasic.sqlGetters.get(attribute.getType()), attribute.getName()));
+        }
+        this.tableName = pojoClass.getSimpleName().toLowerCase();
+    }
+
+    public List<T> findAll() throws SQLException, IOException, ClassNotFoundException
+    {
+        String sqlRequest = "SELECT * FROM " + this.tableName;
+        DBLoop<List<T>> loop = new DBLoop<List<T>>(new ArrayList<T>(), sqlRequest, (((list, resultSet) ->
+        {
+            for (int i = 0; i < this.pojoAttributes.length; i++)
+            {
+                try
+                {
+                    this.pojoConstructorParams[i] = this.jdbcReflectionsMethods.get(i).execute(resultSet);
+                }
+                catch (InvocationTargetException | IllegalAccessException e)
+                {
+                    throw new RuntimeException(e);
+                }
+            }
+            try
+            {
+                list.add(this.pojoClass.cast(this.pojoConstructor.newInstance(this.pojoConstructorParams)));
+            }
+            catch (InstantiationException | IllegalAccessException | InvocationTargetException e)
+            {
+                throw new RuntimeException(e);
+            }
+        })));
+        return loop.executeLoop();
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iutinfo/sql/DBConnectionDescriptor.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBConnectionDescriptor.java
similarity index 97%
rename from src/main/java/fr/univlille/iutinfo/sql/DBConnectionDescriptor.java
rename to src/main/java/fr/univlille/iut/info/webutils/model/data/DBConnectionDescriptor.java
index 06efadbafd2b5899089203f7d30fee484f9d266e..f44a2b51b7e760e930cc30c1683c6bf85fb31e63 100644
--- a/src/main/java/fr/univlille/iutinfo/sql/DBConnectionDescriptor.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBConnectionDescriptor.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
 /**
  * Cette classe décrit une connection à une base de données (driver, url, données de connexion)
diff --git a/src/main/java/fr/univlille/iutinfo/sql/DBConnector.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBConnector.java
similarity index 99%
rename from src/main/java/fr/univlille/iutinfo/sql/DBConnector.java
rename to src/main/java/fr/univlille/iut/info/webutils/model/data/DBConnector.java
index e1b527b701a98ac457e7aba98a42063f25ef8ce7..bfb36716604ad279f3a3b99ab546d96938213ac7 100644
--- a/src/main/java/fr/univlille/iutinfo/sql/DBConnector.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBConnector.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
 import java.io.FileInputStream;
 import java.io.IOException;
diff --git a/src/main/java/fr/univlille/iutinfo/sql/DBLoop.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBLoop.java
similarity index 97%
rename from src/main/java/fr/univlille/iutinfo/sql/DBLoop.java
rename to src/main/java/fr/univlille/iut/info/webutils/model/data/DBLoop.java
index 55aecfee1a21485bfb5259d14037a9f9d76fc89b..7fb1e028b5bfe0c91ac8dcb46a6726b68e911c1d 100644
--- a/src/main/java/fr/univlille/iutinfo/sql/DBLoop.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBLoop.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
 import java.io.IOException;
 import java.sql.Connection;
diff --git a/src/main/java/fr/univlille/iutinfo/sql/DBRequest.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBRequest.java
similarity index 98%
rename from src/main/java/fr/univlille/iutinfo/sql/DBRequest.java
rename to src/main/java/fr/univlille/iut/info/webutils/model/data/DBRequest.java
index d265d997a30b71c1165b58518d8d3c6c9f2b9b19..0f79599e22abb5acca3598b7beb3c9aa99b539f4 100644
--- a/src/main/java/fr/univlille/iutinfo/sql/DBRequest.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/DBRequest.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
 import java.io.IOException;
 import java.sql.Connection;
diff --git a/src/main/java/fr/univlille/iutinfo/sql/Executable.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/Executable.java
similarity index 90%
rename from src/main/java/fr/univlille/iutinfo/sql/Executable.java
rename to src/main/java/fr/univlille/iut/info/webutils/model/data/Executable.java
index 4b3e025ad0773d64751e2dfd18ca1bf50490641a..68e7479200873100dd4c56c7b654133d3a22ac17 100644
--- a/src/main/java/fr/univlille/iutinfo/sql/Executable.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/Executable.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
 import java.sql.Connection;
 import java.sql.SQLException;
diff --git a/src/main/java/fr/univlille/iut/info/webutils/model/data/JDBCReflection.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/JDBCReflection.java
new file mode 100644
index 0000000000000000000000000000000000000000..6df1ebd80c99bf6640ca2e6e874273c616375a2a
--- /dev/null
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/JDBCReflection.java
@@ -0,0 +1,27 @@
+package fr.univlille.iut.info.webutils.model.data;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.sql.ResultSet;
+
+class JDBCReflection
+{
+    private Method sqlMethod;
+    private String colName;
+
+    public JDBCReflection(Method sqlMethod, String colName)
+    {
+        this.sqlMethod = sqlMethod;
+        this.colName = colName;
+    }
+
+    public Method getSqlMethod()
+    {
+        return sqlMethod;
+    }
+
+    public Object execute(ResultSet rs) throws InvocationTargetException, IllegalAccessException
+    {
+        return this.sqlMethod.invoke(rs, this.colName);
+    }
+}
diff --git a/src/main/java/fr/univlille/iutinfo/sql/Loopable.java b/src/main/java/fr/univlille/iut/info/webutils/model/data/Loopable.java
similarity index 77%
rename from src/main/java/fr/univlille/iutinfo/sql/Loopable.java
rename to src/main/java/fr/univlille/iut/info/webutils/model/data/Loopable.java
index e2301fabc8547450e1c3d440df2a8776395e87e0..3fe6187572158b59e78b5e58d5194762a70ea63a 100644
--- a/src/main/java/fr/univlille/iutinfo/sql/Loopable.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/model/data/Loopable.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
 import java.lang.reflect.InvocationTargetException;
 import java.sql.Connection;
@@ -17,5 +17,5 @@ public interface Loopable<E>
      * @param rs la ligne de résultat en cours de traitement
      * @throws SQLException en cas d'erreur SQL.
      */
-    public void doLoop(E obj, ResultSet rs) throws SQLException, InvocationTargetException, InstantiationException, IllegalAccessException;
+    public void doLoop(E obj, ResultSet rs) throws SQLException;
 }
diff --git a/src/main/java/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.java b/src/main/java/fr/univlille/iut/info/webutils/view/HtmlEntirePage.java
similarity index 97%
rename from src/main/java/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.java
rename to src/main/java/fr/univlille/iut/info/webutils/view/HtmlEntirePage.java
index 64a22345d4087cfbc3b904fc81b940cf8ebf99b0..a019470733849f6aa06a63b6c76d527715eb0ac0 100644
--- a/src/main/java/fr/univlille/iutinfo/mvcweb/HtmlEntirePage.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/view/HtmlEntirePage.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.mvcweb;
+package fr.univlille.iut.info.webutils.view;
 
 /**
  * Cette classe définit ce qu'est une page HTML entière (head et body)
@@ -53,4 +53,4 @@ public abstract class HtmlEntirePage
         entirePage.append("</html>");
         return entirePage;
     }
-}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iutinfo/mvcweb/View.java b/src/main/java/fr/univlille/iut/info/webutils/view/View.java
similarity index 86%
rename from src/main/java/fr/univlille/iutinfo/mvcweb/View.java
rename to src/main/java/fr/univlille/iut/info/webutils/view/View.java
index 82d6247c020c272c08f778907e4ba9bf47f90da8..eef27209e1ca1b07c20d143a80d62cad7960418d 100644
--- a/src/main/java/fr/univlille/iutinfo/mvcweb/View.java
+++ b/src/main/java/fr/univlille/iut/info/webutils/view/View.java
@@ -1,4 +1,4 @@
-package fr.univlille.iutinfo.mvcweb;
+package fr.univlille.iut.info.webutils.view;
 
 /**
  * Cette interface définit ce qu'est une vue : Selon des paramètres passés lors de l'instanciation, un contenu (html ou autre) est retourné.
@@ -10,4 +10,4 @@ public interface View
      * @return le contenu de la vue à afficher
      */
     public StringBuilder getContent();
-}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iutinfo/fxml/Controller.java b/src/main/java/fr/univlille/iutinfo/fxml/Controller.java
deleted file mode 100644
index ed23ca0526bb3eedc92aff67c4a6070d99c18789..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/fxml/Controller.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package fr.univlille.iutinfo.fxml;
-
-import javafx.scene.Parent;
-
-import java.io.IOException;
-
-/**
- * Cette classe abstraite définit le minimum requis pour controller un fichier .fxml.
- */
-public abstract class Controller
-{
-	
-	/**
-	 * Un {@code String} représentant le chemin du fichier .fxml.
-	 */
-	protected String fxmlPath;
-	
-	/**
-	 * Le 1er {@code Parent} du fichier .fxml.
-	 */
-	protected Parent root;
-	
-	/**
-	 * Constructeur.
-	 * @param fxmlPath un {@code String} représentant le chemin du fichier fxml.
-	 */
-	protected Controller(String fxmlPath)
-	{
-		this.fxmlPath = fxmlPath;
-	}
-
-	/**
-	 * Cette méthode charge tous les éléments JavaFX et fait appel à la méthode {@code initialize}.
-	 * @throws IOException en cas de problème avec le fichier .fxml.
-	 */
-	public abstract void updateStage() throws IOException;
-
-	/**
-	 * Cette méthode est appellée par le {@code FXMLLoader}.
-	 * Elle est généralement utile pour initialiser les gestionnaires d'évènements.
-	 */
-	public abstract void initialize();
-
-	/**
-	 * Permet de récupérer l'élément parent.
-	 * @return l'élément parent {@code Parent}
-	 */
-	public Parent getRoot()
-	{
-		return this.root;
-	}
-
-}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iutinfo/fxml/SceneController.java b/src/main/java/fr/univlille/iutinfo/fxml/SceneController.java
deleted file mode 100644
index 197b3517d264779397baed62339152b736eb671a..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/fxml/SceneController.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package fr.univlille.iutinfo.fxml;
-
-import javafx.fxml.FXMLLoader;
-import javafx.scene.Scene;
-import javafx.stage.Stage;
-
-import java.io.File;
-import java.io.IOException;
-
-/** 
- * Cette classe abstraite définit le minimum requis pour controller une {@code Scene} JavaFX
- */
-public abstract class SceneController extends Controller
-{
-
-	/**
-	 * Le titre de la scène
-	 */
-	protected String title;
-	
-	/**
-	 * La {@code Stage} (fenêtre) où sera affichée la scène.
-	 */
-	protected Stage stage;
-	
-	/**
-	 * La {@code Scene} qui contiendra l'élément {@code Parent} root.
-	 */
-	protected Scene scene;
-	
-	/**
-	 * Scene controller constructor
-	 * @param fxmlPath un {@code String} représentant le chemin du fichier fxml.
-	 * @param title un {@code String} représentant le titre de la scène.
-	 * @param stage, l {@code Stage} (fenêtre) où sera affichée la scène.
-	 */
-	public SceneController(String fxmlPath, String title, Stage stage)
-	{
-		super(fxmlPath);
-		this.title = title;
-		this.stage = stage;
-	}
-
-	/**
-	 * Cette méthode charge tous les éléments JavaFX et fait appel à la méthode {@code initialize}.
-	 * @throws IOException en cas de problème avec le fichier .fxml.
-	 */
-	public final void updateStage() throws IOException
-	{
-		FXMLLoader loader = new FXMLLoader(new File(this.fxmlPath).toURI().toURL());
-		loader.setController(this);
-		this.root = loader.load();
-		this.scene = new Scene(this.root);
-		this.stage.setScene(this.scene);
-		this.stage.setTitle(this.title);
-	}
-
-	/**
-	 * @return le {@code Stage} dans lequel se situe la scène contrôlée.
-	 */
-	public Stage getStage()
-	{
-		return stage;
-	}
-
-	/**
-	 * @return un {@code String} représentant le titre de la scène contrôlée
-	 */
-	public String getTitle()
-	{
-		return title;
-	}
-
-	/**
-	 * @return la {@code Scene} contrôlée.
-	 */
-	public Scene getScene()
-	{
-		return scene;
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iutinfo/fxml/SubSectionController.java b/src/main/java/fr/univlille/iutinfo/fxml/SubSectionController.java
deleted file mode 100644
index d8abf126b51270d295457b65082416027e76c89d..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/fxml/SubSectionController.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package fr.univlille.iutinfo.fxml;
-
-import javafx.fxml.FXMLLoader;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Cette classe abstraite définit le minimum requis pour controller une section à l'intérieur d'une fenêtre JavaFXML.
- */
-public abstract class SubSectionController extends Controller
-{
-	
-	/**
-	 * @param fxmlPath un {@code String} représentant le chemin du fichier fxml.
-	 */
-	public SubSectionController(String fxmlPath)
-	{
-		super(fxmlPath);
-	}
-
-	/**
-	 * Cette méthode charge tous les éléments JavaFX et fait appel à la méthode {@code initialize}.
-	 * @throws IOException en cas de problème avec le fichier .fxml.
-	 */
-	public final void updateStage() throws IOException
-	{
-		FXMLLoader loader = new FXMLLoader(new File(this.fxmlPath).toURI().toURL());
-		loader.setController(this);
-		this.root = loader.load();
-	}
-}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iutinfo/sql/DAOBasic.java b/src/main/java/fr/univlille/iutinfo/sql/DAOBasic.java
deleted file mode 100644
index 2eb18e96e158dd226528416691e63f2357539f59..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/sql/DAOBasic.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package fr.univlille.iutinfo.sql;
-
-import fr.univlille.iutinfo.sql.Pojo.Pojo;
-
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-abstract class DAOBasic<E>
-{
-    private static final Map<Class, Method> sqlGetters;
-    private String tableName;
-    private Class<E> reflectionClass;
-
-    public DAOBasic(Class pojoClass)
-    {
-        this.tableName = pojoClass.getName().toLowerCase();
-    }
-
-    static
-    {
-        try
-        {
-            sqlGetters = Map.of(
-                    String.class, ResultSet.class.getDeclaredMethod("getString", int.class)
-            );
-        } catch (NoSuchMethodException e)
-        {
-            throw new RuntimeException(e);
-        }
-    }
-
-    public List<E> findAll() throws SQLException, IOException, ClassNotFoundException
-    {
-        List<E> resultList = new ArrayList<E>();
-        String sqlRequest = "SELECT * FROM " + this.tableName;
-        DBLoop<List<E>> loop = new DBLoop<List<E>>(resultList, sqlRequest, (((obj, rs) ->
-        {
-            Constructor pojoConstructor = this.reflectionClass.getConstructors()[0];
-            Object[] pojoConstructorsParam = new Object[pojoConstructor.getParameterCount()];
-            for (int i = 0; i < pojoConstructor.getParameterCount(); i++)
-            {
-                pojoConstructorsParam[i] = DAOBasic.sqlGetters.get(this.reflectionClass.getDeclaredFields()[i]);
-            }
-            obj.add((E)pojoConstructor.newInstance(pojoConstructorsParam));
-        })));
-        return loop.executeLoop();
-    }
-}
diff --git a/src/main/java/fr/univlille/iutinfo/sql/Utils.java b/src/main/java/fr/univlille/iutinfo/sql/Utils.java
deleted file mode 100644
index bf05fce13ad114ea23de9f66111ba54d0b9c8081..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/sql/Utils.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package fr.univlille.iutinfo.sql;
-
-import java.io.IOException;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * Cette classe regroupe un ensemble de requêtes SQL les plus fréquentes.
- */
-public abstract class Utils
-{
-    /**
-     * Cette méthode permet d'éxécuter une requête SELECT retournant un seul résultat (1 ligne, 1 colonne).
-     * @param sqlRequest, la requête à exécuter.
-     * @return Un String représentant le résultat.
-     * @throws SQLException en cas d'erreur SQL.
-     */
-    public static String selectOneCell(String sqlRequest) throws SQLException, IOException, ClassNotFoundException {
-        DBRequest<String> DBRequest = new DBRequest<String>((stmt) ->
-        {
-            Statement statement = stmt.createStatement();
-            ResultSet resultatRequete = statement.executeQuery(sqlRequest);
-            if (resultatRequete.next())
-            {
-                return resultatRequete.getString(1);
-            }
-            return null;
-        });
-        return DBRequest.executeRequest();
-    }
-
-    /**
-     * Cette méthode permet d'éxécuter une requête SELECT retournant plusieurs colonnes, et 1 ou plusieurs lignes.
-     * @param sqlRequest, la requête à exécuter.
-     * @return un tableau associatif contenant le résultat de la requête, sous forme de Liste de Map.
-     * Chaque entrées de la liste représente une ligne, et la clef de la Map est le nom de la colonne
-     * @throws SQLException en cas d'erreur SQL.
-     */
-    public static List<Map<String, String>> selectMultipleKeysAsColumnsName(String sqlRequest) throws SQLException, IOException, ClassNotFoundException {
-
-        DBRequest<List<Map<String, String>>> DBRequest = new DBRequest<List<Map<String, String>>>((stmt) ->
-        {
-            Statement statement = stmt.createStatement();
-            ResultSet requestResult = statement.executeQuery(sqlRequest);
-            //On initialise le résultat renvoyé
-            ResultSetMetaData resultInfo = requestResult.getMetaData();
-            //Récupération de tous les noms de colonnes
-            List<String> columnList = new ArrayList<String>();
-            for (int i = 0; i < resultInfo.getColumnCount(); i++)
-            {
-                columnList.add(resultInfo.getColumnLabel(i + 1));
-            }
-            List<Map<String,String>> result = new ArrayList<Map<String, String>>();
-            int rowNumber = 0;
-            while (requestResult.next()) {
-                result.add(new HashMap<String, String>());
-                for (int i = 0; i < columnList.size(); i++) {
-                    result.get(rowNumber).put(columnList.get(i), requestResult.getString(i + 1));
-                }
-                rowNumber++;
-            }
-            return result;
-        });
-        return DBRequest.executeRequest();
-    }
-}
diff --git a/src/main/java/fr/univlille/iutinfo/utils/Observer.java b/src/main/java/fr/univlille/iutinfo/utils/Observer.java
deleted file mode 100644
index a0dae613e3453dbfc29a2c72af304aaafcc5cfb9..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/utils/Observer.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package fr.univlille.iutinfo.utils;
-
-public interface Observer<T extends Subject, E>
-{
-        public void update(T subject);
-        public void update(T subject, E object);
-}
diff --git a/src/main/java/fr/univlille/iutinfo/utils/Subject.java b/src/main/java/fr/univlille/iutinfo/utils/Subject.java
deleted file mode 100644
index 14ec847f28a90f55e251b7fd8854a886307aef51..0000000000000000000000000000000000000000
--- a/src/main/java/fr/univlille/iutinfo/utils/Subject.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package fr.univlille.iutinfo.utils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public abstract class Subject<E>
-{
-    protected List<Observer> listeObserver;
-    public void attach(Observer obs)
-    {
-        this.listeObserver.add(obs);
-    }
-    public void detach(Observer obs)
-    {
-        this.listeObserver.remove(obs);
-    }
-    protected void notifyObservers()
-    {
-        for (Observer o : listeObserver)
-        {
-            o.update(this);
-        }
-    }
-    protected void notifyObservers(E data)
-    {
-        for (Observer o : listeObserver)
-        {
-            o.update(this, data);
-        }
-    }
-
-    protected Subject() {
-        this.listeObserver = new ArrayList<Observer>();
-    }
-}
diff --git a/src/test/java/fr/univlille/iutinfo/sql/DAOBasicTest.java b/src/test/java/fr/univlille/iut/info/webutils/model/data/DAOBasicTest.java
similarity index 50%
rename from src/test/java/fr/univlille/iutinfo/sql/DAOBasicTest.java
rename to src/test/java/fr/univlille/iut/info/webutils/model/data/DAOBasicTest.java
index 3f7b5e7728bc2fbc6f04bf90a015956a882c2a9a..b7b9bd592ebb9e60af5c8de7202b9391a81c7763 100644
--- a/src/test/java/fr/univlille/iutinfo/sql/DAOBasicTest.java
+++ b/src/test/java/fr/univlille/iut/info/webutils/model/data/DAOBasicTest.java
@@ -1,20 +1,21 @@
-package fr.univlille.iutinfo.sql;
+package fr.univlille.iut.info.webutils.model.data;
 
-import java.sql.SQLException;
 import java.util.List;
 
 public class DAOBasicTest
 {
     public static void main(String[] args) throws Exception
     {
+        Class.forName("org.postgresql.Driver");
         DBConnector.init(new DBConnectionDescriptor(
                 "org.postgresql.Driver",
-                "jdbc:postgresql://psqlserv/but2",
+                "jdbc:postgresql://localhost:5432/but2",
                 "nicolasdagneauxetu",
                 "moi"));
 
-        List<Etudiant> etus = DAOBasic.findAll(Etudiant.class);
-    }
-
+        EtudiantDAO dao = new EtudiantDAO();
 
+        List<Etudiant> etus = dao.findAll();
+        System.out.println(etus);
+    }
 }
diff --git a/src/test/java/fr/univlille/iut/info/webutils/model/data/Etudiant.java b/src/test/java/fr/univlille/iut/info/webutils/model/data/Etudiant.java
new file mode 100644
index 0000000000000000000000000000000000000000..06cfb08003dd46a0843d574bc34d6bbed25aad2c
--- /dev/null
+++ b/src/test/java/fr/univlille/iut/info/webutils/model/data/Etudiant.java
@@ -0,0 +1,9 @@
+package fr.univlille.iut.info.webutils.model.data;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.List;
+
+public record Etudiant(String nom, String prenom)
+{
+}
diff --git a/src/test/java/fr/univlille/iut/info/webutils/model/data/EtudiantDAO.java b/src/test/java/fr/univlille/iut/info/webutils/model/data/EtudiantDAO.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f3a73292d20dc069783e568d894c5f5e904365c
--- /dev/null
+++ b/src/test/java/fr/univlille/iut/info/webutils/model/data/EtudiantDAO.java
@@ -0,0 +1,18 @@
+package fr.univlille.iut.info.webutils.model.data;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.List;
+
+public class EtudiantDAO extends DAOBasic<Etudiant>
+{
+    public EtudiantDAO() throws NoSuchMethodException
+    {
+        super(Etudiant.class);
+    }
+
+    public List<Etudiant> findAll() throws SQLException, IOException, ClassNotFoundException
+    {
+        return super.findAll();
+    }
+}
diff --git a/src/test/java/fr/univlille/iutinfo/sql/Etudiant.java b/src/test/java/fr/univlille/iutinfo/sql/Etudiant.java
deleted file mode 100644
index c0c68615d8e6bda3c96e193f8f7371840b952d88..0000000000000000000000000000000000000000
--- a/src/test/java/fr/univlille/iutinfo/sql/Etudiant.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package fr.univlille.iutinfo.sql;
-
-import java.util.List;
-
-public record Etudiant(String nom, String prenom)
-{
-    public class EtudiantDAO extends DAOBasic<Etudiant>
-    {
-        public EtudiantDAO()
-        {
-
-        }
-
-        public List<Etudiant> findAll()
-        {
-            return super.findAll();
-        }
-    }
-}
diff --git a/univlille-iutinfo-java-utils.jar b/univlille-iutinfo-java-utils.jar
deleted file mode 100644
index 633923fda9cf1b424580c19e0eb89588166c0199..0000000000000000000000000000000000000000
Binary files a/univlille-iutinfo-java-utils.jar and /dev/null differ
diff --git a/web.utils.iml b/web.utils.iml
new file mode 100644
index 0000000000000000000000000000000000000000..c82a663498a33508f36a6ab9b40baa175cff3c8d
--- /dev/null
+++ b/web.utils.iml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4">
+  <component name="AdditionalModuleElements">
+    <content url="file://$MODULE_DIR$" dumb="true">
+      <excludeFolder url="file://$MODULE_DIR$/old" />
+    </content>
+  </component>
+</module>
\ No newline at end of file