Salut @Stephane_Santon
Serais-tu intéressé au point d’assurer la maintenance et le support dudit plugin ?
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 …
Ok, « à terme » m’avait échappé
Une fois ces PR approuvées et mergées, il restera, en plus de la documentation, à traiter les cas suivants :
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]ou lire_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…
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é
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
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
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.
Alors… il y a aussi un concept d’apprentissage : tu apprends à faire des « tableaux » avec POUR, et dès que tu veux autre chose (json, ou je ne sais quoi) alors tu dois apprendre DATA. …
Pour moi il n’y a aucune raison d’avoir les 2, quand DATA fait tout mieux :
#TRUC
directement dedans (et pas #VALEUR{truc}
) …Accessoirement : il est déjà déprécié (le critère critere_POUR_tableau) qui sert à la boucle POUR
Accessoirement : il est déjà déprécié (le critère critere_POUR_tableau) qui sert à la boucle POUR
heu oui je sais. Mais il y a des fonctions dépreciées parfois gardée longtemps, genre le support de datas
dans saisies
pour info 607 occurences de la boucle POUR sur la zone (bon après ce serait une simple regepx pour rendre tout cela selon la nouvelle syntaxe)
Oui, au vu de l’usage encore présent, l’idée était bien d’ajouter @deprecated 4.0
par exemple (mais de la laisser fonctionnelle).
Oui, au vu de l’usage encore présent, l’idée était bien d’ajouter
@deprecated 4.0
par exemple (mais de la laisser fonctionnelle).
Ah ! autant pour moi, je n’avias pas compris.
Oui, j’avais déjà fait la même remarque. Il faut passer de POUR à DATA car deux écritures pour la même chose n’a pas de sens et est pas vraiment explicable autrement que par le canal historique.
Ce qui serait bien c’est que déprécié 4.0 ne dise pas « reste jusqu’à la fin des temps… ».
De manière très générale, une fonction dépréciée dans une version X.y
es supprimée dans la version X+1.0
. C’est le cas dans PHP lui-même, par exemple.
Suivant cet exemple, pour SPIP, toute fonction qui est dépréciée en 4.0
ou en 4.1
disparaîtrait en 5.0
.
C’est un des principe de SemVer. Une suppression de fonction de portée publique marque un changement MAJEUR de son « API ». Et comme on fait du procédurale, toute fonction PHP est de portée publique… même celle qu’on appelle _quelquechose()
.
Cependant, on pourrait considérer que SPIP ne suit pas exactement SemVer et que le seul X
ne représente pas une version MAJEURE… Après tout, ce n’est qu’une convention. On pourrait considérer que c’est X.Y
qui définit une version majeure. C’est un peu ce qu’on fait depuis quelques années.
Ainsi, et c’est ce qu’on espère faire ici (mais ça peut changer, pas de soucis) :
3.1
est supprimée en 4.0
(si on y arrive à temps)3.2
serait supprimée en 4.1
4.0
serait supprimée en 4.2
(ou 5.0
…)Ou un mix au cas par cas …
@eric_tonton a mon sens, POUR un un raccourci, plus simple à retenir que DATA source tableau …
mais bon, ca ne me dérange pas plus que cela qu’on décide à terme de l’enlever.
Et du coup je viens de le faire dans formidable à coup de
find . -name "*.html" -type f -exec sed -i "s/(POUR) *{tableau/(DATA){source tableau,/" {} \;
idem pour le core et les plugins-dist (ex ou pas)
Y a quelques PR à approuver
Sortir du core oui, mais pas dans le plugin grenier qui risque de devenir un fourre-tout, un plugin LDAP bien nommé et identifié aura plus de chance de trouver des personnes motivées pour reprendre la maintenance et le faire évoluer
Mais c’est aussi ce qu’on souhaite ne plus forcément faire depuis qu’on a annoncé un nouveau cycle de release
Sinon, +1 pour la méthode de retrait des deprecated, ça mériterait d’être référencé dans un article de bonnes pratiques de dev ça !
J’aii dit grenier en pensant à un plugin « ldap » à metttre dans le dépôt grenier des plugins.
J’avais oublié qu’il existait un plugin « grenier », my bad.