source: spip-zone/_plugins_/linkcheck/trunk/README.md @ 103864

Last change on this file since 103864 was 103864, checked in by spip.franck@…, 3 years ago

En finir une fois pour toutes avec spip-contrib, pour mettre à la place contrib.spip

File size: 8.5 KB
Line 
1# Plugins LinkCheck
2
3Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets.
4
5[Documentation](https://contrib.spip.net/LinkCheck-verificateur-de-liens)
6
7## Todo
8
9* [ ] ajout d’un lien vers archive.org sur les articles morts
10* [ ] export CSV (à finaliser avec generer_url_objet)
11* [ ] ajout d’un picto lien mort optionnel dans propre() [+ éventuellement lien sur archive.org le cas échéant]
12* [ ] vérifier/traiter automagiquement les migrations http⟹https
13* [ ] trouver une meilleure regexp pour la détection de lien, ça doit bien exister sous forme de lib
14
15## Done
16
17* [x] améliorer la détection des liens (ex de bugs : "gazogène.com", ou "lacite.website" sont coupés bizarrement, les urls terminant par une virgule sont aussi coupés)
18* [x] présence du lien sur toutes les pages : ce message pourrait être plus informatif en précisant le nombre de liens
19* [x] bloc des liens trop visible sur les pages d'objets (articles, rubriques, il devrait être dans la marge car il ne s’agit pas d’un contenu éditable)
20* [x] gestion des autoriser() pas très claire (permettre d'ouvrir le plugin aux rédacteurices)
21
22## Versions 1.4.x
23
24### Version 1.4.1
25
26* Ne passer dans le pipeline post_edition avec action instituer que si le statut change
27* Interdire la duplication d'une tâche `genie_linkcheck_test_postedition`
28
29### Version 1.4.0
30
31* Permettre de filtrer les liens distants et internes
32* Permettre de filtrer par type d'objet (articles, rubriques...)
33* Ajouter un formulaire de recherche qui s'applique sur les urls (en faisant un `LIKE` mysql)
34* Permettre d'exporter en CSV uniquement la liste filtrée
35* Amélioration de la détection de liens
36* Déplacement du bloc sur les objets dans la colonne de gauche
37* Limiter l'affichage du blocs de liens sur les objets aux auteurs pouvant modifier l'objet
38* Déclaration plus moderne de la table linkcheck (dans `declarer_tables_objets_sql()`)
39* Utiliser les mêmes limitations de statuts entre la détection de liens générale et celle par le pipeline `post_edition`. Seuls sont conservés les liens sur des objets pouvant être prévisualisés.
40* Réparation de la détection des liens sur les rubriques
41* Ajout d'un champ `publie` à la fois sur la table `spip_linkchecks` et `spip_linkchecks_liens` testant si l'objet parent est publié.
42* Permettre de filtrer sur les liens "Visibles en ligne" (`publie == oui`) et "Non visibles en ligne" (`publie == non`)
43* Changement du coté des autorisations, dorénavant :
44  * les administrateurs et les rédacteurs peuvent voir la page linkchecks
45  * seuls les webmestres peuvent réinitialiser la base
46  * les personnes autorisées à modifier un objet voient les liens contenus dans l'objet éditorial
47
48## Versions 1.3.x
49
50### Version 1.3.7
51
52* Correction d'un bug mysql dans le parcours
53
54### Version 1.3.6
55
56* `.brussels` c'est 8 caractères, on en autorise 9 maintenant (cf [post sur contrib.spip](cf [post sur contrib.spip](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489219)
57
58### Version 1.3.5
59
60* Accepter le caractère `@` dans une Url (cf [post sur contrib.spip](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489219)
61* Limiter l'affichage de l'alerte au webmestre que s'il y a un lien mort ou malade, pas d'affichage s'il n'y a que des liens déplacés par exemple (cf [post sur contrib.spip](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489219))
62* présence du lien sur toutes les pages : ce message devient plus informatif en précisant le nombre de liens morts, malades et déplacés
63
64### Version 1.3.4
65
66* Accepter le caractère `+` dans une Url (cf [post sur contrib.spip](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489212)
67* Détecter les liens sur les statuts d'objets que l'on peut prévisualiser et qui sont publiés et non pas seulement sur une sélection arbitraitre de statuts
68
69### Version 1.3.3
70
71* Accepter les caractères `:` et `,` dans une Url (cf [post sur contrib.spip](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489081)
72* Accepter les accents dans le nom de domaine
73* Accepter des extensions de noms de domaine jusqu'à 7 caractères (du type `.website` par exemple)
74
75### Version 1.3.1
76
77* Ne plus analyser `spip_plugins`, ce n'est pas un objet édito du site réellement, [cf ce message sur contrib](https://contrib.spip.net/LinkCheck-verificateur-de-liens?var_mode=calcul#forum488940)
78* Petites améliorations de chaînes de langue
79
80### Version 1.3.0
81
82* Ne pas enlever le dernier `/` des urls pour éviter des liens déplacés pour rien.
83* Si plusieurs redirections successives, il se peut que l'entête `Location` montre un path local, on récupère donc le domaine
84* Bien supprimer `Location:`, `location:` et `content-location` des urls de redirection
85* Si la redirection mène sur notre site, afficher les liens internes en redirection, du coup on décode l'url avec `inc/urls`
86* Afficher correctement la redirection qu'elle soit interne ou externe dans les détails d'un lien
87
88## Versions 1.2.x
89
90### Version 1.2.3
91
92* Mettre url et redirection dans la même case de tableau pour faciliter la lecture des liens
93* Ajouter un bouton de vérification sur chaque lien dans les listes
94* Utiliser un User Agent de navigateur lors de la récupération des entêtes pour éviter les anti-bots
95* En cas de redirection, on récupère le dernier `Location:` et non le premier (cas de redirections multiples)
96* En cas de redirection, on vérifie si la finale ne renvoie pas une 404
97* Mettre l'url de redirection détectée dans l'export CSV
98* Améliorer les entêtes de colonnes dans l'export CSV
99* `linkcheck_en_url()` renvoie false si l'url fournie est vide
100
101
102
103### Version 1.2.2
104
105* Un peu de refactoring
106* Ajout d'un champ `redirection` dans la table `spip_linkckecks` afin de stocker l'adresse de redirection si s'en est une
107* Affichage des redirections dans les tableaux de liens
108* Utiliser les fonctions SPIP de `inc/distant` pour analyser les entêtes des liens au lieu d'avoir une fonction personnelle
109* Lors de l'analyse totale des liens, les traiter de 5 en 5
110* Utiliser `set_time_limit()` pour essayer d'éviter de planter avec un max execution time
111* Mettre un timeout de 30 secondes pour la récupération des entêtes
112* Si c'est une redirection, analyser les entêtes afin de stocker l'URL finale dans le champ redirection
113
114### Version 1.2.1
115
116* Eviter que les tableaux ne cassent à cause de liens longs
117* Amélioration de l'affichage (utilisation de ```#BOITE_OUVRIR``` et ```#BOITE_FERMER```)
118* Une autorisation sur la configuration
119* Bonnes chaînes de langue dans les comptes de liens
120* Correction du mail envoyé, ajout de l'état des liens (malade, deplace ou mort) dans le message
121* Nécessite saisies version 2.2.3 pour la fonction ```saisie_balise_structure_formulaire``` (formalisme SPIP 3.1)
122* Bien supprimer les liens qui ne sont plus liés à aucun objet (dans le pipeline ```post_edition```)
123
124### Version 1.2.0
125
126* Refaire fonctionner le post-edition
127* Optimisation des images
128* Des id numériques seulement ça ne devrait pas exister, on préfixe par ```linkcheck_```
129* Une class en minuscule ```linkchecks``` pour avoir l'icone du plugin tout le temps dans les listes d'objets
130* Un peu de CSS
131
132## Versions 1.1.x
133
134### Version 1.1.4
135
136* Gérer singulier_ou_pluriel correctement
137* Un peu mieux coté CSS
138* Ajout du lien de doc
139* Passage en stable
140
141### Version 1.1.3
142
143* Petites vérifications dans la liste des champs à traiter
144* Petites vérifications dans les pipelines
145
146### Version 1.1.2
147
148* La recherche des liens n'est possible que par le webmestre, donc on se base sur webmestre pour les autorisations
149
150### Version 1.1.1
151
152* Réparer l'affichage dans affiche_milieu suite aux changements de ```linkcheck_tables_a_traiter()```
153* Ne pas prendre en compte spip_paquets
154
155### Version 1.1.0
156
157* Compatibilité formalisme 3.1 du formulaire de configuration
158* Indentation
159* Petites améliorations
160* Code css dans une css de plugins
161* Chaîne de langue manquante
162* Revoir la liste des tables et champs parcourus, on prend toutes les tables dites "principale" sauf spip_syndic_articles (ça mériterait un pipeline ici). On prend tous les champs de type texte (tinytext, longtext, mediumtext, text)
163* Utiliser sql_allfetsel + foreach au lieu de sql_select + sql_fetch (moins lourd)
164* Pour les statuts inconnus des liens internes => malade au pire
165
166## Versions 1.0.x
167
168### Version 1.0.2
169
170* Indentation et sécurité
171* Pas de fichier d'options, évite une inclusion inutile
172
173### Version 1.0.1
174
175Version d'origine
176
177## Todo
178
179* Ajouter la possibilité de remplacer automatiquement (via un bouton) les liens déplacés par la redirection découverte
Note: See TracBrowser for help on using the repository browser.