5160 sujets

Le Bar du forum

Bonjour à tous,

J'utilise un certain nombre d'outils en interne, peut-être pourraient-ils être utiles à d'autres, donc j'en partage un premier, c'est ici : -http://www.creation-site.org/clean-html.html

Il s'agit donc d'un outil de nettoyage de code HTML : vous saisissez votre code tout cochonné dans le formulaire, et il ressort (en principe) tout propre, indenté comme il faut.

Les fonctionnalités sont détaillées sur la page, donc je ne m'étends pas plus et vous invite à tester.

De nombreuses options sont pré-configurées, mais pourraient être mises en option sur demande, il suffit de me contacter.

Toutes vos critiques sont bien sûr bienvenues (encouragements aussi).
Modifié par Laurie-Anne (08 Jul 2011 - 08:49)
Intéressant.
Quelques remarques rapides :
- Où est passé mon doctype ?

<!DOCTYPE html>
<html lang="fr-FR">
<head>
....

devient
<head>
...


- J'ai des CDATA dans ma page, je ne m'attends pas à de l'indentation la dedans.
Ex :

<script>
//<![CDATA[
  jQuery('body').append('<div><p>lorem</p></div>')
//]]>
</script>


- Meta
<meta charset="UTF-8" />

deviens
<meta />

?

Je regarde plus en détail un peu plus tard.
Tu fais ça en php à coup de regex ?
En fait j'ai à plusieurs reprises du récupérer des pages moches pour les refaire, jusqu'ici j'ai utilisé différentes classes php et testé quelques outils à droite à gauche, sans vraiment trouver ce dont j'avais besoin.

J'ai actuellement une centaine de pages de contenu à refaire, donc j'ai fait un mix de ce qui me paraissait le plus efficace (en effet, regex à volonté !).

Je viens de mettre à jour le script, certaines configurations étaient à revoir. Toutes les balises xhtml 1.0 sont maintenant acceptées, ainsi que les attributs. Il ne devrait plus y avoir de problème pour les parties doctype, html, meta, ... dont je ne m'étais pas occupé avant car je n'en avais pas l'utilité.

Pour tidy, tu parles de l'extension php ? Désolé, je ne l'ai que très peu utilisée. C'est ce qu'on trouve dans tinymce, non ?
Laurie-Anne a écrit :
Un nettoyeur de code qui rend le code invalide, c'est pas génial...


Quel bel encouragement, bravo ! Tu as déjà codé un tel process ? Tu sais à quel point tous les scénarios sont difficiles à prendre en compte dès le départ ?
S'il poste ici, c'est justement pour avoir des retours de ce qui ne va pas : si tu veux faire avancer le shmilblick sois plus précise sur les problèmes que tu as rencontré, ne dégaine pas une phrase si peu constructrice.

migli a écrit :
Pour tidy, tu parles de l'extension php ? Désolé, je ne l'ai que très peu utilisée.


http://tidy.sourceforge.net/
http://us3.php.net/manual/en/book.tidy.php

C'est assez puissant, mais pas assez finement personnalisable selon moi.
Pour l'avoir utilisé, j'ai par exemple eu quelques soucis avec des doctypes, avec des balises HTML5 inline.
(la dernière version de la librairie Tidy date de 2008)
Bon alors c'est vendredÿ, je peux troller un peu?

Libratoi a écrit :
Tu as déjà codé un tel process ?

Argument spécieux numéro 1, on n'est pas obligé de savoir faire mieux pour dire que quelque chose n'est pas satisfaisant.

Libratoi a écrit :
ne dégaine pas une phrase si peu constructrice

Argument spécieux numéro 2, une critique qui ne donne pas de piste de solution n'est pas pour autant illégitime ou inutile.

</vendredÿ>

Sinon, sur le fond c'est un outil qui pourrait être intéressant mais le parsing de code HTML c'est un peu du SERIOUS BUSINESS. Est-il vraiment pertinent de développer son propre parseur, alors qu'il existe pas mal de lib qui font ça plus ou moins bien?

(Là comme ça je dirais que ça peut être intéressant de réutiliser le parseur HTML5 d'Henri Sivonen, développé en Java et qui sert de base à validator.nu et au parseur HTML5 de Firefox. On lui balance le code HTML d'origine, on récupère un DOM propre, et on sérialise ce DOM pour obtenir un code propre et indenté comme on le souhaite. Ça serait un gros boulot à réaliser malgré tout pour proposer un outil fonctionnel, donc si on veut du défi ben ça marche aussi.)
Effectivement si je poste ici c'est pour avoir des retours, et faire évoluer le programme s'il s'avère utile à d'autres.

Le but est donc de partager et faire évoluer le script.

Je récapitule quelques points :

1. J'avais besoin d'un code qui me permette de nettoyer du HTML à partir de copié/collé, sans avoir besoin de sauvegarder dans un fichier, et configurer quelques options. Si possible en ligne.

En connaissez-vous un ?

Si la réponse est non, je maintiens que ce script est utile, et bien évidemment perfectible.

Par exemple, actuellement toutes les balises et tous les attributs valides sont acceptés. Pour bien faire, il faudrait vérifier que chaque attribut se trouve bien dans une balise qui l'accepte.

Il est aussi possible de proposer de paramétrer chaque balise et attribut individuellement.

Je me ferai un plaisir de réaliser ces évolutions si mon outil est encouragé et utilisé, car effectivement, SERIOUS BUSINESS.

a écrit :
Un nettoyeur de code qui rend le code invalide, c'est pas génial...

Effectivement, j'aurais tout de même préféré avoir des précisions ...
migli a écrit :
Effectivement, j'aurais tout de même préféré avoir des précisions ...
Le doctype supprimé, déjà signalé par Libratoi ; du coup ça ne me semblait pas utile de le répéter...
J'ai corrigé le doctype. Je revois les questions d'indentation dès que j'ai le temps.

Merci encore pour vos réponses
Hello,


Tu peux regader sur le site -biclim.com dans la rubrique "Convert html to Pdf Html Code Cleaner & Optimizer"
Modifié par Laurie-Anne (30 Jun 2012 - 08:40)
hello !
J'ai tésté ton outils, et voila quelque problèmes que j'ai rencontré :
ton script a remplacé :
			document.location = "http://www......cgi?ref1="+idProd+"&qte1="+qte ; 	


par :
            document.location = "<a href="http://www......cgi?ref1=">www.....cgi?ref1=</a>"+idProd+"&qte1="+qte+"&BACK=<a href="http://www.......cgi">www.......cgi</a>" ; 


il a remplacé : "&eacute;" par "é".

Il a viré toute les value de mon select > option

L'indentation des scripts n'est pas bonne, comme pour les options.

Sinon, sur ton interface, on ne peut pas faire de ctrl+A pour sélectionner tout le code.

Pour finir, un outils comme le tiens, fonctionnel, pourrai être intéressant ! Après, je me rend compte qu'il faut avoir confiance sur l'appli en question pour ne pas avoir la peine de tout relire, voir si il n'y a pas de bug
Bonjour,

Merci de ton retour. Pourrais-tu m'envoyer ton code (ou juste une partie), que je teste moi-même ?

Je corrigerai alors tout ce que tu m'as signalé
Bonjour,

Le script a tenté de parser l'URL dans ta balise script ...!
maintenant ça passe comme il faut.

J'en ai profité pour mettre la conversion d'URL en liens en option, et j'ai placé le résultat dans un textarea sélectionnable.

Merci pour ta contribution
Je trouve que c'est quand même du beau boulot. Par contre, il me fait sauter mes <i> alors que j'ai décoché l'option... Smiley bawling
Sans quoi ce serait mon nettoyeur préféré.
Problèmes supplémentaires : il fait sauter les insécables &nbsp; (je bosse sur des epubs pourris), remplace mes &ndash; par des tirets...
Modifié par 1ded6 (29 Aug 2012 - 13:53)