Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

10 réponses

1 2
Avatar
Denis Beauregard
Le Fri, 4 Jan 2008 00:31:52 +0100, "Tonio"
écrivait dans fr.comp.infosystemes.www.auteurs:

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



J'ai eu le même problème à résoudre récemment. Dans mon cas, je
voulais la liste des fichiers de mon site et il y en a plus de
80 000.

Ma solution était de faire ce script en PHP:

<?

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

?>


Je n'avais que 80 000 fichiers, donc cela faisait une page de
80 000 lignes, ce qui est encore gérable avec un fureteur.
On lit et on enregistre. Je suppose qu'il y a une limite.
Ces 10 Go de fichiers, c'est des petits ou des gros fichiers ?

La solution idéale aurait été de faire un ls >liste mais mon
hébergeur ne permet pas une telle configuration.

Évidemment, si le serveur n'est pas linux, il faut utiliser la
bonne commande au lieu de ls !


Denis
Avatar
SAM
Tonio a écrit :
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.



Essayer voir si : HtmlRename ferait ce que tu veux :
<http://www.xlanguage.com/products/rename.htm>
je sais qu'en local il sait trouver tous les orphelins et liens cassés
dans les fichiers et je crois(?) qu'il peut le faire sur un site.
Libre d'emploi pour 15 jours d'essai.

Bemol : il ne comprend que le html (de préf en soupe de tags)
ce n'est pas un soft très nouveau ni très mis à jour ...

--
sm
Avatar
Paul Gaborit
À (at) Fri, 4 Jan 2008 00:31:52 +0100,
"Tonio" écrivait (wrote):
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) ?



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'.

Évidemment, si le site utilise de nombreuses redirections ou des pages
dynamiques (SSI, PHP ou autres), ça ne sera pas suffisant pour
retrouver les fichiers réellement utilisés...

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Avatar
Bruno Baguette
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 ? :-)

--
Bruno Baguette
Avatar
Thierry B.
--{ Tonio a plopé ceci: }--

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



Peut-être avec Lynx est l'option -traversal ?

--
Au fait, vous savez que votre cagoule est percée ?


Savez vous qu'une cagoule non perçée n'est utilisable que par un aveugle ?
--{ JGDL, dans fr.misc.divers }--
Avatar
Thierry B.
--{ Tonio a plopé ceci: }--

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



Peut-être avec Lynx et l'option -traversal ?

--
Au fait, vous savez que votre cagoule est percée ?


Savez vous qu'une cagoule non perçée n'est utilisable que par un aveugle ?
--{ JGDL, dans fr.misc.divers }--
Avatar
Tonio
Bonjour,

"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).

Et je pense que votre solution sert à lister les fichiers présents dans le
répertoire du serveur web.

Bonne soirée.

--
Antoine
Avatar
Tonio
Bonsoir,

"Paul Gaborit" a écrit dans le message de
news:

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'.



Merci, ça a très bien fonctionné !

Bonne soirée.

--
Antoine
Avatar
Tonio
Bonsoir,

"Bruno Baguette" a écrit dans le message de
news:

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 ? :-)



Ca n'a pas marché...

Merci tout de même.

--
Antoine
Avatar
SAM
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)

Pas trop vu dans l'aide comment faire
<http://www.gnu.org/software/wget/manual/wget.html>

--
sm
1 2