IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Un outil pour fusionner, minimifier et obfusquer tous les fichiers javascripts d'une page html


Sujet :

JavaScript

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 69
    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.

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 69
    Par d�faut
    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?

  3. #3
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    D�cembre 2010
    Messages
    1 009
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : sans emploi

    Informations forums :
    Inscription : D�cembre 2010
    Messages : 1 009
    Par d�faut
    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. ^^

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 69
    Par d�faut
    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.

  5. #5
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    D�cembre 2010
    Messages
    1 009
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : sans emploi

    Informations forums :
    Inscription : D�cembre 2010
    Messages : 1 009
    Par d�faut
    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.

  6. #6
    Membre chevronn� Avatar de nadox
    Homme Profil pro
    D�veloppeur
    Inscrit en
    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
    Par d�faut
    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/

  7. #7
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    D�cembre 2010
    Messages
    1 009
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activit� : sans emploi

    Informations forums :
    Inscription : D�cembre 2010
    Messages : 1 009
    Par d�faut
    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.

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    69
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 69
    Par d�faut
    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.

Discussions similaires

  1. R�ponses: 4
    Dernier message: 19/03/2013, 17h53
  2. R�ponses: 2
    Dernier message: 19/12/2011, 18h20
  3. R�ponses: 9
    Dernier message: 20/09/2010, 17h37
  4. [COMMANDE] copier tous les fichier .c d'une arborescense dans un dossier
    Par SmithC dans le forum Administration syst�me
    R�ponses: 3
    Dernier message: 18/02/2010, 14h49
  5. [RegEx] Probl�me pour enlever les tags javascript d'une source HTML
    Par Easyweb dans le forum Langage
    R�ponses: 4
    Dernier message: 25/02/2006, 02h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo