Python, W3C et automatisation
Ce billet est dédié à l’amie Norore.
Dans la série de mes projets me permettant l’apprentissage de Python, il y avait celui de scripter l’appel aux URL du service fournit par le W3C. J’avais évoqué ce projet dans mon billet FreshRSS - Vérifier la validité du flux.
En effet, le W3C fournit un service de validation des pages HTML et des feuilles de style CSS, indiquant les erreurs ou écarts par rapport à la norme du W3C. Il suffit de copier - coller le code source ou de donner le lien vers un page / le fichier pour avoir le résultat afficher.
Une première ébauche de mon script est disponible ici, sur mon compte Framagit
Pour le paramétrage, c’est dans un fichier Config.ini qui contient
[Blog]
filRSS = https://blog.genma.fr/spip.php?page=backend
A adapter à vos besoins, bien évidemment.
Je me suis inspiré d’un code existant trouvé sur Github, que j’ai adapté à mes besoins. En effet, ce que je veux ce n’est pas valider un seul fichier mais une série de fichiers... dont les URL sont dans le fil RSS.
Pour l’instant, le script récupère le fil RSS, prend les URL des billets dedans. Pour chaque URL, il fait appel au validateur du W3C et ça renvoie le résultat de l’analyse, puis passe à l’URL suivante du fil RSS. Tout ça sur la sortie standard de la ligne de commande.
Il me reste à faire :
– Mail : dès que j’aurai un peu de temps (et l’envie), je pense à ajouter une fonction d’envoi d’un mail donnant le résultat des différents validators. Comme ça, je pourrais en mettant le script dans une crontab, faire qu’il soit lancé une fois par semaine. Et recevoir le résultat par mail. Un moyen simple d’avoir une validation du code HTML de mes billets publiés dans la semaine, de façon automatisée.
– Validation des CSS : ajouter l’appel à la validation des CSS une fois de temps en temps (même si elle ne change pas souvent, ça peut être utile)
– Validation du RSS : ajouter l’appel à la validation du fil RSS en lui-même (comme il reprend le corps de texte des billets, il peut y avoir des erreurs spécifiques au RSS)
– Cumul des erreurs du même type (pour éviter d’avoir plein de lignes en doublons si une même erreur est récurrente),
A suivre donc :)