Browse Source

Documentation des class 2

stany.ferer 3 months ago
parent
commit
ebb81539e4

+ 2 - 0
core/class/email.class.php

@@ -85,6 +85,8 @@ class Email
                 return false;
             }
         }
+
+        return true;
     }
 
     /**

+ 159 - 9
core/class/event.class.php

@@ -1,8 +1,18 @@
 <?php
-
+/**
+ * Classe event
+ * 
+ * Cette classe gère les événements, y compris leur création, mise à jour, suppression,
+ * gestion des inscriptions, et génération de QR codes associés.
+ */
 class event
 {
-
+    /**
+     * Récupère les informations d'un événement spécifique par son identifiant.
+     *
+     * @param int $_id Identifiant de l'événement.
+     * @return array Retourne les informations de l'événement.
+     */
     public static function getFiche(int $_id)
     {
         db::query("SELECT * FROM " . DB_T_EVENTS . " WHERE id = :id");
@@ -10,6 +20,12 @@ class event
         return db::single();
     }
 
+    /**
+     * Récupère les informations d'un événement spécifique par son hash MD5.
+     *
+     * @param string $_md5 Hash MD5 de l'événement.
+     * @return array Retourne les informations de l'événement.
+     */
     public static function getFicheByMd5(string $_md5)
     {
         db::query("SELECT * FROM " . DB_T_EVENTS . " WHERE md5 = :md5");
@@ -17,7 +33,15 @@ class event
         return db::single();
     }
 
-    public static function getQRCode(int $_id, $_width = 50, string $_link = NULL)
+    /**
+     * Génère un QR code pour un événement spécifique.
+     *
+     * @param int $_id Identifiant de l'événement.
+     * @param int $_width Largeur du QR code (par défaut 50).
+     * @param string|null $_link Lien personnalisé (facultatif).
+     * @return string Retourne le QR code sous forme d'image HTML.
+     */
+    public static function getQRCode(int $_id, $_width = 50, ?string $_link = NULL)
     {
         db::query("SELECT md5 FROM " . DB_T_EVENTS . " WHERE id = :id");
         db::bind(':id', $_id);
@@ -31,6 +55,11 @@ class event
         }
     }
 
+    /**
+     * Ajoute un nouvel événement dans la base de données.
+     *
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
     public static function add()
     {
         db::query("INSERT INTO " . DB_T_EVENTS . " (md5, titre, description, startDate, endDate, type_emargement, type_inscription, actif, id_user) VALUES (:md5, :titre, :description, :startDate, :endDate, :type_emargement, :type_inscription, :actif, :id_user)");
@@ -53,6 +82,11 @@ class event
             }
     }
 
+    /**
+     * Met à jour un événement existant dans la base de données.
+     *
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
     public static function update()
     {
         db::query("UPDATE " . DB_T_EVENTS . " SET "
@@ -84,7 +118,13 @@ class event
             }
     }
 
-    public static function subscribe(int $_salarie = NULL)
+    /**
+     * Inscrit un salarié à un événement spécifique.
+     *
+     * @param int|null $_salarie Identifiant du salarié (facultatif).
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function subscribe(?int $_salarie = NULL)
     {
         if($_salarie == NULL){
             $salarie = core::getPost("salarie");
@@ -106,6 +146,11 @@ class event
         }
     }
 
+    /**
+     * Désinscrit un salarié d'un événement spécifique.
+     *
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
     public static function unsubscribe()
     {
         db::query("DELETE FROM " . DB_T_EVENTS_INSCRITS . " WHERE id_evenement = :id_evenement AND id_salarie = :id_salarie");
@@ -120,6 +165,11 @@ class event
         }
     }
 
+    /**
+     * Récupère la liste des événements.
+     *
+     * @return array Retourne un tableau des événements.
+     */
     public static function getEvents()
     {
         db::query("SELECT "
@@ -145,6 +195,11 @@ class event
         return db::resultset();
     }
 
+    /**
+     * Récupère les inscriptions pour un événement spécifique.
+     *
+     * @return array Retourne un tableau des inscriptions.
+     */
     public static function getInscriptions()
     {
         db::query("SELECT "
@@ -167,9 +222,14 @@ class event
             return db::resultset();
     }
 
+    /**
+     * Connecte un salarié à un événement en fonction de ses informations.
+     *
+     * @param array $_post Données du salarié.
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
     public static function connectSalarie(array $_post)
     {
-
         if (empty($_post["ident"])) {
             return FALSE;
         } elseif (empty($_post["date"])) {
@@ -219,12 +279,23 @@ class event
         return FALSE;
     }
 
+    /**
+     * Récupère l'identifiant du dernier événement ajouté.
+     *
+     * @return int Identifiant du dernier événement.
+     */
     public static function lastEvenement()
     {
         db::query("SELECT MAX(id) AS id FROM " . DB_T_EVENTS);
         return db::single()["id"];
     }
 
+    /**
+     * Récupère l'identifiant d'un événement par son hash MD5.
+     *
+     * @param string $_md5 Hash MD5 de l'événement.
+     * @return int Identifiant de l'événement.
+     */
     public static function getIdEvenementByMd5(string $_md5)
     {
         db::query("SELECT id FROM " . DB_T_EVENTS . " WHERE md5 = :md5");
@@ -232,6 +303,12 @@ class event
         return db::single()["id"];
     }
 
+    /**
+     * Récupère les événements auxquels un salarié est présent.
+     *
+     * @param int $_idSalarie Identifiant du salarié.
+     * @return array Retourne un tableau des événements.
+     */
     public static function presentEvenement(int $_idSalarie)
     {
         db::query("SELECT "
@@ -254,6 +331,12 @@ class event
         return $row;
     }
 
+    /**
+     * Supprime un événement spécifique de la base de données.
+     *
+     * @param int $_id Identifiant de l'événement.
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
     public static function deleteEvenement(int $_id)
     {
         db::query("DELETE FROM " . DB_T_EVENTS . " WHERE id = :id");
@@ -261,6 +344,12 @@ class event
         return db::execute();
     }
 
+    /**
+     * Supprime toutes les inscriptions associées à un événement spécifique.
+     *
+     * @param int $_idEvenement Identifiant de l'événement.
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
     public static function deleteInscriptionEvenement(int $_idEvenement)
     {
         db::query("DELETE FROM " . DB_T_EVENTS_INSCRITS . " WHERE id_evenement = :id_evenement");
@@ -268,11 +357,23 @@ class event
         return db::execute();
     }
 
+    /**
+     * Vérifie l'URL d'un événement.
+     *
+     * @param string $_url URL à vérifier.
+     * @return string Retourne l'hôte de l'URL.
+     */
     public static function checkUrl(string $_url)
     {
         return parse_url($_url)["host"];
     }
 
+    /**
+     * Récupère les informations d'un événement à partir d'un QR code.
+     *
+     * @param string $_QRCode QR code de l'événement.
+     * @return array Retourne les paramètres extraits du QR code.
+     */
     public static function getEvenementbyQRCode(string $_QRCode)
     {
         $query = parse_url($_QRCode)["query"];
@@ -280,6 +381,12 @@ class event
         return $params;
     }
 
+    /**
+     * Vérifie le nombre d'émargements pour un événement spécifique.
+     *
+     * @param int $_id_evenement Identifiant de l'événement.
+     * @return int Retourne le nombre d'émargements.
+     */
     public static function checkEmargement(int $_id_evenement)
     {
         db::query("SELECT "
@@ -291,6 +398,13 @@ class event
         return $nb;
     }
 
+    /**
+     * Récupère les informations d'inscription d'un salarié pour un événement spécifique.
+     *
+     * @param int $_id_evenement Identifiant de l'événement.
+     * @param int $_id_salarie Identifiant du salarié.
+     * @return array Retourne les informations d'inscription.
+     */
     public static function getInscriptionEvenementById(int $_id_evenement, int $_id_salarie)
     {
         db::query("SELECT "
@@ -306,7 +420,14 @@ class event
         return $inscription;
     }
 
-    public static function getInscription(int $_id_event){
+    /**
+     * Récupère les inscriptions pour un événement spécifique.
+     *
+     * @param int $_id_event Identifiant de l'événement.
+     * @return array Retourne un tableau des inscriptions.
+     */
+    public static function getInscription(int $_id_event)
+    {
         db::query("SELECT "
                 . "" . DB_T_SALARIES . ".id, "
                 . "" . DB_T_SALARIES . ".loginId, "
@@ -330,9 +451,14 @@ class event
         return db::resultset();
     }
 
+    /**
+     * Vérifie si un salarié est éligible pour un événement spécifique.
+     *
+     * @param string $_md5 Hash MD5 de l'événement.
+     * @return array Retourne un tableau contenant le résultat et la description.
+     */
     public static function checkEvenementBySalarie(string $_md5)
     {
-
         $return = array();
         $now = time();
 
@@ -398,9 +524,16 @@ class event
         return $return;
     }
 
-    public static function emargementEvenement(int $_idEvenement, int $_idSalarie, int $_idAdmin = NULL)
+    /**
+     * Enregistre l'émargement d'un salarié pour un événement spécifique.
+     *
+     * @param int $_idEvenement Identifiant de l'événement.
+     * @param int $_idSalarie Identifiant du salarié.
+     * @param int|null $_idAdmin Identifiant de l'administrateur (facultatif).
+     * @return array Retourne un tableau contenant le résultat et la description.
+     */
+    public static function emargementEvenement(int $_idEvenement, int $_idSalarie, ?int $_idAdmin = NULL)
     {
-
         $inscription = self::getInscriptionEvenementById($_idEvenement, $_idSalarie);
         $evenement = self::getFiche($_idEvenement);
 
@@ -432,6 +565,11 @@ class event
         return $return;
     }
 
+    /**
+     * Enregistre l'émargement d'un salarié pour un événement via un QR code.
+     *
+     * @return array Retourne un tableau contenant le résultat et la description.
+     */
     public static function emargementEvenementByQRCode()
     {
         $idSalarie = core::getGet("s");
@@ -452,6 +590,12 @@ class event
         }
     }
 
+    /**
+     * Affiche un bouton pour un événement spécifique.
+     *
+     * @param array $_array Données de l'événement.
+     * @return void
+     */
     public static function printEventBouton(array $_array)
     {
         switch ($_array["nb"]) {
@@ -513,6 +657,12 @@ class event
                 </div>';
     }
 
+    /**
+     * Affiche une icône de résultat pour un flash QR code.
+     *
+     * @param string $_result Résultat du flash (1 pour succès, autre pour échec).
+     * @return void
+     */
     public static function printIconeResultFlash(string $_result)
     {
         if ($_result == 1) {

+ 103 - 23
core/class/file.class.php

@@ -1,7 +1,19 @@
 <?php
-
+/**
+ * Classe file
+ * 
+ * Cette classe gère les opérations liées aux fichiers, y compris l'enregistrement,
+ * la suppression, le téléchargement, et la gestion des répertoires.
+ */
 class file
 {
+    /**
+     * Enregistre un fichier temporaire dans un répertoire spécifié.
+     *
+     * @param array $_temp Tableau contenant les informations du fichier temporaire.
+     * @param string $_folderFiles Chemin du répertoire où enregistrer le fichier (par défaut DIR_DATAS_FILES).
+     * @return string|false Retourne le hash MD5 du fichier enregistré ou FALSE en cas d'échec.
+     */
     public static function record(array $_temp, string $_folderFiles = DIR_DATAS_FILES)
     {
         $md5 = md5_file($_temp["tmp_name"]);
@@ -29,6 +41,12 @@ class file
         }
     }
 
+    /**
+     * Vérifie les erreurs lors du téléchargement d'un fichier.
+     *
+     * @param array $_file Tableau contenant les informations du fichier téléchargé.
+     * @return array Retourne un tableau avec le statut et la description de l'erreur (le cas échéant).
+     */
     public static function getErrorUpload(array $_file){
         $return = [];
         if ($_file['error'] === UPLOAD_ERR_INI_SIZE) {
@@ -58,8 +76,13 @@ class file
         return $return;
     }
 
-    public static function findM5(string $_md5)
-    {
+    /**
+     * Vérifie si un fichier existe dans la base de données à partir de son hash MD5.
+     *
+     * @param string $_md5 Hash MD5 du fichier.
+     * @return bool Retourne TRUE si le fichier existe, FALSE sinon.
+     */
+    public static function findM5(string $_md5){
         db::query("SELECT "
             . "IF(" . DB_T_FILES . ".name IS NOT NULL, TRUE, FALSE) AS exist "
             . "FROM " . DB_T_FILES . " "
@@ -69,8 +92,14 @@ class file
         return ($return == TRUE) ? TRUE : FALSE;
     }
 
-    public static function delete(string $_id = NULL, string $_folderFiles = DIR_DATAS_FILES)
-    {
+    /**
+     * Supprime un fichier du système de fichiers et de la base de données.
+     *
+     * @param string|null $_id Identifiant du fichier à supprimer.
+     * @param string $_folderFiles Chemin du répertoire contenant le fichier (par défaut DIR_DATAS_FILES).
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function delete(string $_id = NULL, string $_folderFiles = DIR_DATAS_FILES){
         if (isset($_id) and $_id != NULL and file_exists($_folderFiles . $_id)) {
             if (unlink($_folderFiles . $_id)) {
                 db::query("DELETE FROM " . DB_T_FILES . " WHERE id = :id");
@@ -92,8 +121,14 @@ class file
         }
     }
 
-    public static function download(string $_id, string $_folderFiles = DIR_DATAS_FILES)
-    {
+    /**
+     * Télécharge un fichier à partir de son identifiant.
+     *
+     * @param string $_id Identifiant du fichier à télécharger.
+     * @param string $_folderFiles Chemin du répertoire contenant le fichier (par défaut DIR_DATAS_FILES).
+     * @return string|false Retourne le chemin du fichier ou FALSE si le fichier n'existe pas.
+     */
+    public static function download(string $_id, string $_folderFiles = DIR_DATAS_FILES){
         if (file_exists($_folderFiles . $_id)) {
             return $_folderFiles . $_id;
         } else {
@@ -101,8 +136,14 @@ class file
         }
     }
 
-    public static function cleanFilesByOrder(string $_path, int $_nbFiles = 5)
-    {
+    /**
+     * Nettoie un répertoire en supprimant les fichiers au-delà d'un certain nombre.
+     *
+     * @param string $_path Chemin du répertoire à nettoyer.
+     * @param int $_nbFiles Nombre maximum de fichiers à conserver (par défaut 5).
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function cleanFilesByOrder(string $_path, int $_nbFiles = 5){
         $return = TRUE;
         $cpt = 0;
         $files = array();
@@ -131,8 +172,13 @@ class file
         return $return;
     }
 
-    public static function cleanAllFiles(string $_path)
-    {
+    /**
+     * Supprime tous les fichiers d'un répertoire.
+     *
+     * @param string $_path Chemin du répertoire à nettoyer.
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function cleanAllFiles(string $_path){
         $return = TRUE;
         $dir = new DirectoryIterator($_path);
         $blackList = array(
@@ -150,8 +196,14 @@ class file
         return $return;
     }
 
-    public static function cleanFilesByTime(string $_path, int $_limitTime = 24 * 3600) // 24*3600 pour une journée
-    {
+    /**
+     * Supprime les fichiers d'un répertoire en fonction de leur ancienneté.
+     *
+     * @param string $_path Chemin du répertoire à nettoyer.
+     * @param int $_limitTime Temps limite en secondes (par défaut 24 heures).
+     * @return void
+     */
+    public static function cleanFilesByTime(string $_path, int $_limitTime = 24 * 3600){
         if ($handle = opendir($_path)) {
             while (false !== ($file = readdir($handle))) {
                 $filelastmodified = filemtime($_path . $file);
@@ -163,8 +215,14 @@ class file
         }
     }
 
-    public static function copyFolder(string $_folder, string $_target)
-    {
+    /**
+     * Copie un répertoire et son contenu vers un autre emplacement.
+     *
+     * @param string $_folder Chemin du répertoire source.
+     * @param string $_target Chemin du répertoire cible.
+     * @return void
+     */
+    public static function copyFolder(string $_folder, string $_target){
         if ($dir = opendir($_folder)) {
             mkdir($_target);
             while (($file = readdir($dir))) {
@@ -180,8 +238,13 @@ class file
         }
     }
 
-    public static function deleteFolder(string $_dir)
-    {
+    /**
+     * Supprime un répertoire et son contenu.
+     *
+     * @param string $_dir Chemin du répertoire à supprimer.
+     * @return bool Retourne TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function deleteFolder(string $_dir){
         if (is_dir($_dir)) {
             $command = "rm -r " . $_dir;
             try {
@@ -194,8 +257,14 @@ class file
     }
 
 
-    public static function zip(string $_dir, string $_name)
-    {
+    /**
+     * Crée une archive ZIP à partir d'un répertoire.
+     *
+     * @param string $_dir Chemin du répertoire à compresser.
+     * @param string $_name Nom de l'archive ZIP.
+     * @return string Retourne le nom de l'archive ZIP créée.
+     */
+    public static function zip(string $_dir, string $_name){
         $zip = new ZipArchive();
         $zip_name = $_name . ".zip";
         $zip->open($zip_name, ZipArchive::CREATE);
@@ -211,8 +280,14 @@ class file
         return $zip_name;
     }
 
-    public static function unzip(string $_zip, string $_target)
-    {
+    /**
+     * Décompresse une archive ZIP dans un répertoire cible.
+     *
+     * @param string $_zip Chemin de l'archive ZIP.
+     * @param string $_target Chemin du répertoire cible.
+     * @return string|false Retourne le nom du répertoire décompressé ou FALSE en cas d'échec.
+     */
+    public static function unzip(string $_zip, string $_target){
         if (is_file($_zip)) {
             $zipInfo = pathinfo($_zip);
             if ($zipInfo["extension"] == "zip") {
@@ -228,8 +303,13 @@ class file
         return FALSE;
     }
 
-    public static function sizeFolder(string $_rep)
-    {
+    /**
+     * Calcule la taille totale d'un répertoire.
+     *
+     * @param string $_rep Chemin du répertoire.
+     * @return int Retourne la taille totale du répertoire en octets.
+     */
+    public static function sizeFolder(string $_rep){
         $Racine = opendir($_rep);
         $Taille = 0;
         while ($Dossier = readdir($Racine)) {

+ 77 - 0
core/class/get.class.php

@@ -1,7 +1,18 @@
 <?php
 
+/**
+ * Classe get
+ * 
+ * Cette classe gère les opérations liées à la récupération de données,
+ * y compris les pages, les soumissions, les fichiers JSON, et les données Excel.
+ */
 class get
 {
+    /**
+     * Détermine l'environnement actuel (CMS ou événements).
+     *
+     * @return string Retourne le préfixe de l'environnement ("cms." ou "events.").
+     */
     public static function environnement()
     {
         if(!isset($_SERVER['HTTP_HOST'])){
@@ -13,14 +24,32 @@ class get
         }
     }
 
+    /**
+     * Récupère la page par défaut en fonction du type d'utilisateur.
+     *
+     * @return string Retourne le nom de la page par défaut.
+     */
     public static function getDefautPage(){
         return HOME_TYPE_USER[session::getType()]["home"];
     }
     
+    /**
+     * Vérifie si un menu est défini comme menu par défaut.
+     *
+     * @param array $_menu Tableau des menus disponibles.
+     * @return bool Retourne TRUE si le menu est par défaut, FALSE sinon.
+     */
     public static function isDefautMenu(array $_menu){
         return (core::ifGet("p") == FALSE AND in_array(self::getDefautPage(), $_menu)) ? TRUE : FALSE;
     }
 
+    /**
+     * Charge une page spécifique avec des variables optionnelles.
+     *
+     * @param string|null $_page Nom de la page à charger (facultatif).
+     * @param array $vars Variables à extraire pour la page.
+     * @return void
+     */
     public static function page(?string $_page = NULL, array $vars = [])
     {
         if (isset($_page)) {
@@ -45,6 +74,11 @@ class get
     }
 
 
+    /**
+     * Traite une soumission de formulaire ou de requête.
+     *
+     * @return void
+     */
     public static function submit()
     {
 
@@ -69,12 +103,23 @@ class get
         }
     }
 
+    /**
+     * Inclut un fichier JavaScript spécifique à l'environnement.
+     *
+     * @param string $_string Nom du fichier JavaScript.
+     * @return void
+     */
     public static function javascript(string $_string){
         if (file_exists(DIR_PHP_JAVASCRIPT . self::environnement() . $_string . '.php')) {
             include DIR_PHP_JAVASCRIPT . self::environnement() . $_string . '.php';
         }
     }
 
+    /**
+     * Charge un fichier JSON spécifique.
+     *
+     * @return void
+     */
     public static function json()
     {
         if (core::ifGet("file")) {
@@ -100,6 +145,11 @@ class get
         }
     }
 
+    /**
+     * Charge un fichier JSONData spécifique.
+     *
+     * @return void
+     */
     public static function jsonData()
     {
         if (core::ifGet("jsonData")) {
@@ -117,6 +167,11 @@ class get
         }
     }
 
+    /**
+     * Récupère la dernière date des données Excel.
+     *
+     * @return string|null Retourne la date des données ou NULL si aucune donnée n'est trouvée.
+     */
     public static function jsonDateDataExcel()
     {
 
@@ -125,6 +180,11 @@ class get
         return (isset($data["dateData"])) ? $data["dateData"] : NULL;
     }
 
+    /**
+     * Récupère la dernière date des données Excel Proweb.
+     *
+     * @return string|null Retourne la date des données ou NULL si aucune donnée n'est trouvée.
+     */
     public static function jsonDateDataExcelProweb()
     {
         db::query("SELECT dateData FROM " . DB_T_EXCEL_PROWEB . " ORDER BY id DESC LIMIT 0, 1");
@@ -132,6 +192,11 @@ class get
         return (isset($data["dateData"])) ? $data["dateData"] : NULL;
     }
 
+    /**
+     * Récupère la dernière date des données Excel Proweb Dossiers.
+     *
+     * @return string|null Retourne la date des données ou NULL si aucune donnée n'est trouvée.
+     */
     public static function jsonDateDataExcelProwebDossiers()
     {
         db::query("SELECT dateData FROM " . DB_T_EXCEL_PROWEB_DOSSIERS . " ORDER BY id DESC LIMIT 0, 1");
@@ -139,6 +204,12 @@ class get
         return (isset($data["dateData"])) ? $data["dateData"] : NULL;
     }
 
+    /**
+     * Sépare une chaîne de caractères en identifiant de page et identifiant numérique.
+     *
+     * @param string|null $_page Chaîne à analyser.
+     * @return array Retourne un tableau contenant la page et l'identifiant.
+     */
     public static function splitIdPage($_page = NULL)
     {
         $return = array(
@@ -159,6 +230,12 @@ class get
         return $return;
     }
 
+    /**
+     * Vérifie si une page est la page active.
+     *
+     * @param string|null $_page Nom de la page à vérifier.
+     * @return string Retourne " active" si la page est active, sinon une chaîne vide.
+     */
     public static function currentPage($_page = NULL)
     {
         if($_page != NULL){

+ 49 - 1
core/class/git.class.php

@@ -1,7 +1,19 @@
 <?php 
 
+/**
+ * Classe git
+ * 
+ * Cette classe fournit des méthodes pour interagir avec Git, telles que la récupération
+ * des informations de commit, de branche et l'affichage des versions.
+ */
 class git
-{   
+{
+    /**
+     * Vérifie si une chaîne contient une erreur Git.
+     *
+     * @param string|null $_string Chaîne à vérifier (facultatif).
+     * @return bool Retourne TRUE si aucune erreur n'est détectée, FALSE sinon.
+     */
     public static function checkError(?string $_string = NULL){
         $return = NULL;
         if($_string != NULL){
@@ -17,6 +29,12 @@ class git
         }
     }
 
+    /**
+     * Récupère le hash du dernier commit pour une cible donnée.
+     *
+     * @param string|null $_target Cible Git (par défaut HEAD).
+     * @return string Retourne les 10 premiers caractères du hash du commit.
+     */
     public static function getCommitHash($_target = NULL){
         if($_target == NULL){
             $target = "HEAD";
@@ -26,6 +44,12 @@ class git
         return substr(trim(exec('git log --pretty="%H" -n1 ' . $target)), 0, 10);
     }
 
+    /**
+     * Récupère la date du dernier commit pour une cible donnée.
+     *
+     * @param string|null $_target Cible Git (par défaut HEAD).
+     * @return string Retourne la date du commit formatée (d/m/Y à H:i:s).
+     */
     public static function getCommitDate($_target = NULL){
         if($_target == NULL){
             $target = "HEAD";
@@ -37,6 +61,12 @@ class git
         return $commitDate->format('d/m/Y à H:i:s');
     }
 
+    /**
+     * Récupère l'auteur du dernier commit pour une cible donnée.
+     *
+     * @param string|null $_target Cible Git (par défaut HEAD).
+     * @return string Retourne le nom de l'auteur du commit.
+     */
     public static function getCommitAuthor($_target = NULL){
         if($_target == NULL){
             $target = "HEAD";
@@ -46,6 +76,12 @@ class git
         return exec('git log --pretty="%cn" -n1 ' . $target);
     }
 
+    /**
+     * Récupère le message du dernier commit pour une cible donnée.
+     *
+     * @param string|null $_target Cible Git (par défaut HEAD).
+     * @return string Retourne le message du commit.
+     */
     public static function getCommitName($_target = NULL){
         if($_target == NULL){
             $target = "HEAD";
@@ -55,6 +91,12 @@ class git
         return exec('git log --pretty="%s" -n1 ' . $target);
     }
 
+    /**
+     * Récupère le nom de la branche actuelle ou d'une cible donnée.
+     *
+     * @param string|null $_target Cible Git (facultatif).
+     * @return string Retourne le nom de la branche.
+     */
     public static function getBranchName($_target = NULL){
         if($_target == NULL){
             return exec('git rev-parse --abbrev-ref HEAD');
@@ -63,6 +105,12 @@ class git
         }
     }
 
+    /**
+     * Affiche les informations de version pour une cible donnée.
+     *
+     * @param string|null $_target Cible Git (facultatif).
+     * @return void
+     */
     public static function printVersion($_target = NULL){
         echo sprintf(
             '<h6>%s <span class="badge bg-info">%s</span> <span class="badge bg-success">%s</span></h6>

+ 65 - 1
core/class/googleAuthenticator.class.php

@@ -1,9 +1,26 @@
 <?php
-
+/**
+ * Classe googleAuthenticator
+ * 
+ * Cette classe fournit des méthodes pour générer et vérifier des codes de validation
+ * basés sur l'algorithme TOTP (Time-based One-Time Password).
+ */
 class googleAuthenticator
 {
+    /**
+     * Longueur par défaut des codes générés.
+     *
+     * @var int
+     */
     static protected $_codeLength = 6;
 
+    /**
+     * Génère un secret pour l'authentification.
+     *
+     * @param int $secretLength Longueur du secret (entre 16 et 128).
+     * @return string Retourne le secret généré.
+     * @throws Exception Si la longueur du secret est invalide ou si une source aléatoire sécurisée est indisponible.
+     */
     static public function createSecret($secretLength = 16)
     {
         $validChars = self::_getBase32LookupTable();
@@ -33,6 +50,13 @@ class googleAuthenticator
         return $secret;
     }
 
+    /**
+     * Génère un code TOTP basé sur un secret et une tranche de temps.
+     *
+     * @param string $secret Secret utilisé pour générer le code.
+     * @param int|null $timeSlice Tranche de temps (par défaut, tranche actuelle).
+     * @return string Retourne le code généré.
+     */
     static public function getCode($secret, $timeSlice = null)
     {
         if ($timeSlice === null) {
@@ -61,12 +85,28 @@ class googleAuthenticator
         return str_pad($value % $modulo, self::$_codeLength, '0', STR_PAD_LEFT);
     }
 
+    /**
+     * Génère une URL pour configurer Google Authenticator.
+     *
+     * @param string $name Nom du compte ou de l'utilisateur.
+     * @param string $secret Secret associé au compte.
+     * @return string Retourne l'URL générée.
+     */
     static public function getGoogleUrl($name, $secret)
     {
         $urlencoded = 'otpauth://totp/'.$name.'?secret='.$secret;
         return $urlencoded;
     }
 
+    /**
+     * Vérifie si un code TOTP est valide pour un secret donné.
+     *
+     * @param string $secret Secret utilisé pour générer le code.
+     * @param string $code Code à vérifier.
+     * @param int $discrepancy Tolérance en tranches de temps (par défaut 1).
+     * @param int|null $currentTimeSlice Tranche de temps actuelle (facultatif).
+     * @return bool Retourne TRUE si le code est valide, FALSE sinon.
+     */
     static public function verifyCode($secret, $code, $discrepancy = 1, $currentTimeSlice = null)
     {
         if ($currentTimeSlice === null) {
@@ -87,11 +127,23 @@ class googleAuthenticator
         return false;
     }
 
+    /**
+     * Définit la longueur des codes générés.
+     *
+     * @param int $length Longueur des codes.
+     * @return int Retourne la nouvelle longueur définie.
+     */
     static public function setCodeLength($length)
     {
         return self::$_codeLength = $length;
     }
 
+    /**
+     * Décode une chaîne encodée en Base32.
+     *
+     * @param string $secret Chaîne encodée en Base32.
+     * @return string Retourne la chaîne décodée.
+     */
     static protected function _base32Decode($secret)
     {
         if (empty($secret)) {
@@ -132,6 +184,11 @@ class googleAuthenticator
         return $binaryString;
     }
 
+    /**
+     * Retourne la table de correspondance pour l'encodage Base32.
+     *
+     * @return array Retourne un tableau des caractères Base32.
+     */
     static protected function _getBase32LookupTable()
     {
         return array(
@@ -143,6 +200,13 @@ class googleAuthenticator
         );
     }
 
+    /**
+     * Compare deux chaînes de manière sécurisée contre les attaques temporelles.
+     *
+     * @param string $safeString Chaîne sécurisée.
+     * @param string $userString Chaîne utilisateur.
+     * @return bool Retourne TRUE si les chaînes sont identiques, FALSE sinon.
+     */
     static private function timingSafeEquals($safeString, $userString)
     {
         if (function_exists('hash_equals')) {

+ 58 - 1
core/class/historique.class.php

@@ -1,7 +1,18 @@
 <?php
-
+/**
+ * Classe historique
+ * 
+ * Cette classe gère l'enregistrement et la récupération des logs historiques,
+ * y compris les références, les types, les utilisateurs et les pages associées.
+ */
 class historique
 {
+    /**
+     * Enregistre une référence historique dans la base de données.
+     *
+     * @param string $_name Nom de la référence.
+     * @return void
+     */
     public static function recRef(string $_name) {
         db::query("INSERT IGNORE INTO " . DB_T_HISTORIQUE_REF . " (name) VALUES (:name)");
         db::bind(':name', $_name);
@@ -12,12 +23,23 @@ class historique
         }
     }
 
+    /**
+     * Récupère l'identifiant d'une référence historique par son nom.
+     *
+     * @param string $_name Nom de la référence.
+     * @return int Identifiant de la référence.
+     */
     public static function getIdRef(string $_name) {
         db::query("SELECT id FROM " . DB_T_HISTORIQUE_REF . " WHERE name = :name");
         db::bind(':name', $_name);
         return db::single()["id"];
     }
 
+    /**
+     * Récupère tous les logs historiques.
+     *
+     * @return array Retourne un tableau des logs historiques.
+     */
     public static function getAll() {
         db::query("SELECT "
                 . "" . DB_T_HISTORIQUE . ".id, "
@@ -36,6 +58,12 @@ class historique
         return db::resultset();
     }
 
+    /**
+     * Récupère les logs historiques associés à une page spécifique.
+     *
+     * @param string $_idPage Identifiant de la page.
+     * @return array Retourne un tableau des logs pour la page.
+     */
     public static function getByPage(string $_idPage) {
         db::query("SELECT "
                 . "" . DB_T_HISTORIQUE . ".id, "
@@ -56,6 +84,12 @@ class historique
         return db::resultset();
     }
 
+    /**
+     * Récupère les logs historiques associés à un utilisateur spécifique.
+     *
+     * @param int $_idUser Identifiant de l'utilisateur.
+     * @return array Retourne un tableau des logs pour l'utilisateur.
+     */
     public static function getByUser(int $_idUser) {
         db::query("SELECT "
                 . "" . DB_T_HISTORIQUE . ".id, "
@@ -71,6 +105,12 @@ class historique
         return db::resultset();
     }
 
+    /**
+     * Récupère les logs historiques associés à un type spécifique.
+     *
+     * @param string $_type Type de log.
+     * @return array Retourne un tableau des logs pour le type.
+     */
     public static function getByType(string $_type) {
         db::query("SELECT "
                 . "" . DB_T_HISTORIQUE . ".id, "
@@ -91,6 +131,11 @@ class historique
         return db::resultset();
     } 
 
+    /**
+     * Enregistre les logs d'alertes dans l'historique si activé.
+     *
+     * @return void
+     */
     public static function recordLogs(){
         if(session::isConnect() AND (alert::getSuccess() OR alert::getWarning() OR alert::getError())){
             if(alert::getSuccess() AND core::getConfig("LOG_SUCCESS") == 1){
@@ -105,6 +150,12 @@ class historique
         }
     }
 
+    /**
+     * Enregistre une alerte spécifique dans l'historique.
+     *
+     * @param string $_type Type de l'alerte (SUCCESS, WARNING, ERROR).
+     * @return void
+     */
     public static function recordAlert(string $_type){
         $log = NULL;
         switch ($_type) {
@@ -137,6 +188,12 @@ class historique
         }
     }
 
+    /**
+     * Ajoute un log dans l'historique.
+     *
+     * @param array $_input Tableau contenant les informations du log (idType, idUser, idPage, log).
+     * @return void
+     */
     public static function add(array $_input){
         db::query("INSERT INTO " . DB_T_HISTORIQUE . " (idType, idUser, idPage, log) VALUES (:idType, :idUser, :idPage, :log)");
         db::bind(':idType', $_input["idType"]);

+ 21 - 21
core/class/html.class.php

@@ -1,14 +1,19 @@
 <?php
 
+/**
+ * Classe html
+ * 
+ * Cette classe fournit des méthodes pour générer et afficher des éléments HTML,
+ * tels que les éléments <select> et <input>.
+ */
 class html {
 
     /**
      * Construit le HTML d'un élément <select>.
      *
-     * @param string $config  Attributs HTML du <select> sous forme de chaîne.
-     * @param array  $options Tableau associatif des options du <select> (clé = valeur de l'option, valeur = label affiché).
-     * @param mixed  $value   Valeur sélectionnée par défaut (facultatif).
-     * 
+     * @param string $_config Attributs HTML du <select> sous forme de chaîne.
+     * @param array $_options Tableau associatif des options du <select> (clé = valeur de l'option, valeur = label affiché).
+     * @param mixed $_value Valeur sélectionnée par défaut (facultatif).
      * @return string Le HTML généré pour l'élément <select>.
      */
     private static function constructSelect(string $_config, array $_options, $_value = null): string {
@@ -24,10 +29,9 @@ class html {
     /**
      * Renvoie le HTML d'un élément <select> sous forme de chaîne.
      *
-     * @param string $config  Attributs HTML du <select> sous forme de chaîne.
-     * @param array  $options Tableau associatif des options du <select> (clé = valeur de l'option, valeur = label affiché).
-     * @param mixed  $value   Valeur sélectionnée par défaut (facultatif).
-     * 
+     * @param string $_config Attributs HTML du <select> sous forme de chaîne.
+     * @param array $_options Tableau associatif des options du <select> (clé = valeur de l'option, valeur = label affiché).
+     * @param mixed $_value Valeur sélectionnée par défaut (facultatif).
      * @return string Le HTML généré pour l'élément <select>.
      */
     public static function getSelect(string $_config, array $_options, $_value = null): string {
@@ -37,10 +41,9 @@ class html {
     /**
      * Affiche directement le HTML d'un élément <select>.
      *
-     * @param string $config  Attributs HTML du <select> sous forme de chaîne.
-     * @param array  $options Tableau associatif des options du <select> (clé = valeur de l'option, valeur = label affiché).
-     * @param mixed  $value   Valeur sélectionnée par défaut (facultatif).
-     * 
+     * @param string $_config Attributs HTML du <select> sous forme de chaîne.
+     * @param array $_options Tableau associatif des options du <select> (clé = valeur de l'option, valeur = label affiché).
+     * @param mixed $_value Valeur sélectionnée par défaut (facultatif).
      * @return void
      */
     public static function printSelect(string $_config, array $_options, $_value = null): void {
@@ -50,9 +53,8 @@ class html {
     /**
      * Construit le HTML d'un élément <input> de type texte.
      *
-     * @param string $config Attributs HTML de l'élément <input> sous forme de chaîne.
-     * @param mixed  $value  Valeur par défaut de l'élément <input> (facultatif).
-     * 
+     * @param string $_config Attributs HTML de l'élément <input> sous forme de chaîne.
+     * @param mixed $_value Valeur par défaut de l'élément <input> (facultatif).
      * @return string Le HTML généré pour l'élément <input>.
      */
     private static function constructInput(string $_config, $_value = null): string {
@@ -64,9 +66,8 @@ class html {
     /**
      * Renvoie le HTML d'un élément <input> de type texte sous forme de chaîne.
      *
-     * @param string $config Attributs HTML de l'élément <input> sous forme de chaîne.
-     * @param mixed  $value  Valeur par défaut de l'élément <input> (facultatif).
-     * 
+     * @param string $_config Attributs HTML de l'élément <input> sous forme de chaîne.
+     * @param mixed $_value Valeur par défaut de l'élément <input> (facultatif).
      * @return string Le HTML généré pour l'élément <input>.
      */
     public static function getInput(string $_config, $_value = null): string {
@@ -76,9 +77,8 @@ class html {
     /**
      * Affiche directement le HTML d'un élément <input> de type texte.
      *
-     * @param string $config Attributs HTML de l'élément <input> sous forme de chaîne.
-     * @param mixed  $value  Valeur par défaut de l'élément <input> (facultatif).
-     * 
+     * @param string $_config Attributs HTML de l'élément <input> sous forme de chaîne.
+     * @param mixed $_value Valeur par défaut de l'élément <input> (facultatif).
      * @return void
      */
     public static function printInput(string $_config, $_value = null): void {

+ 23 - 0
core/class/icon.class.php

@@ -1,7 +1,18 @@
 <?php 
 
+/**
+ * Classe icon
+ * 
+ * Cette classe fournit des méthodes utilitaires pour générer des éléments HTML liés aux icônes.
+ */
 class icon
 {
+    /**
+     * Récupère la classe CSS correspondant à un type d'icône spécifique.
+     *
+     * @param string $_type Le type de l'icône.
+     * @return string La classe CSS correspondant à l'icône.
+     */
     private  static function types(string $_type){
         switch ($_type) {
             // Alertes
@@ -100,6 +111,18 @@ class icon
         }
     }
     
+    /**
+     * Génère le HTML pour une icône avec la configuration spécifiée.
+     *
+     * @param array|null $_config Options de configuration pour l'icône. Clés possibles :
+     *                            - "type" : Le type de l'icône (string).
+     *                            - "icon" : Classe d'icône personnalisée (string).
+     *                            - "class" : Classes CSS supplémentaires (string).
+     *                            - "color" : Couleur de l'icône (string).
+     *                            - "size" : Taille de la police de l'icône (string).
+     *                            - "style" : Styles inline supplémentaires (string).
+     * @return string Le HTML généré pour l'icône.
+     */
     public static function getFont(?array $_config = NULL){
         $tmp = '<i class="';
         if(!empty($_config["type"])){ $tmp .= self::types($_config["type"]) . ' '; }

+ 86 - 6
core/class/json.class.php

@@ -1,12 +1,17 @@
 <?php
-
+/**
+ * Classe json
+ * 
+ * Cette classe étend la classe db et fournit des méthodes pour gérer la création, la suppression et la manipulation de fichiers JSON.
+ */
 class json extends db
 {
-
-    public function __construct()
-    {
-    }
-
+    /**
+     * Crée un fichier JSON en fonction de la cible spécifiée.
+     *
+     * @param string $_target La cible pour laquelle le fichier JSON doit être créé.
+     * @return int|mixed Résultat de la création du fichier JSON.
+     */
     public static function create(string $_target)
     {
         if (isset($_target)) {
@@ -57,6 +62,9 @@ class json extends db
         }
     }
 
+    /**
+     * Crée des fichiers JSON pour toutes les banques disponibles.
+     */
     public static function createBanks()
     {
         foreach (banque::getAll() as $compte) {
@@ -64,6 +72,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les dossiers Proweb.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_dossiersProweb()
     {
         $row = prowebDossiers::all();
@@ -76,6 +89,11 @@ class json extends db
 
 
 
+    /**
+     * Crée un fichier JSON pour les salariés Proweb.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_salariesProweb()
     {
         $row = proweb::getBase();
@@ -86,6 +104,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les salariés.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_salaries()
     {
         $row = salaries::getSalaries();
@@ -96,6 +119,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les données Excel.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_excel()
     {
         db::query("SELECT 
@@ -122,6 +150,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les données Excel Proweb.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_excelProweb()
     {
         db::query("SELECT 
@@ -145,6 +178,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les dossiers Excel Proweb.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_excelProwebDossiers(){
         db::query("SELECT 
         " . DB_T_EXCEL_PROWEB_DOSSIERS . ".id, 
@@ -167,6 +205,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les événements.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_events()
     {
         $row = event::getEvents();
@@ -177,6 +220,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les loteries.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_lotterys()
     {
         $row = lottery::getLotterys();
@@ -187,6 +235,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les utilisateurs.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_users()
     {
         $row = user::getUsers();
@@ -197,6 +250,11 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour l'historique des banques au format CSV.
+     *
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_banque_csv()
     {
         $row = banque::getHistoriqueCSV();
@@ -207,6 +265,12 @@ class json extends db
         }
     }
 
+    /**
+     * Crée un fichier JSON pour les lignes d'une banque spécifique.
+     *
+     * @param int $_id L'identifiant de la banque.
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_banque_lignes(int $_id)
     {
         $row = array(banque::getInitial($_id));
@@ -220,6 +284,11 @@ class json extends db
         }
     }
 
+    /**
+     * Supprime un fichier JSON spécifié.
+     *
+     * @param string $_target Le nom du fichier JSON à supprimer.
+     */
     public static function delete(string $_target)
     {
         if (is_file(DIR_DATAS_JSON . "/" . $_target . ".json")) {
@@ -227,11 +296,22 @@ class json extends db
         }
     }
 
+    /**
+     * Teste l'accès SFTP.
+     *
+     * @return string "OK" si l'accès est réussi, "KO" sinon.
+     */
     public static function testSFTP()
     {
         return (sftp::testAccessHost()) ? "OK" : "KO";
     }
 
+    /**
+     * Crée un fichier JSON pour les documents.
+     *
+     * @param string|null $_limited Indique si seuls les documents limités doivent être inclus.
+     * @return int Succès ou échec de la création du fichier.
+     */
     private static function create_document(?string $_limited = NULL)
     {
         $where = ($_limited == TRUE) ? " WHERE " . DB_T_DOCUMENTS . ".id_type != 3" : NULL;

+ 64 - 11
core/class/jwt.class.php

@@ -1,13 +1,34 @@
 <?php
 
+/**
+ * Classe jwt
+ * 
+ * Cette classe gère la génération, la validation et la manipulation des JSON Web Tokens (JWT).
+ */
 class jwt
 {
+    /**
+     * @var string|null $jwtToken Le jeton JWT actuellement utilisé.
+     */
     private static $jwtToken;
-    private static $jwtSecret = JWT_PRIVATE_KEY; // Clé secrète pour signer les tokens
-    private static $jwtAlgorithm = "HS256"; // Algorithme utilisé pour signer le JWT (HS256)
-    
+
     /**
-     * Initialiser les configurations pour l'authentification
+     * @var string $jwtSecret Clé secrète utilisée pour signer les tokens.
+     */
+    private static $jwtSecret = JWT_PRIVATE_KEY;
+
+    /**
+     * @var string $jwtAlgorithm Algorithme utilisé pour signer les JWT (par défaut : HS256).
+     */
+    private static $jwtAlgorithm = "HS256";
+
+    /**
+     * Initialise les configurations pour l'authentification.
+     *
+     * @param string $loginUrl URL de connexion.
+     * @param string $apiBaseUrl URL de base de l'API.
+     * @param string $email Adresse e-mail de l'utilisateur.
+     * @param string $password Mot de passe de l'utilisateur.
      */
     public static function init($loginUrl, $apiBaseUrl, $email, $password)
     {
@@ -15,6 +36,11 @@ class jwt
         self::$jwtToken = null;
     }
 
+    /**
+     * Vérifie si une session JWT est valide.
+     *
+     * @return string JSON indiquant si l'utilisateur est authentifié.
+     */
     public static function checkSession()
     {
         // Vérifie si le JWT existe et n'est pas expiré
@@ -26,7 +52,10 @@ class jwt
     }
 
     /**
-     * Authentifier l'utilisateur et récupérer le JWT
+     * Authentifie l'utilisateur et génère un JWT.
+     *
+     * @param array $_input Données d'entrée pour l'authentification.
+     * @return array|false Données utilisateur avec le token ou FALSE en cas d'échec.
      */
     public static function authenticate(array $_input)
     {
@@ -45,7 +74,13 @@ class jwt
     }
 
     /**
-     * Faire une requête API authentifiée avec le JWT
+     * Effectue une requête API authentifiée avec le JWT.
+     *
+     * @param string $endpoint Point de terminaison de l'API.
+     * @param string $method Méthode HTTP (GET, POST, PUT, DELETE).
+     * @param array $data Données à envoyer dans la requête.
+     * @return array Réponse de l'API.
+     * @throws Exception Si le JWT est invalide ou expiré.
      */
     public static function makeAuthenticatedRequest($endpoint, $method = 'GET', $data = [])
     {
@@ -91,6 +126,12 @@ class jwt
         return json_decode($response, true);
     }
 
+    /**
+     * Rafraîchit un JWT expiré.
+     *
+     * @param string $expiredToken Le token expiré.
+     * @return string|null Nouveau token ou null si échec.
+     */
     public static function refreshToken(string $expiredToken)
     {
         // Décoder le token sans vérifier son expiration
@@ -128,7 +169,7 @@ class jwt
     }
 
     /**
-     * Déconnexion (facultatif) : Révoquer le token
+     * Révoque le JWT actuel (déconnexion).
      */
     public static function logout()
     {
@@ -136,7 +177,10 @@ class jwt
     }
 
     /**
-     * Générer un JWT avec un payload
+     * Génère un JWT avec un payload donné.
+     *
+     * @param array $payload Données à inclure dans le token.
+     * @return string Le JWT généré.
      */
     private static function generateToken($payload)
     {
@@ -157,7 +201,10 @@ class jwt
     }
 
     /**
-     * Valider un JWT
+     * Valide un JWT donné.
+     *
+     * @param string $token Le token à valider.
+     * @return bool TRUE si le token est valide, FALSE sinon.
      */
     public static function validateToken(string $token)
     {
@@ -195,7 +242,10 @@ class jwt
     }
 
     /**
-     * Méthode utilitaire pour Base64 URL encoding
+     * Encode des données en Base64 URL.
+     *
+     * @param string $data Les données à encoder.
+     * @return string Les données encodées.
      */
     private static function base64UrlEncode($data)
     {
@@ -203,7 +253,10 @@ class jwt
     }
 
     /**
-     * Méthode utilitaire pour Base64 URL decoding
+     * Décode des données en Base64 URL.
+     *
+     * @param string $data Les données à décoder.
+     * @return string Les données décodées.
      */
     private static function base64UrlDecode($data)
     {

+ 105 - 1
core/class/lottery.class.php

@@ -1,7 +1,16 @@
 <?php
-
+/**
+ * Classe lottery
+ * 
+ * Cette classe gère les opérations liées aux loteries, telles que la récupération des données, l'inscription, la mise à jour et la suppression.
+ */
 class lottery
 {
+    /**
+     * Récupère les informations des loteries.
+     *
+     * @return array Résultats des loteries.
+     */
     public static function getLotterys()
     {
         db::query("SELECT "
@@ -24,6 +33,12 @@ class lottery
         return db::resultset();
     }
 
+    /**
+     * Récupère les inscriptions pour une loterie donnée.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return array Résultats des inscriptions.
+     */
     public static function getInscription(int $_id){
         db::query("SELECT "
                 . "" . DB_T_LOTTERY_INSCRITS . ".id_lottery, "
@@ -49,6 +64,12 @@ class lottery
         return db::resultset();
     }
 
+    /**
+     * Récupère les gagnants d'une loterie donnée.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return array Résultats des gagnants.
+     */
     public static function getWinners(int $_id){
         db::query("SELECT "
                 . "" . DB_T_LOTTERY_INSCRITS . ".id_salarie, "
@@ -63,6 +84,12 @@ class lottery
         return db::resultset();
     }
 
+    /**
+     * Récupère les informations de clôture d'une loterie.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return array Informations de clôture.
+     */
     public static function getCloture(int $_id){
         db::query("SELECT "
                 . DB_T_LOTTERY . ".sortDate, "
@@ -75,6 +102,13 @@ class lottery
         return db::single();
     }
 
+    /**
+     * Récupère les inscriptions triées pour une loterie donnée.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @param int $_sort Nombre d'inscriptions à trier (0 pour tout).
+     * @return array Résultats triés.
+     */
     public static function getSortInscription(int $_id, int $_sort = 0)
     {
         if($_sort == 0){
@@ -97,6 +131,11 @@ class lottery
         return db::resultset();
     }
 
+    /**
+     * Insère une nouvelle loterie dans la base de données.
+     *
+     * @return bool Succès ou échec de l'insertion.
+     */
     public static function insert()
     {
         db::query("INSERT INTO " . DB_T_LOTTERY . " (md5, titre, description, id_user) VALUES (:md5, :titre, :description, :id_user)");
@@ -114,6 +153,11 @@ class lottery
         }
     }
 
+    /**
+     * Met à jour une loterie existante.
+     *
+     * @return bool Succès ou échec de la mise à jour.
+     */
     public static function update()
     {
         db::query("UPDATE " . DB_T_LOTTERY . " SET "
@@ -137,6 +181,12 @@ class lottery
         }
     }
 
+    /**
+     * Insère une inscription pour une loterie.
+     *
+     * @param array $_lottery Données de l'inscription.
+     * @return bool Succès ou échec de l'insertion.
+     */
     public static function insertInscription(array $_lottery)
     {
         db::query("INSERT INTO " . DB_T_LOTTERY_INSCRITS . " 
@@ -180,6 +230,12 @@ class lottery
         }
     }
 
+    /**
+     * Met à jour une inscription pour une loterie.
+     *
+     * @param array $_lottery Données de l'inscription.
+     * @return bool Succès ou échec de la mise à jour.
+     */
     public static function updateInscription(array $_lottery)
     {
         db::query("UPDATE " . DB_T_LOTTERY_INSCRITS . " "
@@ -208,6 +264,12 @@ class lottery
         }
     }
 
+    /**
+     * Définit un tirage au sort pour une loterie.
+     *
+     * @param int $_idDossier Identifiant du dossier.
+     * @return bool Succès ou échec de l'opération.
+     */
     public static function setSortLottery(int $_idDossier)
     {
         db::query("UPDATE " . DB_T_LOTTERY_INSCRITS . " "
@@ -223,6 +285,12 @@ class lottery
         }
     }
 
+    /**
+     * Supprime une loterie.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return bool Succès ou échec de la suppression.
+     */
     public static function deleteLottery(int $_id)
     {
         db::query("DELETE FROM " . DB_T_LOTTERY . " WHERE id = :id");
@@ -230,6 +298,12 @@ class lottery
         return db::execute();
     }
 
+    /**
+     * Supprime les inscriptions d'une loterie.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return bool Succès ou échec de la suppression.
+     */
     public static function deleteInscriptionLottery(int $_id)
     {
         db::query("DELETE FROM " . DB_T_LOTTERY_INSCRITS . " WHERE id_lottery = :id_lottery");
@@ -237,6 +311,13 @@ class lottery
         return db::execute();
     }
 
+    /**
+     * Définit la date et le nombre de tirages pour une loterie.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @param int $_nb Nombre de tirages.
+     * @return bool Succès ou échec de l'opération.
+     */
     public static function setDateLottery(int $_id, int $_nb)
     {
         db::query("UPDATE " . DB_T_LOTTERY . " "
@@ -256,6 +337,12 @@ class lottery
         }
     }
 
+    /**
+     * Récupère les données d'inscription pour une loterie.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return array Données d'inscription.
+     */
     public static function getInscriptionData(int $_id)
     {
         db::query("SELECT "
@@ -268,6 +355,12 @@ class lottery
         return db::single();
     }
 
+    /**
+     * Récupère les informations d'une loterie spécifique.
+     *
+     * @param int $_id Identifiant de la loterie.
+     * @return array Informations de la loterie.
+     */
     public static function getFiche(int $_id)
     {
         db::query("SELECT * FROM " . DB_T_LOTTERY . " WHERE id = :id");
@@ -275,12 +368,23 @@ class lottery
         return db::single();
     }
 
+    /**
+     * Récupère l'identifiant de la dernière loterie.
+     *
+     * @return int Identifiant de la dernière loterie.
+     */
     public static function lastLottery()
     {
         db::query("SELECT MAX(id) AS id FROM " . DB_T_LOTTERY);
         return db::single()["id"];
     }
 
+    /**
+     * Recherche une loterie par dossier.
+     *
+     * @param int $_id Identifiant du dossier.
+     * @return int|null Identifiant de la loterie ou NULL si non trouvé.
+     */
     public static function searchDossier(int $_id)
     {
         db::query("SELECT id_lottery FROM " . DB_T_LOTTERY_INSCRITS. " WHERE id_dossier = :id_dossier");

+ 74 - 27
core/class/maj.class.php

@@ -1,16 +1,44 @@
 <?php
-
-class maj {
-
+/**
+ * Classe maj
+ * 
+ * Cette classe gère les mises à jour du système, y compris les opérations SQL, les sauvegardes, et les interactions avec Git.
+ */
+class maj
+{
+    /**
+     * @var string Couleur grise pour les lignes de log.
+     */
     private static $colorLineGrey = "#6c757d";
+
+    /**
+     * @var string Couleur rouge pour les lignes de log.
+     */
     private static $colorLineRed = "red";
+
+    /**
+     * @var string Couleur orange pour les lignes de log.
+     */
     private static $colorLineOrange = "orange";
 
-    public static function readFileSQL(){
+    /**
+     * Lit le contenu du fichier SQL de mise à jour.
+     *
+     * @return string Contenu du fichier SQL.
+     */
+    public static function readFileSQL()
+    {
         return file_get_contents(DIR_MAJ . "sql/maj.sql");
     }
-    
-    public static function query(?string $query = NULL){
+
+    /**
+     * Exécute une requête SQL donnée.
+     *
+     * @param string|null $query La requête SQL à exécuter.
+     * @return bool TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function query(?string $query = NULL)
+    {
         if($query != NULL){
             db::query($query);
             try {
@@ -23,15 +51,28 @@ class maj {
         }
     }
 
-    public static function compareHash(){
+    /**
+     * Compare les hash Git pour vérifier si une mise à jour est nécessaire.
+     *
+     * @return bool TRUE si les hash correspondent, FALSE sinon.
+     */
+    public static function compareHash()
+    {
         if(git::getCommitHash() == git::getCommitHash(MAJ_TARGET)){
             return TRUE;
         } else {
             return FALSE;
         }
     }
-    
-    public static function print(string $_string, ?string $_color = NULL){
+
+    /**
+     * Affiche un message avec une couleur optionnelle.
+     *
+     * @param string $_string Le message à afficher.
+     * @param string|null $_color La couleur du message.
+     */
+    public static function print(string $_string, ?string $_color = NULL)
+    {
         if($_color == NULL){
             echo "<div>" . $_string . "</div>";
         } else {
@@ -39,11 +80,19 @@ class maj {
         }
     }
 
-    public static function printSeparateur(){
+    /**
+     * Affiche un séparateur dans les logs.
+     */
+    public static function printSeparateur()
+    {
         self::print("**********************");
     }
 
-    public static function start(){
+    /**
+     * Lance le processus de mise à jour.
+     */
+    public static function start()
+    {
 
         self::printSeparateur();
         self::print(">> Démarrage de la mise à jour de " . DOMAIN_CMS, self::$colorLineGrey);
@@ -130,20 +179,6 @@ class maj {
                 $sqlReturn = TRUE;
                 self::print("Le fichier maj.sql a déjà été exécuté et a été ignoré.", self::$colorLineOrange);
             }
-
-            self::printSeparateur();
-            self::print(">> Réinitialisation des JSON", self::$colorLineGrey);
-            json::create("salaries");
-            json::create("excel");
-            json::create("excel-proweb");
-            json::create("events");
-            json::create("users");
-            json::create("salaries-proweb");
-            json::create("lotterys");
-            json::createBanks();
-            json::create("banque-csv");
-            json::create("documents");
-            json::create("documents-limited");
         }
 
         self::printSeparateur();
@@ -171,7 +206,13 @@ class maj {
         }
     }
 
-    public static function bashMaj(){
+    /**
+     * Exécute le script Bash pour la mise à jour.
+     *
+     * @return bool TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function bashMaj()
+    {
         $output = NULL;
         $retval = NULL;
         $bash = DIR_MAJ . MAJ . ".sh";
@@ -205,7 +246,13 @@ class maj {
         }
     }
 
-    public static function bashFetch(){
+    /**
+     * Exécute le script Bash pour récupérer l'origine Git.
+     *
+     * @return bool TRUE en cas de succès, FALSE en cas d'échec.
+     */
+    public static function bashFetch()
+    {
         $output = NULL;
         $retval = NULL;
         $bash = DIR_MAJ . "get-origin.sh";

+ 15 - 0
core/class/myQrcode.class.php

@@ -1,12 +1,27 @@
 <?php
 
+/**
+ * Classe myQrcode
+ * 
+ * Cette classe fournit des méthodes pour générer et afficher des QR codes.
+ */
 class myQrcode {
     
+    /**
+     * Affiche un QR code pour un lien donné.
+     *
+     * @param string $_lien Le lien à encoder dans le QR code.
+     */
     public static function show(string $_lien){
         include_once(DIR_PHP_LIBS . "phpqrcode/qrlib.php");
         QRcode::png($_lien, NULL ,QR_ECLEVEL_L, 10);
     }
 
+    /**
+     * Affiche un QR code sous forme d'image HTML.
+     *
+     * @param string $_data Les données à encoder dans le QR code.
+     */
     public static function printQRCode(string $_data){
         echo '<img src="./qrcode.php?q='.base64_encode($_data).'" />';
     }

+ 29 - 1
core/class/printPaper.class.php

@@ -1,7 +1,17 @@
 <?php
-
+/**
+ * Classe printPaper
+ * 
+ * Cette classe gère l'affichage et l'impression de documents, notamment les QR codes pour les événements.
+ */
 class printPaper
 {
+    /**
+     * Gère l'affichage en fonction de la page et de l'identifiant donnés.
+     *
+     * @param string $_page La page à afficher.
+     * @param int $_id L'identifiant associé à la page.
+     */
     public static function switch(string $_page, int $_id){
         switch ($_page) {
             case 'qrcode-event':
@@ -14,10 +24,23 @@ class printPaper
         }
     }
     
+    /**
+     * Recherche un élément spécifique dans une page.
+     *
+     * @param string $_element L'élément à rechercher.
+     * @return string Le modèle de l'élément recherché.
+     */
     private static function searchElementPage(string $_element){
         return "{{" . $_element . "}}";
     }
     
+    /**
+     * Affiche une page avec des éléments remplacés par des valeurs données.
+     *
+     * @param string $_page Le nom de la page à afficher.
+     * @param array $_search Les éléments à rechercher dans la page.
+     * @param array $_replace Les valeurs de remplacement pour les éléments.
+     */
     private static function show(string $_page, array $_search, array $_replace){
         $template = DIR_PRINT . "cms." . $_page . ".html";
         if(file_exists($template)){
@@ -30,6 +53,11 @@ class printPaper
         
     }
     
+    /**
+     * Affiche un QR code pour l'émargement d'un événement donné.
+     *
+     * @param int $_idEvent L'identifiant de l'événement.
+     */
     private static function qrcodeEmargement(int $_idEvent){
         $event = event::getFiche($_idEvent);