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

Last change on this file since 104864 was 104864, checked in by kent1@…, 4 years ago

Version 1.4.4

  • Remettre la table spip_linkchecks en table principale sinon l'autoincrement ne se fait pas.
  • Fonction d'upgrade qui permet de corriger ce problème sur des versions buggées déjà installées
  • Enlever la table spip_linkchecks de la liste des tables à traiter
File size: 9.1 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.4
25
26- Remettre la table `spip_linkchecks` en table principale sinon l'autoincrement ne se fait pas.
27- Fonction d'upgrade qui permet de corriger ce problème sur des versions buggées déjà installées
28- Enlever la table `spip_linkchecks` de la liste des tables à traiter
29
30### Version 1.4.3
31
32- La détection des liens ne prenait qu'un champ à chaque fois, il réinitialisait le compte de liens à chaque champ testé.
33
34### Version 1.4.2
35
36* Dans le pipeline `post_edition` s'assurer que le second argument passé à `in_array` est bien un tableau
37
38### Version 1.4.1
39
40* Ne passer dans le pipeline post_edition avec action instituer que si le statut change
41* Interdire la duplication d'une tâche `genie_linkcheck_test_postedition`
42
43### Version 1.4.0
44
45* Permettre de filtrer les liens distants et internes
46* Permettre de filtrer par type d'objet (articles, rubriques...)
47* Ajouter un formulaire de recherche qui s'applique sur les urls (en faisant un `LIKE` mysql)
48* Permettre d'exporter en CSV uniquement la liste filtrée
49* Amélioration de la détection de liens
50* Déplacement du bloc sur les objets dans la colonne de gauche
51* Limiter l'affichage du blocs de liens sur les objets aux auteurs pouvant modifier l'objet
52* Déclaration plus moderne de la table linkcheck (dans `declarer_tables_objets_sql()`)
53* 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.
54* Réparation de la détection des liens sur les rubriques
55* Ajout d'un champ `publie` à la fois sur la table `spip_linkchecks` et `spip_linkchecks_liens` testant si l'objet parent est publié.
56* Permettre de filtrer sur les liens "Visibles en ligne" (`publie == oui`) et "Non visibles en ligne" (`publie == non`)
57* Changement du coté des autorisations, dorénavant :
58  * les administrateurs et les rédacteurs peuvent voir la page linkchecks
59  * seuls les webmestres peuvent réinitialiser la base
60  * les personnes autorisées à modifier un objet voient les liens contenus dans l'objet éditorial
61
62## Versions 1.3.x
63
64### Version 1.3.7
65
66* Correction d'un bug mysql dans le parcours
67
68### Version 1.3.6
69
70* `.brussels` c'est 8 caractères, on en autorise 9 maintenant (cf [post sur spip-contrib](cf [post sur spip-contrib](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489219)
71
72### Version 1.3.5
73
74* Accepter le caractère `@` dans une Url (cf [post sur spip-contrib](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489219)
75* 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))
76* 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
77
78### Version 1.3.4
79
80* Accepter le caractère `+` dans une Url (cf [post sur spip-contrib](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489212)
81* 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
82
83### Version 1.3.3
84
85* Accepter les caractères `:` et `,` dans une Url (cf [post sur spip-contrib](https://contrib.spip.net/LinkCheck-verificateur-de-liens#forum489081)
86* Accepter les accents dans le nom de domaine
87* Accepter des extensions de noms de domaine jusqu'à 7 caractères (du type `.website` par exemple)
88
89### Version 1.3.1
90
91* 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)
92* Petites améliorations de chaînes de langue
93
94### Version 1.3.0
95
96* Ne pas enlever le dernier `/` des urls pour éviter des liens déplacés pour rien.
97* Si plusieurs redirections successives, il se peut que l'entête `Location` montre un path local, on récupère donc le domaine
98* Bien supprimer `Location:`, `location:` et `content-location` des urls de redirection
99* Si la redirection mène sur notre site, afficher les liens internes en redirection, du coup on décode l'url avec `inc/urls`
100* Afficher correctement la redirection qu'elle soit interne ou externe dans les détails d'un lien
101
102## Versions 1.2.x
103
104### Version 1.2.3
105
106* Mettre url et redirection dans la même case de tableau pour faciliter la lecture des liens
107* Ajouter un bouton de vérification sur chaque lien dans les listes
108* Utiliser un User Agent de navigateur lors de la récupération des entêtes pour éviter les anti-bots
109* En cas de redirection, on récupère le dernier `Location:` et non le premier (cas de redirections multiples)
110* En cas de redirection, on vérifie si la finale ne renvoie pas une 404
111* Mettre l'url de redirection détectée dans l'export CSV
112* Améliorer les entêtes de colonnes dans l'export CSV
113* `linkcheck_en_url()` renvoie false si l'url fournie est vide
114
115
116
117### Version 1.2.2
118
119* Un peu de refactoring
120* Ajout d'un champ `redirection` dans la table `spip_linkckecks` afin de stocker l'adresse de redirection si s'en est une
121* Affichage des redirections dans les tableaux de liens
122* Utiliser les fonctions SPIP de `inc/distant` pour analyser les entêtes des liens au lieu d'avoir une fonction personnelle
123* Lors de l'analyse totale des liens, les traiter de 5 en 5
124* Utiliser `set_time_limit()` pour essayer d'éviter de planter avec un max execution time
125* Mettre un timeout de 30 secondes pour la récupération des entêtes
126* Si c'est une redirection, analyser les entêtes afin de stocker l'URL finale dans le champ redirection
127
128### Version 1.2.1
129
130* Eviter que les tableaux ne cassent à cause de liens longs
131* Amélioration de l'affichage (utilisation de ```#BOITE_OUVRIR``` et ```#BOITE_FERMER```)
132* Une autorisation sur la configuration
133* Bonnes chaînes de langue dans les comptes de liens
134* Correction du mail envoyé, ajout de l'état des liens (malade, deplace ou mort) dans le message
135* Nécessite saisies version 2.2.3 pour la fonction ```saisie_balise_structure_formulaire``` (formalisme SPIP 3.1)
136* Bien supprimer les liens qui ne sont plus liés à aucun objet (dans le pipeline ```post_edition```)
137
138### Version 1.2.0
139
140* Refaire fonctionner le post-edition
141* Optimisation des images
142* Des id numériques seulement ça ne devrait pas exister, on préfixe par ```linkcheck_```
143* Une class en minuscule ```linkchecks``` pour avoir l'icone du plugin tout le temps dans les listes d'objets
144* Un peu de CSS
145
146## Versions 1.1.x
147
148### Version 1.1.4
149
150* Gérer singulier_ou_pluriel correctement
151* Un peu mieux coté CSS
152* Ajout du lien de doc
153* Passage en stable
154
155### Version 1.1.3
156
157* Petites vérifications dans la liste des champs à traiter
158* Petites vérifications dans les pipelines
159
160### Version 1.1.2
161
162* La recherche des liens n'est possible que par le webmestre, donc on se base sur webmestre pour les autorisations
163
164### Version 1.1.1
165
166* Réparer l'affichage dans affiche_milieu suite aux changements de ```linkcheck_tables_a_traiter()```
167* Ne pas prendre en compte spip_paquets
168
169### Version 1.1.0
170
171* Compatibilité formalisme 3.1 du formulaire de configuration
172* Indentation
173* Petites améliorations
174* Code css dans une css de plugins
175* Chaîne de langue manquante
176* 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)
177* Utiliser sql_allfetsel + foreach au lieu de sql_select + sql_fetch (moins lourd)
178* Pour les statuts inconnus des liens internes => malade au pire
179
180## Versions 1.0.x
181
182### Version 1.0.2
183
184* Indentation et sécurité
185* Pas de fichier d'options, évite une inclusion inutile
186
187### Version 1.0.1
188
189Version d'origine
190
191## Todo
192
193* 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.