Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2011, 14h53   #1
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 69
Points : 35
Points : 35
Par défaut Un outil pour fusionner, minimifier et obfusquer tous les fichiers javascripts d'une page html

Bonjour,

Pour plus de clarté, je sépare mon code javascript en plusieurs fichiers.
J'aimerai trouvé un outil qui parcours ma page html, recense tous les fichiers js et génère un seul fichier javascript avec mon code minifié et si possible obfusqué.

J'avais trouvé cette outil:
http://www.javascriptmvc.com/docs.html#&who=steal.build

mais je n'arrive pas à le faire fonctionner.

Vous connaissez d'autres solutions similaires?

merci.
grav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 16h15   #2
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 69
Points : 35
Points : 35
Bon mon post n'a pas inspiré grand monde.
J'ai réussi à faire fonctionner stealJs avec l'aide de leur forum. Le résultat un fichier js avec tous mes fichiers javascript fusionnés. Le code est minifié mais pas obfusqué. Je chercherai plus tard un obfuscator qui fonctionne avec mon code. D'expérience je sais que ce traitement sur les sources est délicat et génère pas mal d'erreurs.

Cela fait longtemps que je n'ai pas développé avec javascript. Avec la montée en puissance d'ajax et les grosses appli que l'on peut voir (gmail, google docs etc.) je m'attendais à trouver des environnements plus développé avec ce genre de fonctionnalités intégrées. J'ai cherché pas mal de temps et je n'ai rien trouvé. Le seul environnement de dev qui semble assez costaud est GWT mais c'est du java, pas du javascript pur.
Javascript mvc est pas mal mais assez lourd en taille des fichiers et sans solution tout intégrée. La "compilation" se fait en ligne de commande.

Pour l'instant j'utilise aptana et firedebug sous mozilla. Le debugage est correcte mais l'ide est moyen. L'autocomplétion est très perfectible.

N'existe il vraiment aucun environnement sérieux pour javascript?
grav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 16h43   #3
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 861
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 861
Points : 1 366
Points : 1 366
l'obfuscation réelle en javascript est difficile, car le code pourra toujours être réinterprété si tu considères que les navigateurs doivent pouvoir le faire, un utilisateur lambda pourra lui aussi exécuter/traduire ton code.

perso, je connais 2 types :

- celui-ci (posté par nadox qqes sujets plus bas):
http://utf-8.jp/public/jjencode.html
qui sert plus pour le "fun" et rendre le code vachement illisible ! (mais rallonge aussi énormément la taille de tes fichiers).

- et celui-ci : (algorithme de Dean Edwards)
http://javascriptcompressor.com/
que j'aime beaucoup et qui fonctionne très bien même s'il n'est pas parfait. il sert avant tout à minimiser puis compresser ton code et le rend par la même occasion un peu illisible. mais un reverse(en mode lisible) se fait par un simple "chaine.replace()" donc pas top pour la protection. ^^
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 18h00   #4
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 69
Points : 35
Points : 35
Merci pour ta réponse.

Je ne suis pas non plus adepte des obfuscator qui rajoute du code pour "polluer" les programmes. En revanche un outil qui remplace les noms de variables par des noms aléatoires rend déjà les sources beaucoup moins compréhensible. Le problème est que cela peut générer pas mal d'erreur.
un this['var'] au lieu de this.var et cela peut déconner. Il faut trouver le bon produit intelligent.
grav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 18h11   #5
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 861
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 861
Points : 1 366
Points : 1 366
Citation:
Envoyé par grav Voir le message
Merci pour ta réponse.

Je ne suis pas non plus adepte des obfuscator qui rajoute du code pour "polluer" les programmes. En revanche un outil qui remplace les noms de variables par des noms aléatoires rend déjà les sources beaucoup moins compréhensible. Le problème est que cela peut générer pas mal d'erreur.
un this['var'] au lieu de this.var et cela peut déconner. Il faut trouver le bon produit intelligent.
l’algorithme de dean edward est vraiment bien foutu ! (le seul truc que je lui reproche, c'est que parfois il remplace trop et donc ne maximise pas la compression.)

ça remplace chaque "mot"(mots clés, fontions, noms de variables etc...) par un chiffre ou une lettre qui correspond à la position de ce "mot" dans un tableau.

Pour l’exécution, ça utilise simplement la fonction "replace" pour chaque "mot" du tableau sur le texte à exécuter avant d'effectuer un "eval". (dans les grandes lignes.)

Je n'ai jamais eu d'erreurs sur cette compression. Le seul endroit où il faut faire attention, c'est à la minimisation si tu as oublié un point virgule qui ne posait pas de problème grâce au saut de ligne que tu as certainement mis après l'instruction... si le saut de ligne est supprimé, le code ne fonctionnera plus.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2011, 18h20   #6
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Bonjour,

Sinon je viens de voir que google proposait un truc qui à l'air plutôt pas mal (pas encore testé) qui semble correspondre à la description d'un IDE qui fait aussi la compression. Par contre il ne fait peut-être pas qu'une simple compression...

A tester !

http://code.google.com/intl/fr-FR/closure/compiler/
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 18h25   #7
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 861
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 861
Points : 1 366
Points : 1 366
Citation:
Envoyé par nadox Voir le message
Bonjour,

Sinon je viens de voir que google proposait un truc qui à l'air plutôt pas mal (pas encore testé) qui semble correspondre à la description d'un IDE qui fait aussi la compression. Par contre il ne fait peut-être pas qu'une simple compression...

A tester !

http://code.google.com/intl/fr-FR/closure/compiler/
c'est juste un minifier je pense mais pour ce que je viens de tester, il semble meilleur que celui de dean edwards. l'idéal serait alors de minifier le code avec google "closure compiler" et ensuite packer avec "javascript compressor" de dean edwards.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 19h13   #8
Nouveau Membre du Club
 
Inscription : décembre 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 69
Points : 35
Points : 35
Google closure à l'air assez sympa. C'est ce qu'utilise le projet javascriptMVC pour compresser leurs sources. Ca inspire donc confiance.

Je ne me suis toujours pas intéressé à l'obfuscation mais merci pour la référence dean edward, je vais regarder.

Sinon je crois que j'ai enfin trouvé un environnement qui me convient:
Je développe en javascript pure et utilise la notion de "prototype" pour faire de la POO (avant j'utilisais une bibliothèque pour le faire). Quelques liens intéressant à ce sujet:
héritage
porté
accès

J'utilise NetBeans (pour php) qui offre une très bonne autocomplétion javascript. En comparaison Aptana est beaucoup plus décevant et le plugin d'éclipse bug sous windows xp.

Je fais pour l'instant la doc et la compression avec documentJs et stealJs du projet javascriptMVC.

Cela commence à prendre tournure.
grav est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h15.


 
 
 
 
Partenaires

Hébergement Web