Accéder au contenu.
Menu Sympa

technique - Détection de doublons & nettoyage de cod e DreamWeaver

Objet : Liste pour les discussions techniques (liste à inscription publique)

Archives de la liste

Détection de doublons & nettoyage de cod e DreamWeaver


Chronologique Discussions 
  • From: Lucile Fievet <lucile.fievet AT eufar.net>
  • To: lucile.fievet AT cnrm.meteo.fr, technique <technique AT april.org>
  • Subject: Détection de doublons & nettoyage de cod e DreamWeaver
  • Date: Fri, 14 Mar 2008 18:15:10 +0100
  • Organization: Eufar

La version linkeuse !

Bon si vous aimez vivre dangeureusement ;o) ou que la récupération d'un site développé par des pervers sous Cauchemard-Weaver vous donnes des tendances de Psychopath et que vous en avez marre de voir double :o)

Vous pouvez tester la V2 du script doublon.sh
-> il liste tous les fichiers identiques (même nom et même contenu)
-> si il y'a un répertoire de dépôt en argument il déplace le(s) doublons dedans.
-> et il fait un lien symbolique à la place des doublons.

(il évite les répertoires CVS)

Du coup le site fonctionne toujours mais avec un exemplaire unique de chaque fichier.
Au commit CVS n'y vois que du feu, par exemple si vous avez passé vôtre plate-forme de développement au script et puis "commité" cela ne changera rien pour l'update en testing ou en prod.

c'est un script verbeux qui dit tout ce qu'il fait. Personnellement je ne le testerais pas en tant que root :o) et je ne m'amuserais pas à nommer mes fichiers n'importe comment...et sans avoir un bon CVS

Exemple :
si mon site est publié dans /home/www/sitedbl
que je veux mettre les sources dans /home/www/link
et que j'ai copié mon script dans /home/room

chmod 755 doublon.sh
./doublon.sh /home/www/link /home/www/sitedbl /home/room >> toto

Le script est pas interactif, il faut faire Ctrl C pour sortir, il n'évite pas les répertoires SUBVERSION ou autres gestionnaires de version ... il suffit pour cela de changer la ligne 84

la version linkeuse est en attachement

lucile
a+

Lucile Fievet wrote:
J'avais zappé la réponse pour fdups, je l'ai testé hier, il est vraiment très bien.

Il y'en a aussi des graphiques comme fslint et un autre dans la suite KDE qui sont pas mal.

il y'a one.sh qui est sympath aussi :

http://www.kde-apps.org/content/show.php/one.sh+search+&+delete+duplicate+files?content=51992

Mais ils sont tous orientés administration système; perso je cherche un outil me permettant de nettoyer du code php généré par dreamweawer:

*nombreux fichiers carrément dupliqués ou trèèèès légèrement modifiés (espace, ligne, commentaires, un nom)

*nombreux entêtes javascripts identiques.

*promène de liens relatifs.

*copier coller de pavé de code moisis dans toutes les pages.

*pas de vérification des variables passées.

*très peut de fonctions (0 objet).

*imbrication abusive du PHP/HTML/style.

La sécurité ne me semble pas problématique car je suis dans un contexte où le nommage/présence/contenu des fichiers est déjà contrôlé et sous CVS.(En tout cas mes deux trois moulinettes bash ne me posent pas de problèmes particuliers "chez moi ca marche" je n'appelle pas mes fichiers `rm -rf :o) je ne bosse pas en root).

C'est pour cela que j'aimerais pouvoir adapter les scripts de nettoyage pour prendre en comptes les fichiers qui se ressemblent du point de vue code (ignorer les différences de retours chariots ou espaces...).

Et les fusionner en un seul fichier :
0- solution crade mais rapide: Les remplacer par un lien symbolique ou direct,

1- solution plus propre:
-Trouver où ses fichiers sont appelés (apache, cron, include php, liens html, actions javascript, css, base de donnée)

-Remplacer leur chemin d'accès dans le "code" (php/html/javascript/css/crontab/httpd.conf)

-Faire un résumer, pour pouvoir tester les pages impactées et éviter les régressions.

-Mettre CVS à jour pour pas qu'il remette les fichiers en place à l'update..

3- solution entre les deux: les remplacer par un fichier du même nom qui ferait un "require_once",location,include ou @import (php, html, js, css) du fichier élu; et au passage y coller une fonction qui comptabilise et note où et comment il est appelé... (ne fonctionne pas pour les images mais cause moins d'ennuis avec CVS...)


Je pourrais remplacer l'appel au checksum par un diff avec les options qui conviennent dans un des nombreux scripts de détection de doublons. Puis y greffer la moulinnette dependance.sh (grep+sed) pour lister les fichiers à passer à une autre moulinnette (sed)... pour mettre à jour les chemins(include,require,href=,action=...)

Mais déjà si j'avais un "fdups" qui ne suprime pas les fichier mais me fasse un lien symbolique ou directe à la place ça serait pas mal...

lucile

Attachment: doublon.sh
Description: application/shellscript




Archives gérées par MHonArc 2.6.16.

Haut de le page