Projet Internet de Patrice BRUNEL et Frederic DEVESA

Projet No 2 : un validateur d'URL performant

LE SUJET

  • Ce projet consiste à écrire un outil pouvant valider des URL et renvoyer un code de retour en fonction des résultats (url ne répond pas, document déplacé, document ok mais demande d'authentification etc...). Il faudra prévoir de pouvoir le configurer de  manière aussi souple que possible (timeout, niveaux de récursivité type de sortie pour les résultats, etc...). Je souhaiterai également pouvoir exécuter ce validateur au travers d'une page web (entrez l'URL à valider et cliquez sur le bouton ok). Si le projet marche bien on peut également envisager de le faire évoluer en proposant de parser une page html pour valider les liens et les emails qu'elle contient, et ce pourquoi pas en parallèle (vérificateur multithread).

    LES SPECIFICATIONS

    Le programme recevra une URL et des paramètres, et renverra un status et le message correspondant pour chaque URL.

    Paramètres

  • URL images Oui/Non (tag IMG SRC="...")
  • niveau de recursivité : 0..n
  • type de retour : interactif/fichier(mail)
  • Recursivité
    On pourra demander de vérifier les liens contenus dans une page HTML, puis ceux contenus dans les pages visées etc.. Nous proposons de resteindre la récursivité aux pages situées sur le même serveur que l'URL en entrée; si une page du site X a des liens inexistants, qu'y pouvons_nous ? Cela éviterait également de parcourir tout le web si on fixe un niveau de recursivité élevé !

    Résultats
    2 modes de retour :

  • interactif : affichage à l'ecran.
  • différé : écriture dans un fichier envoyé en mail.
  • Interface
    Le programme peut se lancer depuis le shell ou depuis une page HTML, ce qui simplifiera la saisie des paramètres.

    Realisation
    Le programme a été developpé en Perl5 en utlisant la librairie LWP du CPAN.

    FONCTIONNEMENT

    CheckURL vous permet de vérifier la validité d'une URL.
    Il fonctionne selon 2 modes :

    Exemple de sortie écran