Ce que fait l’outil
- Ciblage basé sur MIME : traite uniquement les fichiers dont le type MIME contient
text/
oujson
(par ex. : HTML, CSS, JS, CSV, MD, XML, YAML, INI, JSON). - Recherche et remplacement précis : motifs en texte simple ou regex, avec options de sensibilité à la casse et de correspondance de mots entiers.
- Prévisualisation à blanc : voyez exactement quels fichiers et lignes seront modifiés avant l’écriture.
- Périmètre sélectif : incluez/excluez des chemins, motifs glob et extensions.
- Support des encodages : utf-8 par défaut avec prise en charge correcte du BOM.
- Écritures sécurisées : sauvegardes optionnelles et stratégie d’écriture atomique pour réduire le risque de corruption.
- Rapport de modifications : résumé par fichier avec le nombre de correspondances et remplacements.
Cas d’utilisation courants
- Rebranding & mises à jour de texte : noms de produits, détails d’entreprise, mentions légales.
- Migrations d’URL/domaines : remplacer des hôtes anciens, chemins CDN, préfixes de ressources.
- Rotation de configs & secrets : changer des endpoints d’API ou des clés dans des fichiers non binaires.
- Refactorisation de code : renommer des modules, classes CSS, et flags de fonctionnalités.
- Préparation à la localisation : extraire ou normaliser des chaînes codées en dur.
- Hygiène des données : corriger des noms de propriétés JSON, en-têtes CSV ou fautes de schéma.
Comment ça marche
- Choisissez un dossier racine pour l’analyse.
- Définissez votre motif (texte simple ou regex) et la valeur de remplacement.
- Affinez le périmètre avec des globs d’inclusion/exclusion et filtres d’extensions.
- Exécutez une prévisualisation pour voir les fichiers et extraits correspondants.
- Appliquez les changements avec sauvegardes activées pour un retour facile.
- Consultez le rapport avec le nombre de correspondances, fichiers modifiés et éléments ignorés.
Pourquoi utiliser le filtrage MIME ?
Les fichiers binaires contiennent souvent des séquences d’octets qui ressemblent à du texte. Le filtrage MIME limite les opérations aux formats textuels, réduisant les faux positifs et évitant la corruption de fichiers comme les images, polices, archives et exécutables.
Bonnes pratiques
- Faites une sauvegarde ou utilisez un contrôle de version avant de gros remplacements.
- Préférez les limites regex (par ex. :
\b
) pour éviter les correspondances partielles. - Ciblez étroitement avec des globs comme
**/*.js
oucontent/**/*.md
. - Testez sur un petit sous-ensemble puis élargissez à tout l’arborescence.
- Vérifiez les diffs pour confirmer qu’aucune modification indésirable n’a été faite.
Limitations
- Ignore les formats binaires par conception ; si un fichier rapporte un MIME non textuel, il ne sera pas modifié.
- Des regex trop larges peuvent capturer plus que prévu — utilisez la prévisualisation et des ancres.
- Les fichiers monolithiques très grands peuvent nécessiter plus de mémoire ; divisez-les ou ajustez le périmètre si nécessaire.
FAQ
- Quels fichiers sont inclus ?
- Tous les fichiers dont le type MIME contient
text/
(par ex. :text/html
,text/css
,text/markdown
) oujson
(par ex. :application/json
). - Puis-je annuler les changements ?
- Oui. Activez les sauvegardes pour créer des copies
.bak
, ou utilisez votre VCS pour revenir sur des modifications spécifiques. - Est-ce que cela change les permissions ou les horodatages ?
- Les permissions sont conservées. Les horodatages se mettent à jour uniquement sur les fichiers modifiés.
- Réécrit-il les fins de lignes ?
- Il conserve les fins de lignes existantes (LF/CRLF) sauf si votre environnement impose une autre politique.
- Comment éviter de modifier des variables dans des blocs de code que je ne veux pas toucher ?
- Restreignez le périmètre avec des globs d’inclusion, et utilisez des regex avec ancres/contextes pour ne cibler que les régions sûres.