diff --git a/action/dupliquer_formulaire.php b/action/dupliquer_formulaire.php
index 0e11bc64f9f4e690feaed7c2ed4e2f83f71dfa79..f5a7efc081dbb476330c5404c4dcb47cfc611bfe 100644
--- a/action/dupliquer_formulaire.php
+++ b/action/dupliquer_formulaire.php
@@ -9,8 +9,8 @@ include_spip('inc/config');
 
 /**
  * Dupliquer un formulaire
- * @param unknown_type $arg
- * @return unknown_type
+ * @param mixed $arg
+ * @return void
  */
 function action_dupliquer_formulaire_dist($arg = null) {
 	if (is_null($arg)) {
diff --git a/action/editer_formulaire.php b/action/editer_formulaire.php
index 2055a33bb601b39d5f084dad71efcc627f4285c6..21a1908aa6ca134cb299219803b892834efc1ba2 100644
--- a/action/editer_formulaire.php
+++ b/action/editer_formulaire.php
@@ -7,8 +7,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
 
 /**
  * Action de création / Modification d'un formulaire
- * @param unknown_type $arg
- * @return unknown_type
+ * @param mixed $arg
+ * @return void|array
  */
 function action_editer_formulaire_dist($arg = null) {
 	if (is_null($arg)) {
diff --git a/action/supprimer_formulaire.php b/action/supprimer_formulaire.php
index 6ae9f23c39c4c8a779587154c3d4c782ec35a325..420a4f494994eb7ddf14ba61dadb4f4691e690c3 100644
--- a/action/supprimer_formulaire.php
+++ b/action/supprimer_formulaire.php
@@ -8,7 +8,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
 /**
  * Action de suppression d'un formulaire
  * @param int $arg
- * @return unknown_type
+ * @return void
  */
 function action_supprimer_formulaire_dist($arg = null) {
 	if (is_null($arg)) {
diff --git a/action/supprimer_formulaires_reponse.php b/action/supprimer_formulaires_reponse.php
index 9bddc8aba6d06da3e5fd5b1eb0b27e9ccb90221f..2228b50b688f39467feacf3e133fbf4207a9c87d 100644
--- a/action/supprimer_formulaires_reponse.php
+++ b/action/supprimer_formulaires_reponse.php
@@ -7,8 +7,8 @@ if (!defined('_ECRIRE_INC_VERSION')) {
 
 /**
  * Action de suppression d'une réponse
- * @param int $arg
- * @return unknown_type
+ * @param mixed $arg
+ * @return void
  */
 function action_supprimer_formulaires_reponse_dist($arg = null) {
 	if (is_null($arg)) {
diff --git a/formidable_autorisations.php b/formidable_autorisations.php
index 9604f27bf8db4c88412c062c1ae874a0325b84b2..cadfe1abf6b7d62bdc326279ba7d05c61ea479f5 100644
--- a/formidable_autorisations.php
+++ b/formidable_autorisations.php
@@ -19,7 +19,7 @@ include_spip('inc/config');
  *
  * Seuls les auteurs associés à un formulaire peuvent y accéder
  *
- * @param  int   $id        id du formulaire à tester
+ * @param  int   $id_formulaire id du formulaire à tester
  * @param  int   $id_auteur id de l'auteur à tester, si ==0 => auteur courant
  * @return bool  true s'il a le droit, false sinon
  *
diff --git a/formidable_fonctions.php b/formidable_fonctions.php
index 24cc77b65992e434b23fc4e946f0973080107f54..78c04f312bd58517684603ed928367ddbcc7efe9 100644
--- a/formidable_fonctions.php
+++ b/formidable_fonctions.php
@@ -148,7 +148,7 @@ function calculer_voir_reponse($id_formulaires_reponse, $id_formulaire, $nom, $s
  *
  * @param int $id_formulaires_reponse
  * @param int $id_formulaire
- * @param string $resume_reponse
+ * @param string $modele_resume
  * @return string
  */
 function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null, $modele_resume = null) {
@@ -205,8 +205,8 @@ function affiche_resume_reponse($id_formulaires_reponse, $id_formulaire = null,
 /**
  * Supprimer les balise d'une vue de saisies
  * sans pour autant faire un trim
- * @param str $valeur
- * @return str
+ * @param string $valeur
+ * @return string
 **/
 function formidable_nettoyer_saisie_vue($valeur) {
 	// on ne veut pas du \n de PtoBR, mais on ne veut pas non plus faire un trim
@@ -274,7 +274,7 @@ function formidable_ajouter_action_recuperer_fichier($saisie_a_modifier, $nom_sa
  * Utile pour l'affichage des révisions (si on a des champs extras)
  * @param int $id_formulaires_reponse
  * @param array|null $champs (idéalement pas null, mais il semblerait qu'il y ait des cas en SPIP qui font cela, dans ecrire/inc/filtres.php)
- * @return str
+ * @return string
 **/
 function generer_titre_formulaires_reponse(int $id_formulaires_reponse, $champs): string {
 	return affiche_resume_reponse($id_formulaires_reponse);
diff --git a/formulaires/formidable.php b/formulaires/formidable.php
index c5b04e781b2d4006300b45b77b9f82d4ce6463fd..12c34d5530275af6c94e1b97c08fb65dc6068174 100644
--- a/formulaires/formidable.php
+++ b/formulaires/formidable.php
@@ -60,7 +60,7 @@ function formidable_id_formulaire($id) {
 *			- url_redirect (string) : url de redirection qui prend éventuellement la main
 *			- forcer_modif (bool) : permet de forcer la modif de la réponse, même si non autorisé (cas de l'édition des réponses dans l'espace privé)
 *			<!> Anciennement c'était id_formulaires_reponse. On assure la retrocompat.
-* @param bool|str $deprecated_url_redirect
+* @param bool|string $deprecated_url_redirect
 * @param bool $deprecated_forcer_modif
 * @return array
 *     Tableau des saisies
@@ -106,7 +106,7 @@ function formulaires_formidable_saisies_dist($id, $valeurs = [], $options_appel
 *			- url_redirect (string) : url de redirection qui prend éventuellement la main
 *			- forcer_modif (bool) : permet de forcer la modif de la réponse, même si non autorisé (cas de l'édition des réponses dans l'espace privé)
 *			<!> Anciennement c'était id_formulaires_reponse. On assure la retrocompat.
-* @param bool|str $deprecated_url_redirect
+* @param bool|string $deprecated_url_redirect
 * @param bool $deprecated_forcer_modif
 * @return array
 *     Contexte envoyé au squelette HTML du formulaire.
@@ -235,7 +235,7 @@ function formulaires_formidable_charger_dist($id, $valeurs = [], $options_appel
 *			- url_redirect (string) : url de redirection qui prend éventuellement la main
 *			- forcer_modif (bool) : permet de forcer la modif de la réponse, même si non autorisé (cas de l'édition des réponses dans l'espace privé)
 *			<!> Anciennement c'était id_formulaires_reponse. On assure la retrocompat.
-* @param bool|str $deprecated_url_redirect
+* @param bool|string $deprecated_url_redirect
 * @param bool $deprecated_forcer_modif
 * @return array
 *     Tableau des erreurs
@@ -276,7 +276,7 @@ function formulaires_formidable_verifier_post_saisies_dist($id, $valeurs = [], $
 *			- url_redirect (string) : url de redirection qui prend éventuellement la main
 *			- forcer_modif (bool) : permet de forcer la modif de la réponse, même si non autorisé (cas de l'édition des réponses dans l'espace privé)
 *			<!> Anciennement c'était id_formulaires_reponse. On assure la retrocompat.
-* @param bool|str $deprecated_url_redirect
+* @param bool|string $deprecated_url_redirect
 * @param bool $deprecated_forcer_modif
 * @return array
 *     Tableau des erreurs
@@ -376,7 +376,7 @@ function formulaires_formidable_verifier_traitements($id, $valeurs = [], $option
  *			- url_redirect (string) : url de redirection qui prend éventuellement la main
  *			- forcer_modif (bool) : permet de forcer la modif de la réponse, même si non autorisé (cas de l'édition des réponses dans l'espace privé)
  *			<!> Anciennement c'était id_formulaires_reponse. On assure la retrocompat.
- * @param bool|str $deprecated_url_redirect
+ * @param bool|string $deprecated_url_redirect
  * @param bool $deprecated_forcer_modif
  *     Tableau des erreurs
  **/
@@ -642,7 +642,7 @@ function formulaires_formidable_traiter_dist($id, $valeurs = [], $options_appel
  *			- url_redirect (string) : url de redirection qui prend éventuellement la main
  *			- forcer_modif (bool) : permet de forcer la modif de la réponse, même si non autorisé (cas de l'édition des réponses dans l'espace privé)
  *			<!> Anciennement c'était id_formulaires_reponse. On assure la retrocompat.
- * @param bool|str $deprecated_url_redirect
+ * @param bool|string $deprecated_url_redirect
  * @param bool $deprecated_url_redirect
  * @return array
  *     Tableau des champs de type fichier
@@ -723,7 +723,7 @@ function formidable_definir_contexte_avec_reponse($contexte, $id_formulaires_rep
  * Fournir également une forme pour l'envoyer par webmestre
  * @param array $fichiers
  * 		le tableau des fichiers qui a été remplie par formidable_deplacer_fichiers_produire_vue_saisie()
- * @return array ('message_public' => 'message', 'message_webmestre' => 'message'
+ * @return array|string ('message_public' => 'message', 'message_webmestre' => 'message') ou bien ''
 **/
 function formidable_produire_messages_erreurs_fichiers($fichiers) {
 	$message_public = '';
diff --git a/http/collectionjson/formulaires_reponses.php b/http/collectionjson/formulaires_reponses.php
index 5b6959180b47e768f1d6db7cbd0fb2270343733d..63c7d88c78f08dbe9506257d6b51a7b293079cc5 100644
--- a/http/collectionjson/formulaires_reponses.php
+++ b/http/collectionjson/formulaires_reponses.php
@@ -12,7 +12,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
  *
  * @param Request $requete
  * @param Response $reponse
- * @return void
+ * @return mixed
  */
 function http_collectionjson_formulaires_reponses_post_collection_dist($requete, $reponse) {
 	include_spip('inc/session');
diff --git a/inc/formidable.php b/inc/formidable.php
index c9fd8f0f45fdb192396d985e7b1f22bf66f81087..f587af756b9ef7edf028f41a85492f8ecad6b0b9 100644
--- a/inc/formidable.php
+++ b/inc/formidable.php
@@ -44,7 +44,7 @@ function traitements_lister_disponibles() {
 /**
  * Charger les informations contenues dans le yaml d'un traitement
  *
- * @param string $type_saisie Le type de la saisie
+ * @param string $type_traitement Le type du traitement
  * @return array Un tableau contenant le YAML décodé
  */
 function traitements_charger_infos($type_traitement) {
@@ -154,7 +154,7 @@ function formidable_trouver_reponse_a_editer($id_formulaire, $id_formulaires_rep
  * @param string $choix_identification Comment verifier une reponse. Priorite sur 'cookie' ou sur 'id_auteur'
  * @param string $variable_php_identification : la variable php servant à identifier une réponse
  * @param string $anonymiser : si 'on', le formulaire doit-être anonymisé
- * @return unknown_type Retourne un tableau contenant les id des réponses si elles existent, sinon false
+ * @return array|false Retourne un tableau contenant les id des réponses si elles existent, sinon false
  **/
 function formidable_verifier_reponse_formulaire($id_formulaire, $choix_identification = 'cookie', $variable_php_identification = '', $anonymiser = '') {
 	global $auteur_session;
@@ -477,10 +477,10 @@ function formidable_scramble($login, $id_form) {
  *  - 'id_formulaires_reponse' : le cas échéant le numéro de réponse en base
  *  - 'id_formulaire' : le cas échéant le numéro du formulaire en base
  *  - 'contexte' : le contexte d'appel (ex. 'affiche_resume_reponse')
- * @param string|bool deprecated_sans_reponse
- * @param string deprecated_source
- * @param int|string deprecated_id_formulaires_reponse
- * @param int|string deprecated_id_formulaire
+ * @param string|bool $deprecated_sans_reponse
+ * @param string $deprecated_source
+ * @param int|string $deprecated_id_formulaires_reponse
+ * @param int|string $deprecated_id_formulaire
  * @return string la chaîne transformée
  */
 function formidable_raccourcis_arobases_2_valeurs_champs(string $chaine, array $saisies, $options = [], $deprecated_sans_reponse = true, $deprecated_source = 'request', $deprecated_id_formulaires_reponse = 0, $deprecated_id_formulaire = 0): string {
@@ -698,7 +698,7 @@ function formidable_array_walk_recursive_strval(&$value, $key) {
  * Sérialize un tableau, pour stockage en base.
  * On sérialize en json qui est plus robuse que la serialization PHP (pb #99)
  *
- * @param array  Le tableau
+ * @param array $tab Le tableau
  * @return string
 **/
 function formidable_serialize(array $tab): string {
diff --git a/inc/formidable_fichiers.php b/inc/formidable_fichiers.php
index 7d5767fc4a774084c55ade27e2dd0deffc4811be..1abb3f1c3c66c4369e588ef5398adfcb352a280b 100644
--- a/inc/formidable_fichiers.php
+++ b/inc/formidable_fichiers.php
@@ -39,7 +39,7 @@ if (!defined('_FORMIDABLE_LIENS_FICHIERS_ACCUSE_RECEPTION')) {
  *
  * @param int $id_formulaire
  * @param bool $forcer, pour forcer la création du dossier même si pas de saisie fichiers
- * @return $erreur
+ * @return string $erreur
  **/
 function formidable_creer_dossier_formulaire($id_formulaire, $forcer = false) {
 	if (!$forcer) {
@@ -297,7 +297,7 @@ function formidable_retourner_fichier($chemin, $f, $content_type = '') {
  * @param array $options
  * 		des options, dépendantes du type de traitement,
  * 		qui permettent d'indiquer où l'on déplace le fichier
- * @return array un tableau de "vue" de la saisie
+ * @return array|null un tableau de "vue" de la saisie
 **/
 function formidable_deplacer_fichiers_produire_vue_saisie($saisie, $options) {
 	$nb_fichiers_max = $saisie['options']['nb_fichiers'];
@@ -350,7 +350,7 @@ function formidable_deplacer_fichiers_produire_vue_saisie($saisie, $options) {
 }
 /**
  * Efface les fichiers d'un formulaire
- * @param $str $id_formulaire
+ * @param string $id_formulaire
  * @return int 1 ou 0 selon que l'on a effacé ou non un répertoire
 **/
 function formidable_effacer_fichiers_formulaire($id_formulaire) {
@@ -368,9 +368,9 @@ function formidable_effacer_fichiers_formulaire($id_formulaire) {
 }
 
 /**
- * efface les fichiers d'une réponse formidable
- * @param $str $id_formulaire
- * @param $str $id_formulaires_reponse
+ * Efface les fichiers d'une réponse formidable
+ * @param string $id_formulaire
+ * @param string $id_formulaires_reponse
  * @return int 1 ou 0 selon que l'on a effacé ou non un répertoire
 **/
 function formidable_effacer_fichiers_reponse($id_formulaire, $id_formulaires_reponse) {
@@ -388,9 +388,9 @@ function formidable_effacer_fichiers_reponse($id_formulaire, $id_formulaires_rep
 }
 
 /** Efface les fichiers d'un champ pour les réponses d'un formulaire
- * @param str $id_formulaire
- * @param array|str $reponses
- * @param str $champ
+ * @param string $id_formulaire
+ * @param array|string $reponses
+ * @param string $champ
 **/
 function formidable_effacer_fichiers_champ($id_formulaire, $reponses, $champ) {
 	if ($champ != '') { // on devrait pas arriver ici avec un $champ vide, mais prenons nos précaution
@@ -488,10 +488,10 @@ function formidable_zipper_reponses_formulaire($id_formulaire, $chemin_du_zip, $
 }
 /**
  * Générer une url d'action pour la récupération d'un fichier lié à une réponse
- * @param int|str $id_formulaire
- * @param int|str $id_formulaires_reponse
- * @param str $saisie
- * @param str $fichier
+ * @param int|string $id_formulaire
+ * @param int|string $id_formulaires_reponse
+ * @param string $saisie
+ * @param string $fichier
  **/
 function formidable_generer_url_action_recuperer_fichier($id_formulaire, $id_formulaires_reponse, $saisie, $fichier) {
 	$param = [
diff --git a/public/formidable_criteres.php b/public/formidable_criteres.php
index 1990f5ed7ad0aadb31ef9e034afa759014dcc20a..5b2b850f39d59526ce02aa67f877b26803708a1c 100644
--- a/public/formidable_criteres.php
+++ b/public/formidable_criteres.php
@@ -22,7 +22,7 @@ function critere_tri_selon_donnee_dist($idb, &$boucles, $crit) {
  * @global array $exceptions_des_tables
  * @param string $idb
  * @param array $boucles
- * @param <type> $crit
+ * @param Spip\Compilateur\Noeud\Critere $crit
  *
  * Auteurs :
  * Antoine Pitrou
diff --git a/spip-cli/FormidableExporterFormulaire.php b/spip-cli/FormidableExporterFormulaire.php
index bd41c62658ac68c6e342f5d51b2db0a45d1f91f1..a114274cdab7377b36ad335b91408886bd114196 100644
--- a/spip-cli/FormidableExporterFormulaire.php
+++ b/spip-cli/FormidableExporterFormulaire.php
@@ -31,7 +31,6 @@ class FormidableExporterFormulaire extends Command {
 	}
 
 	protected function execute(InputInterface $input, OutputInterface $output) {
-		/** @var Spip $spip */
 		$this->demarrerSpip();
 
 		$identifiant = $input->getArgument('identifiant');