@deprecated dans ecrire/

ci-dessous 2 tableaux qui recoupent les fonctions encore là dans le code, et la version trouvée pour le commit correspondant au dernier (et parfois premier) changement du commentaire @deprecated ce qui permet de déduire la version de spip (dans ecrire/inc_version.php)

ça permet d’ajouter le @deprecated since X.Y pour ces fonctions. pour 3.1.0-dev je propose 3.1. Pour 3.3.0-dev4.0

fichier fonction commit date version commentaire @deprecated de la fonction
ecrire/inc/filtres.php lignes_longues a47259a20f 2013-02-09 3.1.0-dev « @deprecated Utiliser le style CSS word-wrap:break-word; »
ecrire/inc/filtres.php filtre_icone_dist 5982ecf564 2013-09-03 3.1.0-dev « @deprecated Utiliser le filtre icone_verticale »
ecrire/inc/chercher_logo.php type_du_logo e11cc93ae7 2019-07-25 3.3.0-dev « @deprecated MAIS NE PAS SUPPRIMER CAR SERT POUR L’UPGRADE des logos et leur mise en base »
ecrire/inc/distant.php recuperer_page 5d3001212c 2013-02-26 3.1.0-dev « @deprecated »
ecrire/inc/distant.php recuperer_lapage 5d3001212c 2013-02-26 3.1.0-dev « @deprecated »
ecrire/inc/distant.php recuperer_entetes 5d3001212c 2013-02-26 3.1.0-dev « @deprecated »
ecrire/inc/exporter_csv.php exporter_csv_ligne b835082a25 2021-02-15 3.3.0-dev « @deprecated »
ecrire/inc/lister_objets.php inc_lister_objets_dist 0ca694d170 2013-02-13 3.1.0-dev « @deprecated Créer ou utiliser un squelette dans prive/objets/liste/ »
ecrire/inc/utils.php lire_meta 400bc9d61e 2013-02-25 3.1.0-dev « @deprecated Utiliser '$GLOBALS[‹ meta ›][$nom]oulire_config(‹ nom ›) »
ecrire/action/super_cron.php action_super_cron_dist 65f8ba2dc8 2020-09-11 3.3.0-dev « @deprecated »
ecrire/action/editer_auteur.php auteurs_set 642b5324b8 2013-02-19 3.1.0-dev « @deprecated Utiliser auteur_modifier() »
ecrire/public/criteres.php critere_POUR_tableau_dist d0e4b43349 2012-08-07 3.1.0-dev « @deprecated Utiliser une boucle (DATA){source tableau,#XX} »
ecrire/public/interfaces.php « public $statut = false; » dddf916787 2012-08-05 3.1.0-dev « @deprecated Remplacé par $boucle->modificateur[‹ criteres ›][‹ statut ›] »
ecrire/base/upgrade.php maj_version 44c3de1d2c 2013-05-30 3.1.0-dev « @deprecated Utiliser maj_plugin() ou la globale maj pour le core. »
ecrire/base/connect_sql.php table_jointure b3dcf1dca5 2013-03-25 3.1.0-dev « @deprecated »
ecrire/base/connect_sql.php spip_query 662b48f193 2013-02-25 3.1.0-dev « @deprecated Pour compatibilité. Utiliser sql_query() ou l’API sql_*. »
fichier fonction commit date version commentaire @deprecated de la fonction
plugins-dist/compresseur/compresseur_fonctions.php compacte 691d6f96 2012-08-21 1.6.8 « @deprecated Utiliser minifier() »

En ce qui concerne tickets et PR, je suis embarrassé, parce que je pense qu’il faut plusieurs tickets, soit pour SPIP, soit pour les plugins-dist, parfois, ils seront indépendants, parfois, ils seront liés les uns aux autres. J’avoue que je ne sais pas trop comment m’y prendre.

Des avis ?

Eh bah, quelle analyse !

Concernant le PHPDoc, la suggestion maintenant fig-standards/phpdoc-tags.md at master · php-fig/fig-standards · GitHub est de coupler deux choses :

  • le tag @deprecated, avec à partir de quand c’est déprécié avec éventuellement une description ,
  • et le tag @see, s’il y a un remplacement
@deprecated 3.1.0
@deprecated 3.1.0 Ne plus utiliser. Sera supprimé dans une future version.
@see alternative() en remplacement.
1 « J'aime »

Il est important de noter à ce stade que « plugins-dist » signifie les plugins « dist » de SPIP4 (puisque ces analyses sont faites dans la branche « master »)

Ce qui implique que les ex-plugins-dist n’ont pas été vérifiés.

Rappel: les ex-plugins-dist :

  • breves
  • jquery_ui
  • organiseur
  • petitions
  • squelettes_par_rubrique
  • vertebres

Encore une liste, les fichiers:numero_de_ligne: ou on trouve un appel à une fonction @deprecated

inc_lister_objets_dist()

plugins-dist/sites/sites_pipelines.php:25:		$lister_objets = charger_fonction('lister_objets', 'inc');
plugins-dist/sites/sites_pipelines.php:100:	$lister_objets = charger_fonction('lister_objets', 'inc');
plugins-dist/sites/sites_pipelines.php:161:			$lister_objets = charger_fonction('lister_objets', 'inc');

auteurs_set()

ecrire/action/supprimer_rubrique.php:54:				auteurs_set($id_auteur, array("statut" => '1comite'));

action_super_cron_dist()

ecrire/inc/utils.php:1043: * @see  action_super_cron_dist()

spip_connect_ldap()

ecrire/auth/ldap.php:217:	if (!$ldap = spip_connect_ldap($serveur)) {

spip_query()

ecrire/inc/meta.php:80:	if ($result = spip_query("SELECT nom,valeur FROM spip_$table")) {
ecrire/public/debusquer.php:779:		$ress_req = spip_query($req);
ecrire/req/mysql.php:1728:	$ok = spip_query("INSERT INTO spip_meta (nom,valeur) VALUES ('mysql_rappel_nom_base', 'test')", $server_db);
plugins-dist/statistiques/genie/popularites.php:98:			spip_query("UPDATE spip_referers SET visites_veille=visites_jour, visites_jour=0");

maj_version()

ecrire/maj/legacy/v009.php:57:		maj_version(0.98);
ecrire/maj/legacy/v009.php:129:		maj_version(0.99);
ecrire/maj/legacy/v009.php:134:		maj_version(0.997);
ecrire/maj/legacy/v009.php:148:		maj_version(0.999);
ecrire/maj/legacy/v010.php:33:		maj_version(1.01);
ecrire/maj/legacy/v010.php:38:		maj_version(1.02);
ecrire/maj/legacy/v010.php:43:		maj_version(1.03);
ecrire/maj/legacy/v010.php:48:		maj_version(1.04);
ecrire/maj/legacy/v010.php:54:		maj_version(1.05);
ecrire/maj/legacy/v011.php:33:		maj_version(1.1);
ecrire/maj/legacy/v012.php:37:		maj_version(1.204);
ecrire/maj/legacy/v012.php:47:		maj_version(1.207);
ecrire/maj/legacy/v012.php:65:		maj_version(1.208);
ecrire/maj/legacy/v012.php:72:		maj_version(1.209);
ecrire/maj/legacy/v012.php:89:		maj_version(1.210);
ecrire/maj/legacy/v013.php:39:		maj_version(1.3);
ecrire/maj/legacy/v013.php:44:		maj_version(1.301);
ecrire/maj/legacy/v013.php:52:		maj_version(1.302);
ecrire/maj/legacy/v013.php:59:		maj_version(1.303);
ecrire/maj/legacy/v013.php:66:		maj_version(1.306);
ecrire/maj/legacy/v013.php:71:		maj_version(1.307);
ecrire/maj/legacy/v014.php:42:		maj_version(1.404);
ecrire/maj/legacy/v014.php:54:		maj_version(1.405);
ecrire/maj/legacy/v014.php:100:		maj_version(1.408);
ecrire/maj/legacy/v014.php:111:		maj_version(1.414);
ecrire/maj/legacy/v014.php:123:		maj_version(1.417);
ecrire/maj/legacy/v014.php:132:		maj_version(1.418);
ecrire/maj/legacy/v014.php:139:		maj_version(1.419);
ecrire/maj/legacy/v014.php:144:		maj_version(1.420);
ecrire/maj/legacy/v014.php:150:		maj_version(1.421);
ecrire/maj/legacy/v014.php:157:		maj_version(1.432);
ecrire/maj/legacy/v014.php:162:		maj_version(1.436);
ecrire/maj/legacy/v014.php:168:		maj_version(1.437);
ecrire/maj/legacy/v014.php:174:		maj_version(1.438);
ecrire/maj/legacy/v014.php:182:		maj_version(1.439);
ecrire/maj/legacy/v014.php:187:		maj_version(1.440);
ecrire/maj/legacy/v014.php:194:		maj_version(1.441);
ecrire/maj/legacy/v014.php:199:		maj_version(1.442);
ecrire/maj/legacy/v014.php:207:		maj_version(1.443);
ecrire/maj/legacy/v014.php:212:		maj_version(1.444);
ecrire/maj/legacy/v014.php:220:		maj_version(1.457);
ecrire/maj/legacy/v014.php:225:		maj_version(1.458);
ecrire/maj/legacy/v014.php:241:		maj_version(1.459);
ecrire/maj/legacy/v014.php:258:		maj_version(1.460);
ecrire/maj/legacy/v014.php:263:		maj_version(1.462);
ecrire/maj/legacy/v014.php:270:		maj_version(1.463);
ecrire/maj/legacy/v014.php:281:		maj_version(1.464);
ecrire/maj/legacy/v014.php:286:		maj_version(1.465);
ecrire/maj/legacy/v014.php:291:		maj_version(1.466);
ecrire/maj/legacy/v014.php:297:		maj_version(1.468);
ecrire/maj/legacy/v014.php:306:		maj_version(1.470);
ecrire/maj/legacy/v014.php:323:		maj_version(1.471);
ecrire/maj/legacy/v014.php:328:		maj_version(1.472);
ecrire/maj/legacy/v014.php:334:		maj_version(1.473);
ecrire/maj/legacy/v016.php:35:		maj_version(1.600);
ecrire/maj/legacy/v016.php:40:		maj_version(1.601);
ecrire/maj/legacy/v016.php:48:		maj_version(1.603);
ecrire/maj/legacy/v016.php:61:		maj_version(1.604, $u);
ecrire/maj/legacy/v017.php:55:		maj_version(1.702, $u);
ecrire/maj/legacy/v017.php:61:		maj_version(1.703);
ecrire/maj/legacy/v017.php:68:		maj_version(1.704);
ecrire/maj/legacy/v017.php:74:		maj_version(1.705);
ecrire/maj/legacy/v017.php:82:		maj_version(1.707);
ecrire/maj/legacy/v017.php:88:		maj_version(1.708);
ecrire/maj/legacy/v017.php:94:		maj_version(1.709);
ecrire/maj/legacy/v017.php:99:		maj_version(1.717);
ecrire/maj/legacy/v017.php:106:		maj_version(1.718);
ecrire/maj/legacy/v017.php:118:		maj_version(1.722);
ecrire/maj/legacy/v017.php:127:		maj_version(1.723);
ecrire/maj/legacy/v017.php:132:		maj_version(1.724);
ecrire/maj/legacy/v017.php:137:		maj_version(1.726);
ecrire/maj/legacy/v017.php:146:		maj_version(1.727);
ecrire/maj/legacy/v017.php:152:		maj_version(1.728);
ecrire/maj/legacy/v017.php:172:		maj_version(1.730);
ecrire/maj/legacy/v017.php:180:		maj_version(1.731);
ecrire/maj/legacy/v017.php:186:		maj_version(1.732);
ecrire/maj/legacy/v017.php:194:		maj_version(1.733);
ecrire/maj/legacy/v017.php:200:	#	maj_version(1.734);
ecrire/maj/legacy/v018.php:33:		maj_version(1.801);
ecrire/maj/legacy/v018.php:52:		maj_version(1.802);
ecrire/maj/legacy/v018.php:61:		maj_version(1.803);
ecrire/maj/legacy/v018.php:67:		maj_version(1.804);
ecrire/maj/legacy/v018.php:103:		maj_version(1.805);
ecrire/maj/legacy/v018.php:108:	#	maj_version(1.806);
ecrire/maj/legacy/v018.php:116:		maj_version(1.807);
ecrire/maj/legacy/v018.php:122:		maj_version(1.808);
ecrire/maj/legacy/v018.php:141:		maj_version(1.809);
ecrire/maj/legacy/v018.php:147:		maj_version(1.810);
ecrire/maj/legacy/v018.php:152:		maj_version(1.811);
ecrire/maj/legacy/v018.php:157:		maj_version(1.812);
ecrire/maj/legacy/v018.php:163:		maj_version(1.813);
ecrire/maj/legacy/v018.php:170:		maj_version(1.814);
ecrire/maj/legacy/v018.php:177:		maj_version(1.815);
ecrire/maj/legacy/v018.php:182:		maj_version(1.816);
ecrire/maj/legacy/v018.php:189:		maj_version(1.817);
ecrire/maj/legacy/v018.php:197:		maj_version(1.818);
ecrire/maj/legacy/v018.php:204:		maj_version(1.819);
ecrire/maj/legacy/v018.php:217:		maj_version(1.820);
ecrire/maj/legacy/v018.php:223:		maj_version(1.821);
ecrire/maj/legacy/v018.php:229:		maj_version(1.822);
ecrire/maj/legacy/v018.php:233:		maj_version(1.825);
ecrire/maj/legacy/v018.php:237:		maj_version(1.826);
ecrire/maj/legacy/v019_pre193.php:33:		maj_version(1.901);
ecrire/maj/legacy/v019_pre193.php:41:		maj_version(1.902);
ecrire/maj/legacy/v019_pre193.php:50:		maj_version(1.903);
ecrire/maj/legacy/v019_pre193.php:58:		maj_version(1.904);
ecrire/maj/legacy/v019_pre193.php:111:		maj_version(1.905);
ecrire/maj/legacy/v019_pre193.php:122:		maj_version(1.906);
ecrire/maj/legacy/v019_pre193.php:126:		maj_version(1.907);
ecrire/maj/legacy/v019_pre193.php:132:		maj_version(1.908);
ecrire/maj/legacy/v019_pre193.php:141:		maj_version(1.909);
ecrire/maj/legacy/v019_pre193.php:148:		maj_version(1.910);
ecrire/maj/legacy/v019_pre193.php:164:		maj_version(1.911);
ecrire/maj/legacy/v019_pre193.php:176:		maj_version(1.912);
ecrire/maj/legacy/v019_pre193.php:182:		maj_version(1.913);
ecrire/maj/legacy/v019_pre193.php:189:		maj_version(1.914);
ecrire/maj/legacy/v019_pre193.php:194:		maj_version(1.915);
ecrire/maj/legacy/v019_pre193.php:205:		maj_version(1.916);
ecrire/maj/legacy/v019_pre193.php:209:		maj_version(1.917);
ecrire/maj/legacy/v019_pre193.php:216:		maj_version(1.918);
ecrire/maj/legacy/v019_pre193.php:221:		maj_version('1.919');
ecrire/maj/legacy/v019_pre193.php:231:		maj_version('1.920');
ecrire/maj/legacy/v019_pre193.php:262:		maj_version('1.922');
ecrire/maj/legacy/v019_pre193.php:274:		maj_version('1.923');
ecrire/maj/legacy/v019_pre193.php:279:		maj_version('1.924');
ecrire/maj/legacy/v019_pre193.php:333:		maj_version('1.925');
ecrire/maj/legacy/v019_pre193.php:339:		maj_version('1.926');

type_du_logo()

ecrire/action/editer_logo.php:163:	$type = type_du_logo($_id_objet);
ecrire/inc/chercher_logo.php:26: * @uses type_du_logo()
ecrire/inc/chercher_logo.php:55:			$type = type_du_logo($_id_objet);

recuperer_page()

ecrire/inc/distant.php:1107:	if ($headers = recuperer_page($source, false, true, $max, '', '', true)) {
ecrire/inc/distant.php:1221:		$page = recuperer_page($source, true, false, _INC_DISTANT_MAX_SIZE);
ecrire/inc/filtres.php:3009: * @uses recuperer_page() si l'URL source n'est pas sur le même site
ecrire/inc/filtres.php:3039:			if (!$contenu = recuperer_page($css)) {
ecrire/inc/filtres_mime.php:184:				. str_replace('<', '', recuperer_page($m[1]));
ecrire/inc/math.php:52:			recuperer_page($url, $fichier);
ecrire/inc/xml.php:53:		$contenu = recuperer_page($fichier, false, false, $taille_max, $datas);
ecrire/iterateur/data.php:317:							$data = recuperer_page($src, false, false, _DATA_SOURCE_MAX_SIZE);
prive/formulaires/configurer_relayeur.php:59:				$page = recuperer_page($test_proxy, true);
plugins-dist/compresseur/inc/compresseur.php:291:			if (!$contenu = recuperer_page($css)) {
plugins-dist/sites/inc/feedfinder.php:60:		$buffer = recuperer_page($url);

recuperer_lapage()

ecrire/inc/acces.php:373: * @uses recuperer_lapage()
ecrire/inc/acces.php:413:			$ht = recuperer_lapage($t, false, 'HEAD', 0);
plugins-dist/sites/syndic/atomrss.php:388:				$res = recuperer_lapage($target, false, "GET", 4096);

recuperer_entetes()

ecrire/inc/distant.php:371: * @uses recuperer_entetes()

exporter_csv_ligne()

ecrire/inc/exporter_csv.php:89: * @uses exporter_csv_ligne()

lire_meta()

ecrire/inc/filtres_images_mini.php:515:	if (function_exists("image_recadre") && lire_meta("image_process")=="gd2")

spip_get_lock()

ecrire/req/mysql.php:1687: * @see spip_get_lock()

spip_release_lock()

ecrire/req/mysql.php:1654: * @see spip_release_lock()

compacte()

ecrire/inc/minipres.php:35: * @uses compacte() si le plugin compresseur est présent
ecrire/inc/minipres.php:70:				$file = compacte($file);
plugins-dist/compresseur/tests/compacte.html:13:[(#CHEMIN{javascript/layer.js}|compacte
plugins-dist/compresseur/tests/compacte.html:19:[(#CHEMIN{javascript/layer.js}|compacte
plugins-dist/compresseur/tests/compacte.html:22:	|?{ [(#SET{err2,#VAL{'erreur commentaire present:'}|concat{#CHEMIN{javascript/layer.js}|compacte
plugins-dist/medias/prive/squelettes/contenu/documents.html:4:[(#INCLURE{javascript/medias_edit.js}|compacte{js})]
plugins-dist/medias/prive/squelettes/inclure/colonne-documents.html:16:[(#INCLURE{javascript/medias_edit.js}|compacte{js})]
plugins-dist/medias/prive/squelettes/inclure/portfolio-documents.html:58:[(#INCLURE{javascript/medias_edit.js}|compacte{js})]
plugins-dist/medias/prive/squelettes/inclure/portfolio-documents.html:65:[(#INCLURE{fond=javascript/gestion_listes_documents.js}|compacte{js})]
prive/formulaires/dateur/inc-dateur.html:176:[(#INCLURE{formulaires/dateur/time_picker.css}|compacte{css})]
prive/formulaires/dateur/inc-dateur.html:177:[(#INCLURE{formulaires/dateur/bootstrap-datepicker.standalone.css}|compacte{css})]

lignes_longues()

plugins-dist/forum/formulaires/inc-forum_previsu.html:14:							[<div class="comment-texte">(#ENV*{texte}|lignes_longues)</div>]
plugins-dist/forum/formulaires/inc-forum_previsu.html:15:							[<div class="comment-notes">(#ENV*{notes}|lignes_longues)</div>]
plugins-dist/forum/formulaires/inc-forum_prive_previsu.html:10:						[(#ENV*{texte}|lignes_longues)]
plugins-dist/forum/formulaires/inc-forum_prive_previsu.html:11:						[<div class="notes">(#ENV*{notes}|lignes_longues)</div>]
plugins-dist/forum/prive/modeles/forum.html:30:[<div class='texte controle'>(#TEXTE|lignes_longues)</div>]
plugins-dist/forum/prive/modeles/forum.html:38:[<div class='notes controle'>(#NOTES|lignes_longues)</div>]
plugins-dist/forum/prive/modeles/forum.html:39:[<div class='site'><:info_url:></:info_url:><a href='#URL_SITE'>(#NOM_SITE|sinon{#URL_SITE}|lignes_longues)</a></div>]
plugins-dist/forum/prive/objets/liste/participer_forum.html:30:				[(#TEXTE|lignes_longues)]
plugins-dist/forum/prive/objets/liste/participer_forum.html:31:				[<div class='notes'>(#NOTES|lignes_longues)</div>]
plugins-dist/forum/prive/objets/liste/participer_forum_thread.html:30:				[(#TEXTE|lignes_longues)]
plugins-dist/forum/prive/objets/liste/participer_forum_thread.html:31:				[<div class='notes'>(#NOTES|lignes_longues)</div>]
plugins-dist/forum/prive/objets/liste/participer_forum_thread.html:65:						[(#TEXTE|lignes_longues)]
plugins-dist/forum/prive/objets/liste/participer_forum_thread.html:66:						[<div class='notes'>(#NOTES|lignes_longues)</div>]
plugins-dist/sites/prive/modeles/syndic_article.html:14:[<div class='texte'>(#DESCRIPTIF|lignes_longues)</div>]
plugins-dist/sites/prive/modeles/syndic_article.html:15:[<div class='notes'>(#NOTES|lignes_longues)</div>]
plugins-dist/sites/prive/modeles/syndic_article.html:16:[<div class='site'><a href='#URL_SOURCE'>(#SOURCE|sinon{#URL_SOURCE}|lignes_longues)</a></div>]
squelettes-dist/forum.html:34:				[<div class="#EDIT{texte} comment-texte">(#TEXTE|lignes_longues)</div>]
squelettes-dist/forum.html:35:				[<div class="comment-notes">(#NOTES|lignes_longues)</div>]
squelettes-dist/inclure/forum.html:22:				[(#TEXTE|lignes_longues)]
squelettes-dist/inclure/forum.html:23:				[<div class="comment-notes">(#NOTES|safehtml|lignes_longues)</div>]
squelettes-dist/inclure/forum.html:47:						[(#TEXTE|lignes_longues)]
squelettes-dist/inclure/forum.html:48:						[<div class="comment-notes">(#NOTES|safehtml|lignes_longues)</div>]

filtre_icone_dist()

plugins-dist/medias/prive/squelettes/inclure/ajouter-documents.html:10:[(#SELF|parametre_url{ajouter,oui}|icone{

critere_POUR_tableau_dist()

plugins-dist/dump/formulaires/inc-lister-sauvegardes.html:22:			<BOUCLE_dump(POUR){tableau #ENV{_dir_dump,#REM|dump_repertoire}|dump_lister_sauvegardes{#ENV{tri,nom}}}>
plugins-dist/mediabox/formulaires/configurer_mediabox.html:46:				<BOUCLE_boxtypes(POUR){tableau #ENV{_libs}}>
plugins-dist/mots/formulaires/inc-choisir-groupemots-tables-liees.html:1:<BOUCLE_objets(POUR){tableau #REM|lister_tables_objets_sql}{cle!=spip_mots}{cle!=spip_groupes_mots}>[(#VALEUR{editable}|oui)
plugins-dist/mots/prive/objets/contenu/groupe_mots.html:4:<BOUCLE_tables(POUR){tableau #TABLES_LIEES|explode{','}}{', '}>[
plugins-dist/revisions/formulaires/configurer_revisions_objets.html:14:				<BOUCLE_objets(POUR){tableau #REM|lister_tables_objets_sql}>[(#VALEUR*|test_objet_versionable)
plugins-dist/revisions/prive/objets/contenu/revision.html:1:<BOUCLE_champs(POUR){tableau #ENV*{textes}}>
plugins-dist/sites/prive/squelettes/inclure/boutons-filtres-statut-syndic.html:6:<BOUCLE_st(POUR){tableau #ARRAY{0,publie,1,dispo,2,off,3,refuse}}>
plugins-dist/statistiques/prive/squelettes/contenu/stats_referers.html:40:								<BOUCLE_sous(POUR){tableau #VALEUR{referers}}>
prive/formulaires/configurer_multilinguisme.html:53:			<BOUCLE_objets(POUR){tableau #REM|lister_tables_objets_sql}{cle!=spip_rubriques}{cle!=spip_auteurs}{si #ENV{editable}}>[(#CLE|table_supporte_lang|et{#VALEUR{type}|objet_info{editable}})
prive/formulaires/configurer_preferences.html:62:				]<BOUCLE_couleurs(POUR){tableau #ENV{couleurs}}>
prive/formulaires/declarer_bases.html:21:					<BOUCLE_serv(POUR){tableau #ENV*{_serveurs}}>
prive/formulaires/declarer_bases_2.html:17:				<BOUCLE_db(POUR){tableau #ENV*{_bases_prop}}>
prive/formulaires/inc-instituer_auteur.html:7:<BOUCLE_statuts(POUR){tableau #VAL{tous}|auteurs_lister_statuts{0}}{valeur!=nouveau}>
prive/formulaires/inc-options-langues.html:1:<BOUCLE_langues(POUR){tableau #ENV*{name}|liste_options_langues}>
prive/formulaires/instituer_objet.html:26:						<BOUCLE_choix(POUR){tableau #ENV{_statuts}}{si #ENV{editable}}>
prive/formulaires/selecteur/generique.html:27:<BOUCLE_selected(POUR){tableau #ENV{selected}|picker_selected}>
prive/formulaires/selecteur/inc-sel-rubriques.html:1:<BOUCLE_pour(POUR){tableau #ENV{selected}|picker_selected{rubrique}}>
prive/formulaires/selecteur/lister.html:21:<BOUCLE_objets(POUR){tableau #ENV{objets/afficher}}>
prive/modeles/pagination.html:26:		<BOUCLE_pages(POUR){tableau #GET{pages}}>[
prive/modeles/pagination_prive.html:27:		<BOUCLE_pages(POUR){tableau #GET{pages}}>[
prive/objets/liste/objets-en-edition.html:4:<BOUCLE_objets(POUR){tableau #SESSION{id_auteur}|liste_drapeau_edition}>[
prive/objets/liste/objets-trad.html:18:	<BOUCLE_liste_obj(POUR){tableau #ENV{id_trad}|lister_traductions{#ENV{objet}}}{pagination #ENV{nb,10}}{!lang_select}>
prive/squelettes/contenu/auteurs.html:9:		<BOUCLE_st(POUR){tableau #GET{statuts}}{si #GET{statuts}|count|>{1}}>
prive/squelettes/contenu/recherche.html:7:	<BOUCLE_tablesid(POUR){tableau #REM|liste_des_champs}
prive/squelettes/contenu/recherche.html:18:<BOUCLE_tables(POUR){tableau #REM|liste_des_champs}
prive/squelettes/contenu/visiteurs.html:9:		<BOUCLE_st(POUR){tableau #GET{statuts}}{si #GET{statuts}|count|>{1}}>
prive/squelettes/inclure/accueil-information.html:25:			<BOUCLE_cpta(POUR){tableau #EVAL{$GLOBALS['liste_des_statuts']}}><BOUCLE_auts(AUTEURS){statut=#VALEUR}{tout} />
prive/themes/spip/picker.css.html:208:<BOUCLE_objets(POUR){tableau (#REM|lister_tables_objets_sql)}>
prive/themes/spip/style_prive.css.html:59:<BOUCLE_css(POUR){tableau #GET{modules}}>
prive/themes/spip/style_prive.css.html:72:<BOUCLE_cssplugins(POUR){tableau #VAL{prive/}|find_all_in_path{/style_prive_plugin_}}>

Il faut sortir tout LDAP en plugin… et pas grand monde n’y connait grand chose !

Ma proposition serait qu’on ne conserve que les mises à jour y X-2 de SPIP. C’est à dire en SPIP 4, de ne permettre de migrer que depuis SPIP 2.0 minimum par exemple. ET donc virer tout ce qui est antérieur à 2.0…

Alors il faudrait aussi indiquer que la boucle POUR est deprecated ! Il y a encore pas mal d’usages.
Et changer le core pour la boucle DATA.

2 « J'aime »

J’ai regardé le code (core, plugins-dist, zone) et aucun ne semble utiliser le ->statut sur une boucle maintenant. Donc je pense que y a pas de problème à l’enlever.

1 « J'aime »

Je suis d’accord avec ça. Il y a d’ailleurs une série de tickets ici, en effet.

Mais sortir du code du core de SPIP, c’est une chose. La maintenance d’un nouveau plugin en est une autre, surtout si la fonctionnalité est peu ou pas utilisée.

LDAP dans SPIP, ça n’emballe pas grand monde, moi y compris. C’est un peu comme PostgreSQL.

Il faudrait qu’il y ait des spipeur·e·s qui manifestent au moins un intérêt pour ces technologies. À défaut de quoi, on pourrait les sortir du core et mettre ce type de plugin dans le grenier directement ?

Assez d’accord là-dessus aussi.

Les SPIP1.9 ne représenteraient à ce jour qu’environ 6.2% des sites vérifés. On n’a a priori plus de 1.8 ou moins dans la nature.

Cela signifierait que ces sites, si on considère qu’ils ne sont pas abandonnés et qu’ils pourraient peut-être être mis à jour par quelqu’un, pourraient passer par un upgrade en 3.2 (quitte à ce que ce soit en plusieurs étapes, notamment l’upgrade PHP pour l’écrasante majorité d’entre eux). Ça pourrait être documenté quelque part dans Évolutions et mises à jour

Bonjour,

Moi ça m’intéresserait car on a au lycée l’annuaire de tous les
personnels en LDAP (~200 personnes).

Mais l’accès LDAP du site du lycée n’est pas en place car je n’ai pas
réussi à l’utiliser. J’ai donc créé environ 30 utilisateurs au fil des
besoins.

Ensuite, cette fonctionnalité standardisée qui serait peut-être très
utile dans toutes les « grosses » structures n’est pas très mise en avant
quand on présente SPIP.

Le 24/05/2021 à 10:05, JamesRezo via Discuter de SPIP a écrit :

[JamesRezo] https://discuter.spip.net/u/jamesrezo JamesRezo
marcimat:
Il faut sortir tout LDAP en plugin… et pas grand monde n’y connait
grand chose !

Mais sortir du code du core de SPIP, c’est une chose. La maintenance
d’un nouveau plugin en est une autre, surtout si la fonctionnalité est
peu ou pas utilisée.

LDAP dans SPIP, ça n’emballe pas grand monde, moi y compris. C’est un
peu comme PostgreSQL.

Il faudrait qu’il y ait des spipeur·e·s qui manifestent au moins un
intérêt pour ces technologies. À défaut de quoi, on pourrait les sortir
du core et mettre ce type de plugin dans le grenier directement ?


Stéphane
17 Charente-Maritime

J’ai jeté un oeil sur un gros site que je développe/maintiens depuis des
années (première version en 1.9.2), et dans mes plugins métier j’ai
trouvé des utilisations de fonctions dépréciées.

Je pense que ce serait bien d’écrire noir sur blanc dans les notes de
versions / de release les fonctions dépréciées qui ont été finalement
supprimées, pour éviter de tâtonner lors d’une mise à jour 3.x → 4.0

···
-- 
nicod_

Salut @nicod ,

Je pense aussi. C’est pourquoi on maintient un tableau des alternatives pour les documenter sur spip.net à terme.

S’il y un pad, ou un wiki, je veux bien l’url :wink:

Salut @Stephane_Santon

Serais-tu intéressé au point d’assurer la maintenance et le support dudit plugin ?

J’ajoute que l’autodoc est là aussi : SPIP : Fichier ecrire/inc/chercher_logo.php

Si on « améliore » les mentions @deprecated et @see en utilisant la convention que @marcimat a indiqué, on aura une information plus précise.

A quel endroit ? je ne vois pas d’article en ce sens…
Sinon oui, il y a ou il y a eu des notes de version, mais je ne sais plus trop où.
@erational @marcimat @b_b @JLuc peut être ?

Patience, ça viendra, on a pas encore fini le travail … :slight_smile:

Ok, « à terme » m’avait échappé :slight_smile:

Tickets/PR

Une fois ces PR approuvées et mergées, il restera, en plus de la documentation, à traiter les cas suivants :

@deprecated 3.1.0

Fonctions encore utilisées dans le core et/ou les plugins-dist

fichier fonction commit date commentaire @deprecated de la fonction
ecrire/inc/filtres.php lignes_longues a47259a20f 2013-02-09 « @deprecated Utiliser le style CSS word-wrap:break-word; »
ecrire/inc/filtres.php filtre_icone_dist 5982ecf564 2013-09-03 « @deprecated Utiliser le filtre icone_verticale »
ecrire/inc/distant.php recuperer_page 5d3001212c 2013-02-26 « @deprecated »
ecrire/inc/distant.php recuperer_lapage 5d3001212c 2013-02-26 « @deprecated »
ecrire/inc/distant.php recuperer_entetes 5d3001212c 2013-02-26 « @deprecated »
ecrire/inc/lister_objets.php inc_lister_objets_dist 0ca694d170 2013-02-13 « @deprecated Créer ou utiliser un squelette dans prive/objets/liste/ »
ecrire/inc/utils.php lire_meta 400bc9d61e 2013-02-25 « @deprecated Utiliser '$GLOBALS[‹ meta ›][$nom]oulire_config(‹ nom ›) »
ecrire/base/upgrade.php maj_version 44c3de1d2c 2013-05-30 « @deprecated Utiliser maj_plugin() ou la globale maj pour le core. »
ecrire/base/connect_sql.php table_jointure b3dcf1dca5 2013-03-25 « @deprecated »
ecrire/base/connect_sql.php spip_query 662b48f193 2013-02-25 « @deprecated Pour compatibilité. Utiliser sql_query() ou l’API sql_*. »

Il y a des chantiers plus où moins important. On a peut-être le temps de les traiter avant la sortie de la 4.0

fichier fonction commit date commentaire @deprecated de la fonction
ecrire/public/criteres.php critere_POUR_tableau_dist d0e4b43349 2012-08-07 « @deprecated Utiliser une boucle (DATA){source table,#XX} »

Cf. @deprecated dans ecrire/ - #17 par marcimat

fichier fonction commit date commentaire @deprecated de la fonction
ecrire/public/interfaces.php « public $statut = false; » dddf916787 2012-08-05 « @deprecated Remplacé par $boucle->modificateur[‹ criteres ›][‹ statut ›] »

Cf. @deprecated dans ecrire/ - #17 par marcimat

Fonctions qui ne sont plus utilisées dans le core et/ou les plugins-dist

fichier fonction commit date version commentaire @deprecated de la fonction
ecrire/inc/rubriques.php calcul_branche 1fd225331a 2012-07-12 3.1.0 « * @deprecated/@see calcul_branche_in() »
ecrire/inc/modifier.php modifier_contenu ab6fe4c020 2012-07-13 3.1.0 « * @deprecated »
ecrire/inc/modifier.php revision_objet ab6fe4c020 2012-07-13 3.1.0 « * @deprecated Utiliser objet_modifier(); »
ecrire/inc/notifications.php notifier_publication_article 12de03891f 2013-02-27 3.1.0 « * @deprecated Ne plus utiliser »
ecrire/inc/notifications.php notifier_proposition_article 12de03891f 2013-02-27 3.1.0 « * @deprecated Ne plus utiliser »
ecrire/req/mysql.php spip_query_db 66427ad2e4 2014-10-21 3.1.0 « * @deprecated Utiliser sql_query() ou autres »
ecrire/req/mysql.php spip_get_lock 66427ad2e4 2014-10-21 3.1.0 « * @deprecated Pas d’équivalence actuellement en dehors de MySQL »
ecrire/req/mysql.php spip_release_lock 66427ad2e4 2014-10-21 3.1.0 « * @deprecated Pas d’équivalence actuellement en dehors de MySQL »
ecrire/exec/fond_monobloc.php le fichier f58af01c0e 2013-09-26 3.1.0 « * @deprecated »
ecrire/exec/fond_monobloc.php exec_fond_monobloc_dist f58af01c0e 2013-09-26 3.1.0 "* @deprecated Ne plus utiliser. Migrer vers prive/squelettes/"

On peut a priori les supprimer, mais j’ai plus de doutes…

@deprecated 3.2

Mentions @deprecated apparues dans la branche 3.2

fichier fonction commit date commentaire @deprecated de la fonction
ecrire/inc/autoriser.php auteurs_article 4b6d174d00 2017-02-11 « * @deprecated utiliser auteurs_objets() »
ecrire/inc/cvt_multietapes.php cvtmulti_formulaire_charger b73a49c977 2017-05-05 « * @deprecated : appel direct de cvtmulti_formulaire_charger_etapes par le core »
ecrire/inc/cvt_multietapes.php cvtmulti_formulaire_verifier b73a49c977 2017-05-05 « * @deprecated : appel direct de cvtmulti_formulaire_verifier_etapes par le core »
ecrire/public/criteres.php critere_par_joint 0d8ed5feba 2017-01-31 « * @deprecated »

Je propose qu’on les laisse mais qu’on « améliore » la mention en uilisant la convention que @marcimat a indiqué

@deprecated 4.0

Mentions @deprecated apparues dans la branche de 3.3.0-dev → 4.0

fichier fonction commit date commentaire @deprecated de la fonction
ecrire/inc/chercher_logo.php type_du_logo e11cc93ae7 2019-07-25 « @deprecated MAIS NE PAS SUPPRIMER CAR SERT POUR L’UPGRADE des logos et leur mise en base »
ecrire/inc/exporter_csv.php exporter_csv_ligne b835082a25 2021-02-15 « @deprecated »
ecrire/action/super_cron.php action_super_cron_dist 65f8ba2dc8 2020-09-11 « @deprecated »
ecrire/auth/sha256.inc.php _nano_sha256 319f0f1598 2019-08-14 « * @deprecated »
ecrire/auth/sha256.inc.php sha256 319f0f1598 2019-08-14 « * @deprecated »

Je propose qu’on les laisse mais qu’on « améliore » la mention en uilisant la convention que @marcimat a indiqué

Sauf peut-être pour les fonctions « sha256 ». Elles sont certes dépréciées, mais :

La fonction _nano_sha256, créée dans le cadre de la 2.3.0-dev est supposée être « privée » et n’est plus utlisée dans le core
la fonction sha256 est là pour assurer la compatibilité avec l’extention PHP5 Suhosin. Et SPIP4 n’est plus compatible avec PHP5

à mon avis les deux sont supprimables, mais je préfère avoir un retour d’expert :wink:

Plugin Compresseur

fichier fonction commit date version commentaire @deprecated de la fonction
plugins-dist/compresseur/compresseur_fonctions.php compacte 691d6f96 2012-08-21 1.6.8 « @deprecated Utiliser minifier() »

Là, je ne sais pas quoi faire…

Avis et retours bienvenus !

alors le critère POUR, je serais d’avis de le garder

  1. Il est utilisé à plein d’endroit
  2. Ca syntaxe est moins absconne que l’équivalent en data.

Heu ? tu peux développer sur l’absonse ? Parce que entre

  • (POUR){tableau #LISTE{a,b,c}}>
  • (DATA){source tableau, #LISTE{a,b,c}}

Ça change pas grand chose…

bah dans un cas tu sais que tu va manipuler un tableau, qui est un concept précis. De l’autre tu dois manipuler des data, concept general et en plus anglophone, en disant que ces data sont un tableau. Abscon est peut être un peu fort comme terme, disons, nettement moins intutitif.