weblint
This commit is contained in:
parent
1c96628267
commit
1a0bb71533
|
@ -0,0 +1,49 @@
|
|||
status: hidden
|
||||
title: Python — Weblint
|
||||
slug: EiN8shae-weblint
|
||||
robots: noindex
|
||||
|
||||
# Web Linter
|
||||
|
||||
Développez un programme, s'utilisant dans un shell uniquement (pas
|
||||
d'interface graphique, pas d'interface web, pas de curses, que du text
|
||||
dans un émulateur de terminal) prenant une (ou plusieurs) URL en
|
||||
paramètre et effectuant une batterie de tests dessus, l'idée est de
|
||||
pouvoir l'utiliser dans une CI comme un jslint, csslint, des tests
|
||||
unitaires, etc... ou comme outil de monitoring branché sur un nagios
|
||||
like.
|
||||
|
||||
Le projet s'appelle
|
||||
[weblint](https://mdk.fr/pages/obiree2uaza2sh-rendu.html).
|
||||
|
||||
Les tests à implémenter sont libres, le nombre de tests, la variété
|
||||
des tests, et la qualité de l'implémentation feront partie de la
|
||||
note. Voici quelques idées de tests pour vous inspirer :
|
||||
|
||||
- Cohérence des headers (encoding pareil que dans la meta et que dans
|
||||
la page, content type existant) (langue du contenu identique à la
|
||||
langue annoncée,...), Vérifier que la page est bien envoyée compressée
|
||||
si le client le gère, ...
|
||||
- Headers à jour : CSP, x-frame-options etc...
|
||||
- Vérification orthographique
|
||||
- Vérification grammaticales
|
||||
- Temps de réponse
|
||||
- Présence de 404
|
||||
- Présence de liens HTTP alors qu'en face y'a du HTTPS
|
||||
- Si présence de flux RSS / Atom : vérifier leur contenu, content types, ...
|
||||
- Si présence de CSS / JS externes vérification de leur headers, temps
|
||||
de réponse, contenu, minification
|
||||
- Si c'est une Home page, vérifier aussi le robots.txt, le
|
||||
security.txt, ...
|
||||
- Si c'est du HTTPS vérifier aussi si c'est bien fait (expiration pas
|
||||
trop proche,...).
|
||||
- Si y'a du AMP vérifier via amphtml-validator.
|
||||
|
||||
Les erreurs devront être remontées dans un format simple et lisible,
|
||||
une erreur par ligne, aucune ligne ne doit être autre chose qu'une
|
||||
erreur, inspirez vous de pylint, flake8, gcc, php -l, etc…
|
||||
|
||||
Vous pouvez implémenter une option "--verbose" et "-v" pour rajouter
|
||||
des informations, éventuellement "-vv" pour rajouter du débug
|
||||
(n'hésitez pas à utiliser les bibliothèque standard logging et
|
||||
argparse).
|
Loading…
Reference in New Issue