Giter Club home page Giter Club logo

Comments (18)

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024 1

@bibi6 : est-ce que tu peux donner la liste des liens morts que tu as trouvé ?

Je crois qu'il faudra scripter une recherche de \url et \href.

Si tu as écrit un script qui parse mazhe.bib, tu peux le mettre dans le répertoire "testing". Je suis en train d'y rassembler quelque scripts de vérification automatique de différentes choses (intégrité des figures et références vers le futur principalement).

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024 1

Le wget --quiet est inefficace parce qu'il télécharge effectivement tout ce que contient l'URL.

En python on peut faire sans télécharger :

https://stackoverflow.com/questions/6471275/python-script-to-see-if-a-web-page-exists-without-downloading-the-whole-page

Les egrep par contre me semblent plus concis que ce que je pourrais faire en python.

  • Des ls en bash pour avoir la liste des fichiers
  • Passage à egrep pour créer la liste des URL
  • Passage à python pour vérifier si elles sont bonnes.

Avec ça, on n'a pas encore les URL dans les champs url = "...." de mazhe.bib
Attention : je ne jurerais pas qu'aucune URL ne contienne un "
La dernière contient même une parenthèse non fermée.

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024 1

Ce sont les références aux doux noms de :

  • PDFpersoWanadoo
  • BezoutCos
  • NjCCfW

Pour l'instant je ne les corrige pas, et les tiens en mémoire comme "test" pour le futur détecteur de liens morts en cours de rédaction ...

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024 1

J'ai poussé un premier détecteur d'url mort dans la branche alpha.

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024 1

Je viens de pousser dans 'alpha' une violente purge de 'mazhe.bib'. j'ai supprimé pas mal de \cite.

J'ai pu retrouver quelque documents qui avaient bougé et contacté deux ou trois auteurs.

Mais là je dois avouer que la tâche est démesurée : j'ai encore 27 url cassées. Je crois que c'est un peu idiot de persévérer à tenter de retrouver soit le texte soit l'auteur pour chaque : au final il est sûrement plus simple de trouver une autre source pour les résultats énoncés et qui sont maintenant sans citations.

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024 1

Un nettoyage a été fait, le détecteur d'url cassées fonctionne à peu près (on pourrait beaucoup paralléliser).

J'attends la réponse de quelque personnes pour savoir où retrouver leurs textes, et on relacera de temps en temps les tests. Il se lance avec

<mazhe>/testing/testing.sh --dead-links

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

(je ne sais pas à quoi vous faites référence)

Mais les pages en question sont peut-être encore accessibles sur des sites d'archivages, comme https://web.archive.org/ ou le cache utilisé par Wikimédia, http://archive.wikiwix.com/ ?

(conseil général @LaurentClaessens : un lien utile peut être sauvegardé en un clic sur https://web.archive.org, ça peut aider pour des références que tu n'as que comme lien web)

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

@bibi6 : continuez dans votre lancée, c'est très utile ! (je manque de temps pour relire le Frido depuis quelques temps...)

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

OK je suis d'accord avec tout.

C'est assez compliqué ces hstoires de droit de copie et d'archivage. La mission de archive.org est noble mais risquée.
Je pense que ton approche est donc la bonne.

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

C'est rapide et sûrement insuffisant, mais voici un début :

#!/usr/bin/env bash
# test-url-in-file
for file in $@; do
    egrep -o "\\url\{([^\}]+)" "$file" | sed s/"\\url{"/""/g | test-all-urls.sh
    egrep -o "\\href\{([^\}]+)" "$file" | sed s/"\\url{"/""/g | test-all-urls.sh
done

et

#!/usr/bin/env bash
# test-all-urls.sh
cd /tmp/
for url in $@; do
    wget --quiet "$url" || echo -e "$url invalide ?"
done

C'est très brouillon mais ça donne l'idée.

Cela dit je pense que ça existe déjà, probablement en Python.

from mazhe.

LaurentClaessens avatar LaurentClaessens commented on August 22, 2024

Qu'il existe en python un moyen de savoir si une URL n'est pas un 404 ne fait aucun doute.
Par contre, je ne suis pas certain qu'il existe des moyens tout faits en python pour parser du LaTeX.

Je me rends compte pour l'occasion que 'mazhe.bib' contient plein d'hyperliens dans les champs "note" au lieu de "url". Il faudrait unifier cela ...

from mazhe.

bibi6 avatar bibi6 commented on August 22, 2024

@bibi6 : est-ce que tu peux donner la liste des liens morts que tu as trouvé ?

À vrai dire, c'est juste que je pensais consulter la réf... du coup, je n'ai détecté que celle-là, et manuellement ;)

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

OK

  • Je recommande find . -type f plutôt que ls
  • Le egrep que j'ai fait est très sommaire
  • OK en Python

from mazhe.

bibi6 avatar bibi6 commented on August 22, 2024

Comme updaté, le lien de la source 15 aussi, est mort :(

from mazhe.

bibi6 avatar bibi6 commented on August 22, 2024

Le 21 aussi.

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

Ça marche chez moi ! 👍
Par contre ça ne cherchait pas à vérifier si les liens sont valides comme prévu.

J'espère que #39 aidera.

from mazhe.

Naereen avatar Naereen commented on August 22, 2024

Effectivement...

Je ne me souviens pas d'en avoir vue il y a 3 ans... mais encore une fois je n'ai plus trop utilisé le Frido depuis 2014 😢

from mazhe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.