OVH Cloud OVH Cloud

Aspirateur noms de fichiers

17 réponses
Avatar
Tonio
Bonjour,

Je ne suis pas sûr d'être sur le bon NG. D'avance, merci de votre aide ou de
me renvoyer vers le bon NG.

Voilà mon problème :
Je dispose d'un site web très "bordélique", avec des fichiers dans tous les
sens, des pages codées en HTML n'importe comment et j'en passe ! Le tout
pesant presque 10 Go !

Ne voulant pas reprendre tout à 0 pour l'instant, je voudrais au moins
lister les fichiers orphelins (c'est à dire ceux vers lesquels aucun lien ne
pointe dans aucune page) car il y en a beaucoup.

J'ai pensé faire un comparatif entre la liste de tous les fichiers présents
dans le répertoire et la liste des fichiers visibles par un visiteur (donc
via des liens). Mais impossible de trouver un soft qui me liste tous les
fichiers ou liens d'un site. Je ne trouve que des aspirateurs qui permettent
de récupérer les fichiers (ce qui ne intéresse pas vue la taille du site).

Donc quelqu'un aurait-il une solution pour moi ? Un aspirateur de noms de
fichiers (et non pas un aspirateur de fichiers) ?

Merci.

--
Antoine

7 réponses

1 2
Avatar
Olivier
Tonio a écrit, le 04/01/2008 19:34 :
"Denis Beauregard" a
écrit dans le message de news:

Ma solution était de faire ce script en PHP:

<?

echo "<pre>n";
system("ls -ali -R . ");
echo "n</pre>n";

?>



Merci, mais ma question concernait le listage des fichiers du point de vue
d'un visiteur et non pas le listage des fichiers présents dans le répertoire
du serveur web (pour ça, je n'ai aucun problème car j'ai accès à l'OS).



Salut,

j'avais compris la même chose que Denis...
Du point de vue d'un visiteur, la réponse est apportée le 23/12 :
en supposant que tu sois sous windows, il y a « xenu » :
<http://home.snafu.de/tilman/xenulink.html>.

--
Olivier
- Parce que sinon cela rompt le cours normal de la conversation.
- Pourquoi répond on après la question ?
<http://www.faqs.org/faqs/fr/usenet/repondre-sur-usenet/> merci.
Avatar
Tonio
Bonjour,

"SAM" a écrit dans le message
de news: 477eba3c$0$894$

Comment faire pour qu'il rapporte tous les orphelins ?
(les fichiers existants non accessibles depuis un des fichiers du site)



A vrai dire, je n'ai pas ce problème car j'ai accès au répertoire du serveur
web (via l'OS) et donc je vais comparer la liste obtenue par wget avec un
bête dir ou ll effectué sur le répertoire en récursif. Le différentiel
correspondra aux fichiers orphelins.

--
Antoine
Avatar
Paul Gaborit
À (at) Fri, 04 Jan 2008 10:59:38 +0100,
Bruno Baguette écrivait (wrote):
Paul Gaborit a écrit :

Donc quelqu'un aurait-il une solution pour moi ? Un aspirateur de
noms de fichiers (et non pas un aspirateur de fichiers) ?



Pour faire cela, on peut utiliser 'wget' (par exemple) avec son option
--delete-after et en gardant les logs de wget pour analyse des
fichiers téléchargés. Un truc du genre :



Au lieu d'utiliser delete-after, ne serait-il pas plus indiqué
d'utiliser --spider qui éviterait ainsi au posteur original de
massacrer du traffic pour des prunes ? :-)



Le but est de suivre *tous* les lien. Il faut donc analyser le contenu
et donc le charger. Sinon je ne vois pas comment ça pourrait
marcher... ;-)

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Paul Gaborit
À (at) Fri, 04 Jan 2008 23:59:07 +0100,
SAM écrivait (wrote):
Paul Gaborit a écrit :
fichiers (et non pas un aspirateur de fichiers) ?



Pour faire cela, on peut utiliser 'wget' (par exemple) avec son option
--delete-after et en gardant les logs de wget pour analyse des
fichiers téléchargés. Un truc du genre :

wget -o log.txt -r -nd --delete-after http://le.site.bordelique/

Tout sera dans 'log.txt'.



essayé, ça semble rapide mais ...
- Semble n'avoir suivi que les liens (href ou src) qu'il a pu trouver
- Rapporté les erreurs (lien cassé) mais ne donne pas l'origine du lien
(dans quel fichier était cet appel de fichier inexistant ?)
- Pas indiqué les fichiers orphelins (ni les dossiers)

Comment faire pour qu'il rapporte tous les orphelins ?
(les fichiers existants non accessibles depuis un des fichiers du site)



wget passe par le serveur web. Il ne peut donc pas retrouver des
fichiers ou des parties de l'arborescence non visibles via le web.

Les orphelins sont donc les fichiers et dossiers présents sur le
serveur mais que wget n'a pas vus.

Pour les liens cassés, c'est une autre histoire...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
SAM
Paul Gaborit a écrit :
À (at) Fri, 04 Jan 2008 23:59:07 +0100,
SAM écrivait (wrote):
Paul Gaborit a écrit :

wget -o log.txt -r -nd --delete-after http://le.site.bordelique/



essayé, ça semble rapide mais ...
Comment faire pour qu'il rapporte tous les orphelins ?
(les fichiers existants non accessibles depuis un des fichiers du site)



wget passe par le serveur web. Il ne peut donc pas retrouver des
fichiers ou des parties de l'arborescence non visibles via le web.



J'espérais que via ftp il eût pu mais ...
j'ai dû me gourationner dans les --ftp-password et autres divers du genre
car ... nada ! :-(

Les orphelins sont donc les fichiers et dossiers présents sur le
serveur mais que wget n'a pas vus.



Comme le log.text est assez touffu (avec qque fois >5 lignes pour dire
OK ...), peut-on limiter ces lignes ?

Pour les liens cassés, c'est une autre histoire...



Ça passe par des réponses serveur 302 puis 404 et finalement OK
... :-/

pas d'option ? (--origine-lien-out ?)
ne relever que les cassés
puis recherche de ces liens dans les fichiers html
par exemple.

Peut-être n'ai-je pas bien compris la finalité de wget ?
et qu'il n'est, après tout, qu'un aspirateur de site limité aux liens et
src exprimés dans les fichiers html ?

--
sm
Avatar
Paul Gaborit
À (at) Sat, 05 Jan 2008 13:42:06 +0100,
SAM écrivait (wrote):
Peut-être n'ai-je pas bien compris la finalité de wget ?
et qu'il n'est, après tout, qu'un aspirateur de site limité aux liens
et src exprimés dans les fichiers html ?



À la base, c'est un simple outil de récupération de fichiers via
HTTP(S) ou FTP. Il peut aussi faire office d'aspirateur de site(s).
Mais ce n'est pas un outil de vérification de sites (conformité, liens
cassés, recherche d'orphelins, etc.).

Ceci étant, grâce à quelques-unes de ses options et via l'analyse du
logfile, il répond parfaitement à la demande originale de ce fil.

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
VarioFlux
Tonio a utilisé son clavier pour écrire :
Bonjour,

"SAM" a écrit dans le message de
news: 477eba3c$0$894$

Comment faire pour qu'il rapporte tous les orphelins ?
(les fichiers existants non accessibles depuis un des fichiers du site)



A vrai dire, je n'ai pas ce problème car j'ai accès au répertoire du serveur
web (via l'OS) et donc je vais comparer la liste obtenue par wget avec un
bête dir ou ll effectué sur le répertoire en récursif. Le différentiel
correspondra aux fichiers orphelins.



Et pour les fichiers utilisés en "include" ?

--
VarioFlux @-`-,--

Abeille épouserait frelon. Lune de miel assurée.
1 2