From 8ccfa2f3ce0e5f7b49163fa2c930d2f345b20eeb Mon Sep 17 00:00:00 2001 From: Matthieu Marcillaud <marcimat@rezo.net> Date: Tue, 19 Feb 2013 13:14:29 +0000 Subject: [PATCH] Quelques phpDoc --- ecrire/inc/chercher_logo.php | 38 ++++++- ecrire/inc/filtres.php | 32 +++++- ecrire/public/compiler.php | 24 +++-- ecrire/public/composer.php | 81 +++++++++++++-- ecrire/public/criteres.php | 3 + ecrire/public/interfaces.php | 5 + ecrire/public/references.php | 188 +++++++++++++++++++++++++++-------- 7 files changed, 304 insertions(+), 67 deletions(-) diff --git a/ecrire/inc/chercher_logo.php b/ecrire/inc/chercher_logo.php index 9498bc84f0..4ed3636bad 100644 --- a/ecrire/inc/chercher_logo.php +++ b/ecrire/inc/chercher_logo.php @@ -10,9 +10,30 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ +/** + * Recherche de logo + * + * @package SPIP\Core\Logos +**/ if (!defined('_ECRIRE_INC_VERSION')) return; -// http://doc.spip.org/@inc_chercher_logo_dist +/** + * Cherche le logo d'un élément d'objet + * + * @global formats_logos Extensions possibles des logos + * @uses type_du_logo() + * + * @param int $id + * Identifiant de l'objet + * @param string $_id_objet + * Nom de la clé primaire de l'objet + * @param string $mode + * Mode de survol du logo désiré (on ou off) + * @return array + * + * - Liste (chemin du fichier, répertoire de logos, extension du logo, date de modification) + * - array vide aucun logo trouvé. +**/ function inc_chercher_logo_dist($id, $_id_objet, $mode='on') { global $formats_logos; # attention au cas $id = '0' pour LOGO_SITE_SPIP : utiliser intval() @@ -29,7 +50,20 @@ function inc_chercher_logo_dist($id, $_id_objet, $mode='on') { return array(); } -// http://doc.spip.org/@type_du_logo +/** + * Retourne le type de logo tel que `art` depuis le nom de clé primaire + * de l'objet + * + * C'est par défaut le type d'objet, mais il existe des exceptions historiques + * déclarées par la globale `$table_logos` + * + * @global table_logos Exceptions des types de logo + * + * @param string $_id_objet + * Nom de la clé primaire de l'objet + * @return string + * Type du logo +**/ function type_du_logo($_id_objet) { return isset($GLOBALS['table_logos'][$_id_objet]) ? $GLOBALS['table_logos'][$_id_objet] diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php index 199d1ea647..a1481c2cd3 100644 --- a/ecrire/inc/filtres.php +++ b/ecrire/inc/filtres.php @@ -28,23 +28,47 @@ include_spip('public/parametrer'); // charger les fichiers fonctions * - on inclue tous les fichiers fonctions des plugins et du skel * - on appelle chercher_filtre * - * @param string $fonc - * @param string $default - * @return string + * Pour éviter de perdre le texte si le filtre demandé est introuvable, + * on transmet `filtre_identite_dist` en filtre par défaut. + * + * @uses filtre_identite_dist() Comme fonction par défaut + * + * @param string $fonc Nom du filtre + * @param string $default Filtre par défaut + * @return string Fonction PHP correspondante du filtre */ function charger_filtre($fonc, $default='filtre_identite_dist') { include_spip('public/parametrer'); // inclure les fichiers fonctions return chercher_filtre($fonc, $default); } +/** + * Retourne le texte tel quel + * + * @param string $texte Texte + * @return string Texte +**/ function filtre_identite_dist($texte){return $texte;} /** - * http://doc.spip.org/@chercher_filtre + * Cherche un filtre + * + * Pour une filtre `F` retourne la première fonction trouvée parmis : * + * - filtre_F + * - filtre_F_dist + * - F + * + * Peut gérer des appels par des fonctions statiques de classes tel que `Foo::Bar` + * + * En absence de fonction trouvée, retourne la fonction par défaut indiquée. + * * @param string $fonc + * Nom du filtre * @param null $default + * Nom du filtre appliqué par défaut si celui demandé n'est pas trouvé * @return string + * Fonction PHP correspondante du filtre demandé */ function chercher_filtre($fonc, $default=NULL) { if (!$fonc) return $default; diff --git a/ecrire/public/compiler.php b/ecrire/public/compiler.php index d2f93a438a..21c17c8ef5 100644 --- a/ecrire/public/compiler.php +++ b/ecrire/public/compiler.php @@ -371,14 +371,15 @@ function calculer_boucle_rec($id_boucle, &$boucles, $trace) { * Compilation d'une boucle non recursive. * * La constante donne le cadre systématique du code: - * %s1: initialisation des arguments de calculer_select - * %s2: appel de calculer_select en donnant un contexte pour les cas d'erreur - * %s3: initialisation du sous-tableau Numrows[id_boucle] - * %s4: sauvegarde de la langue et calcul des invariants de boucle sur elle - * %s5: boucle while sql_fetch ou str_repeat si corps monotone - * %s6: restauration de la langue - * %s7: liberation de la ressource, en tenant compte du serveur SQL - * %s8: code de trace eventuel avant le retour + * + * - %s1: initialisation des arguments de calculer_select + * - %s2: appel de calculer_select en donnant un contexte pour les cas d'erreur + * - %s3: initialisation du sous-tableau Numrows[id_boucle] + * - %s4: sauvegarde de la langue et calcul des invariants de boucle sur elle + * - %s5: boucle while sql_fetch ou str_repeat si corps monotone + * - %s6: restauration de la langue + * - %s7: liberation de la ressource, en tenant compte du serveur SQL + * - %s8: code de trace eventuel avant le retour **/ define('CODE_CORPS_BOUCLE', '%s $t0 = ""; @@ -562,12 +563,12 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) { * Calcule le code PHP d'une boucle contenant les informations qui produiront une requête SQL * * Le code produit est un tableau associatif $command contenant les informations - * pour que la boucle produise ensuite sa requête, tel que $command['from'] = 'spip_articles'; + * pour que la boucle produise ensuite sa requête, tel que `$command['from'] = 'spip_articles';` * * @param Boucle $boucle - * AST de la boucle + * AST de la boucle * @return string - * Code PHP compilé définissant les informations de requête + * Code PHP compilé définissant les informations de requête **/ function calculer_requete_sql($boucle) { @@ -673,6 +674,7 @@ function reconstruire_contexte_compil($context_compil) * @param string $val * Code PHP décrivant la valeur à affecter * @return array + * * - index 0 : Code pour une affectation statique. Si non rempli, la propriété devra * être ré-affectée à chaque appel de la boucle. * - index 1 : Code de l'affectation diff --git a/ecrire/public/composer.php b/ecrire/public/composer.php index 7a55052121..64d5abf5cb 100644 --- a/ecrire/public/composer.php +++ b/ecrire/public/composer.php @@ -242,7 +242,7 @@ function analyse_resultat_skel($nom, $cache, $corps, $source='') { * L'introduction est prise dans le descriptif s'il est renseigné, * sinon elle est calculée depuis le texte : à ce moment là , * l'introduction est prise dans le contenu entre les balises - * <intro> et </intro> si présentes, sinon en coupant le + * `<intro>` et `</intro>` si présentes, sinon en coupant le * texte à la taille indiquée. * * Cette fonction est utilisée par la balise #INTRODUCTION @@ -318,9 +318,7 @@ function filtre_introduction_dist($descriptif, $texte, $longueur, $connect) { // Balises dynamiques // -// elles sont traitees comme des inclusions -// http://doc.spip.org/@synthetiser_balise_dynamique - +/** Code PHP pour inclure une balise dynamique à l'exécution d'une page */ define('CODE_INCLURE_BALISE', '<' . '?php include_once("./" . _DIR_RACINE . "%s"); if ($lang_select = "%s") $lang_select = lang_select($lang_select); @@ -329,7 +327,23 @@ if ($lang_select) lang_select(); ?' .'>'); - +/** + * Synthétise une balise dynamique : crée l'appel à l'inclusion + * en transmettant les arguments calculés et le contexte de compilation. + * + * @uses argumenter_squelette() Pour calculer les arguments de l'inclusion + * + * @param string $nom + * Nom de la balise dynamique + * @param array $args + * Liste des arguments calculés + * @param string $file + * Chemin du fichier de squelette à inclure + * @param array $context_compil + * Tableau d'informations sur la compilation + * @return string + * Code PHP pour inclure le squelette de la balise dynamique +**/ function synthetiser_balise_dynamique($nom, $args, $file, $context_compil) { $r = sprintf(CODE_INCLURE_BALISE, $file, @@ -340,7 +354,19 @@ function synthetiser_balise_dynamique($nom, $args, $file, $context_compil) { return $r; } -// http://doc.spip.org/@argumenter_squelette +/** + * Crée le code PHP pour transmettre des arguments (généralement pour une inclusion) + * + * @param array|string $v + * Arguments à transmettre : + * + * - string : un simple texte à faire écrire + * - array : couples ('nom' => 'valeur') liste des arguments et leur valeur + * @return string + * + * - Code PHP créant le tableau des arguments à transmettre, + * - ou texte entre quote `'` (si `$v` était une chaîne) +**/ function argumenter_squelette($v) { if (!is_array($v)) @@ -353,8 +379,33 @@ function argumenter_squelette($v) { } } -// verifier leurs arguments et filtres, et calculer le code a inclure -// http://doc.spip.org/@executer_balise_dynamique + +/** + * Calcule et retourne le code PHP retourné par l'exécution d'une balise + * dynamique. + * + * Vérifier les arguments et filtres et calcule le code PHP à inclure. + * + * - charge le fichier PHP de la balise dynamique dans le répertoire + * `balise/`, soit du nom complet de la balise, soit d'un nom générique + * (comme 'formulaire_.php'). Dans ce dernier cas, le nom de la balise + * est ajouté en premier argument. + * - appelle une éventuelle fonction de traitement des arguments `balise_NOM_stat()` + * - crée le code PHP de la balise si une fonction `balise_NOM_dyn()` (ou variantes) + * est effectivement trouvée. + * + * @uses synthetiser_balise_dynamique() + * Pour calculer le code PHP d'inclusion produit + * + * @param string $nom + * Nom de la balise dynamique + * @param array $args + * Liste des arguments calculés de la balise + * @param array $context_compil + * Tableau d'informations sur la compilation + * @return string + * Code PHP d'exécutant l'inclusion du squelette (ou texte) de la balise dynamique +**/ function executer_balise_dynamique($nom, $args, $context_compil) { $p = strpos($nom,"_"); $nomfonction = $nom; @@ -401,7 +452,16 @@ function executer_balise_dynamique($nom, $args, $context_compil) { return synthetiser_balise_dynamique($nomfonction, $r, $file, $context_compil); } -// http://doc.spip.org/@lister_objets_avec_logos +/** + * Retourne pour une clé primaire d'objet donnée les identifiants ayant un logo + * + * @uses type_du_logo() Pour calculer le nom du logo + * + * @param string $type + * Nom de la clé primaire de l'objet + * @return string + * Liste des identifiants ayant un logo (séparés par une virgule) +**/ function lister_objets_avec_logos ($type) { global $formats_logos; $logos = array(); @@ -429,7 +489,7 @@ function lister_objets_avec_logos ($type) { * Fonction appelée par la balise `#NOTES` * * @see balise_NOTES_dist() - * @see inc_notes_dist() + * @uses inc_notes_dist() * * @return string * Code HTML des notes @@ -540,6 +600,7 @@ function remplace_sous_requete($w,$sousrequete){ * Description d'une condition WHERE de boucle * @return array * Liste de 2 tableaux : + * * - Conditions simples (ne possédant pas de sous requêtes) * - Conditions avec des sous requêtes **/ diff --git a/ecrire/public/criteres.php b/ecrire/public/criteres.php index b6570b208f..518fda660b 100644 --- a/ecrire/public/criteres.php +++ b/ecrire/public/criteres.php @@ -496,6 +496,9 @@ function critere_branche_dist($idb, &$boucles, $crit){ * Compile le critère {logo} * * Liste les objets qui ont un logo + * + * @uses lister_objets_avec_logos() + * Pour obtenir les éléments qui ont un logo * * @param string $idb Identifiant de la boucle * @param array $boucles AST du squelette diff --git a/ecrire/public/interfaces.php b/ecrire/public/interfaces.php index 85fa4105fd..74f531fc65 100644 --- a/ecrire/public/interfaces.php +++ b/ecrire/public/interfaces.php @@ -38,6 +38,7 @@ class Contexte { * Sert pour la gestion d'erreur et la production de code dependant du contexte * * Peut contenir les index : + * * - nom : Nom du fichier de cache * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) * - sourcefile : Chemin du squelette @@ -343,6 +344,7 @@ class Boucle { * * Ces 3 valeurs sont des expressions PHP. L'index 0 désigne l'opérateur * à réaliser tel que : + * * - "'='" , "'>='", "'<'", "'IN'", "'REGEXP'", "'LIKE'", ... : * val1 et val2 sont des champs et valeurs à utiliser dans la comparaison * suivant cet ordre : "val1 operateur val2". @@ -426,6 +428,7 @@ class Boucle { * Sert pour la gestion d'erreur et la production de code dependant du contexte * * Peut contenir les index : + * * - nom : Nom du fichier de cache * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) * - sourcefile : Chemin du squelette @@ -543,6 +546,7 @@ class Champ { /** * Arguments et filtres explicites sur la balise + * * - $param[0] contient les arguments de la balise * - $param[1..n] contient les filtres à appliquer à la balise * @var array */ @@ -587,6 +591,7 @@ class Champ { * Sert pour la gestion d'erreur et la production de code dependant du contexte * * Peut contenir les index : + * * - nom : Nom du fichier de cache * - gram : Nom de la grammaire du squelette (détermine le phraseur à utiliser) * - sourcefile : Chemin du squelette diff --git a/ecrire/public/references.php b/ecrire/public/references.php index dab4013a53..473f0853ec 100644 --- a/ecrire/public/references.php +++ b/ecrire/public/references.php @@ -23,16 +23,20 @@ if (!defined('_ECRIRE_INC_VERSION')) return; * Retrouve à quelle boucle appartient une balise, utile dans le cas * où une référence explicite est demandée * - * #MABALISE : l'index est celui de la première boucle englobante - * #_autreboucle:MABALISE : l'index est celui de la boucle _autreboucle si elle est bien englobante - * - * Dans une balise dynamique ou calculée : - * $idb = index_boucle($p); + * - `#MABALISE` : l'index est celui de la première boucle englobante + * - `#_autreboucle:MABALISE` : l'index est celui de la boucle _autreboucle si elle est bien englobante + * + * @example + * Dans une balise dynamique ou calculée : + * ``` + * $idb = index_boucle($p); + * ``` * * @param Champ $p AST au niveau de la balise * @return string - * Identifiant de la boucle possédant ce champ. - * '' si une référence explicite incorrecte est envoyée + * + * - Identifiant de la boucle possédant ce champ. + * - '' si une référence explicite incorrecte est envoyée */ function index_boucle($p){ @@ -156,6 +160,7 @@ function index_compose($conditionnel,$defaut) { * Cherche un champ dans une boucle * * Le champ peut être : + * * - un alias d'un autre : il faut alors le calculer, éventuellement en * construisant une jointure. * - présent dans la table : on l'utilise @@ -256,7 +261,8 @@ function index_tables_en_pile($idb, $nom_champ, &$boucles, &$joker) { * @param array $desc Description de la table SQL de la boucle * @param string $nom_champ Nom du champ original demandé * @param array $excep - * Description de l'exception pour ce champ. Peut être + * Description de l'exception pour ce champ. Peut être : + * * - string : nom du champ véritable dans la table * - array : * - liste (table, champ) indique que le véritable champ @@ -334,24 +340,59 @@ function champ_sql($champ, $p, $defaut = null, $remonte_pile = true) { return index_pile($p->id_boucle, $champ, $p->boucles, $p->nom_boucle, $defaut, $remonte_pile); } -// cette fonction sert d'API pour demander une balise Spip avec filtres -// http://doc.spip.org/@calculer_champ +/** + * Calcule et retourne le code PHP d'exécution d'une balise SPIP et des ses filtres + * + * Cette fonction qui sert d'API au compilateur demande à calculer + * le code PHP d'une balise, puis lui applique les filtres (automatiques + * et décrits dans le squelette) + * + * @uses calculer_balise() + * @uses applique_filtres() + * + * @param Champ $p + * AST au niveau de la balise + * @return string + * Code PHP pour d'exécution de la balise et de ses filtres +**/ function calculer_champ($p) { $p = calculer_balise($p->nom_champ, $p); return applique_filtres($p); } -// Cette fonction sert d'API pour demander une balise SPIP sans filtres. -// Pour une balise nommmee NOM, elle demande a charger_fonction de chercher -// s'il existe une fonction balise_NOM ou balise_NOM_dist -// eventuellement en chargeant le fichier balise/NOM.php. -// Si la balise est de la forme PREFIXE_SUFFIXE (cf LOGO_* et URL_*) -// elle fait de meme avec juste le PREFIXE. -// Si pas de fonction, c'est une reference a une colonne de table SQL connue. -// Les surcharges des colonnes SQL via charger_fonction sont donc possibles. -// http://doc.spip.org/@calculer_balise +/** + * Calcule et retourne le code PHP d'exécution d'une balise SPIP + * + * Cette fonction qui sert d'API au compilateur demande à calculer + * le code PHP d'une balise (cette fonction ne calcule pas les éventuels + * filtres de la balise). + * + * Pour une balise nommmée `NOM`, elle demande à `charger_fonction()` de chercher + * s'il existe une fonction `balise_NOM` ou `balise_NOM_dist` + * éventuellement en chargeant le fichier `balise/NOM.php.` + * + * Si la balise est de la forme `PREFIXE_SUFFIXE` (cf `LOGO_*` et `URL_*`) + * elle fait de même avec juste le `PREFIXE`. + * + * S'il n'y a pas de fonction trouvée, on considère la balise comme une référence + * à une colonne de table SQL connue, sinon à l'environnement (cf. `calculer_balise_DEFAUT_dist()`). + * + * Les surcharges des colonnes SQL via charger_fonction sont donc possibles. + * + * @uses calculer_balise_DEFAUT_dist() + * Lorsqu'aucune fonction spécifique n'est trouvée. + * @see charger_fonction() + * Pour la recherche des fonctions de balises + * + * @param string $nom + * Nom de la balise + * @param Champ $p + * AST au niveau de la balise + * @return string + * Code PHP pour d'exécution de la balise et de ses filtres +**/ function calculer_balise($nom, $p) { // S'agit-t-il d'une balise_XXXX[_dist]() ? @@ -375,6 +416,29 @@ function calculer_balise($nom, $p) { return $f($nom, $p); } + +/** + * Calcule et retourne le code PHP d'exécution d'une balise SPIP non déclarée + * + * Cette fonction demande à calculer le code PHP d'une balise qui + * n'a pas de fonction spécifique. + * + * On considère la balise comme une référence à une colonne de table SQL + * connue, sinon à l'environnement. + + * @uses index_pile() + * Pour la recherche de la balise comme colonne SQL ou comme environnement + * @note + * Le texte de la balise est retourné si il ressemble à une couleur + * et qu'aucun champ correspondant n'a été trouvé, comme `#CCAABB` + * + * @param string $nom + * Nom de la balise + * @param Champ $p + * AST au niveau de la balise + * @return string + * Code PHP pour d'exécution de la balise et de ses filtres +**/ function calculer_balise_DEFAUT_dist($nom, $p) { // ca pourrait etre un champ SQL homonyme, @@ -408,20 +472,44 @@ function calculer_balise_DEFAUT_dist($nom, $p) { } -// -// Traduction des balises dynamiques, notamment les "formulaire_*" -// Inclusion du fichier associe a son nom, qui contient la fonction homonyme -// donnant les arguments a chercher dans la pile, et qui sont donc compiles. -// On leur adjoint les arguments explicites de la balise (cf #LOGIN{url}) -// et d'eventuelles valeurs transmises d'autorite par la balise. -// (cf http://trac.rezo.net/trac/spip/ticket/1728) -// La fonction nommee ci-dessous recevra a l'execution la valeur de tout ca. +/** Code PHP d'exécution d'une balise dynamique */ define('CODE_EXECUTER_BALISE', "executer_balise_dynamique('%s', array(%s%s), array(%s%s))"); -// http://doc.spip.org/@calculer_balise_dynamique + +/** + * Calcule le code PHP d'exécution d'une balise SPIP dynamique + * + * Calcule les balises dynamiques, notamment les `formulaire_*`. + * + * Inclut le fichier associé à son nom, qui contient la fonction homonyme + * donnant les arguments à chercher dans la pile, et qui sont donc compilés. + * + * On leur adjoint les arguments explicites de la balise (cf `#LOGIN{url}`) + * et d'éventuelles valeurs transmises d'autorité par la balise. + * (cf http://core.spip.org/issues/1728) + * + * La fonction `executer_balise_dynamique()` définie par la + * constante `CODE_EXECUTER_BALISE` recevra à l'exécution la valeur de tout ca. + * + * @uses collecter_balise_dynamique() + * Qui calcule le code d'exécution de chaque argument de la balise + * @see executer_balise_dynamique() + * Code PHP produit qui chargera les fonctions de la balise dynamique à l'exécution, + * appelée avec les arguments calculés. + * @param Champ $p + * AST au niveau de la balise + * @param string $nom + * Nom de la balise dynamique + * @param array $l + * Liste des noms d'arguments (balises) à collecter + * @param array $supp + * Liste de données supplémentaires à transmettre au code d'exécution. + * @return Champ + * Balise complétée de son code d'exécution +**/ function calculer_balise_dynamique($p, $nom, $l, $supp=array()) { if (!balise_distante_interdite($p)) { @@ -452,13 +540,32 @@ function calculer_balise_dynamique($p, $nom, $l, $supp=array()) { return $p; } -// Construction du tableau des arguments d'une balise dynamique. -// Ces arguments peuvent etre eux-meme des balises (cf FORMULAIRE_SIGNATURE) -// mais gare au bouclage (on peut s'aider de $nom pour le reperer au besoin) -// En revanche ils n'ont pas de filtres, donc on appelle calculer_balise qui -// ne s'occupe pas de ce qu'il y a dans $p (mais qui va y ecrire le code) -// http://doc.spip.org/@collecter_balise_dynamique +/** + * Construction du tableau des arguments d'une balise dynamique. + * + * Pour chaque argument (un nom de balise), crée le code PHP qui le calculera. + * + * @note + * Ces arguments peuvent être eux-même des balises (cf FORMULAIRE_SIGNATURE) + * mais gare au bouclage (on peut s'aider de `$nom` pour le réperer au besoin) + * + * En revanche ils n'ont pas de filtres, donc on appelle `calculer_balise()` qui + * ne s'occupe pas de ce qu'il y a dans `$p` (mais qui va y ecrire le code) + * + * @uses calculer_balise() + * Pour obtenir le code d'éxécution de chaque argument. + * + * @param array $l + * Liste des noms d'arguments (balises) à collecter (chaque argument + * de la balise dynamique est considéré comme étant un nom de balise) + * @param Champ $p + * AST au niveau de la balise + * @param string $nom + * Nom de la balise + * @return array + * Liste des codes PHP d'éxecution des balises collectées +**/ function collecter_balise_dynamique($l, &$p, $nom) { $args = array(); foreach($l as $c) { $x = calculer_balise($c, $p); $args[] = $x->code;} @@ -471,7 +578,7 @@ function collecter_balise_dynamique($l, &$p, $nom) { /** * Récuperer le nom du serveur * - * Mais pas si c'est un serveur specifique derogatoire + * Mais pas si c'est un serveur spécifique dérogatoire * * @param Champ $p * AST positionné sur la balise @@ -499,15 +606,16 @@ function trouver_nom_serveur_distant($p) { * La fonction loge une erreur si la balise est utilisée sur une * base distante et retourne false dans ce cas. * - * Note : - * Il faudrait savoir traiter les formulaires en local - * tout en appelant le serveur SQL distant. - * En attendant, cette fonction permet de refuser une authentification - * sur qqch qui n'a rien a voir. + * @note + * Il faudrait savoir traiter les formulaires en local + * tout en appelant le serveur SQL distant. + * En attendant, cette fonction permet de refuser une authentification + * sur quelque-chose qui n'a rien a voir. * * @param Champ $p * AST positionné sur la balise * @return bool + * * - true : La balise est autorisée * - false : La balise est interdite car le serveur est distant **/ -- GitLab