CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Cacher notre code js.

Jeav
Jeav
Niveau 10
27 juillet 2015 à 12:36:38

Salut. ^^

Je sais qu'on peut "cacher" notre code .js avec des sites qui permettent la compression de celui-ci.
Mais est-ce qu'il y a des sites qui peuvent aller plus loin en changeant toutes les variables en lettres ou en chiffres ? (Le choix est vaste étant donné que les variables javascript peuvent prendre tous les caractères utf-8)

Ou alors faut-il le faire manuellement ? Enfin, un truc comme ça doit bien exister de toutes les façons...

Merci d'avance !

Darkandgel
Darkandgel
Niveau 10
27 juillet 2015 à 12:42:31

Tu veux faire quoi exactement ?

Empêcher ton js d’être récupéré par ton utilisateur ?
Pas possible.

Au mieux tu pourras l'obfusquer, le rendant difficilement lisible.

Message édité le 27 juillet 2015 à 12:42:55 par Darkandgel
Jeav
Jeav
Niveau 10
27 juillet 2015 à 13:07:05

Oui c'est ce que je veux dire, le rendre difficilement lisible par le biais de changements automatiques de mes variables.

Exemple, code original:

var bananes = 2;
var oranges = bananes;

Code traduit pour le rendre illisible:

var a = 2;
var ___b = a;

Ah et accessoirement, les chaines de caractère pourraient être encodées avec encodeURI();
Si un tel site existe, c'est cool. :)

deepblue
deepblue
Niveau 16
27 juillet 2015 à 13:13:25

http://www.javascriptobfuscator.com/Javascript-Obfuscator.aspx

Darkandgel
Darkandgel
Niveau 10
27 juillet 2015 à 14:17:38

Si tu en es rendu a vouloir obfusquer ton js, c'est qu'a mon avis tu as mis coté client un truc qui devrait se trouver coté serveur. Just sayin'.

Et obfusquer du code ca ne le rend pas pour autant impossible a lire, juste plus difficile.

lisarael
lisarael
Niveau 13
28 juillet 2015 à 01:16:16

Pareil que Darkandgel : si tu dois protéger du code client, c'est qu'il ne devrait pas se trouver là.

Si c'est pour des raisons de sécurité, alors c'est clairement à mettre côté serveur.
Si c'est pour des raisons de "propriété" : d'une part, ça ne sert à rien (j'ai passé une bonne partie de mon stage de fin d'étude (ça date mais bon) à analyser le code obfusqué de l'API Google Maps pour en utiliser des méthodes non-publiques), et d'autre part, sincèrement, quoi que tu aies codé, tu n'as rien inventé, surtout en js.

Donc bon... combiner/minifier le code à des fins de performance, c'est toujours, toujours utile. Le minifier pour le protéger, c'est toujours, toujours illusoire.

Pseudo supprimé
Pseudo supprimé 28 juillet 2015 à 05:50:48

Et il y a des "désobfuscateurs", pas forcément mirobolants, mais quand même suffisamment performants.

Jeav
Jeav
Niveau 10
28 juillet 2015 à 06:02:55

Oui merci tout le monde.
Je cherchais cela pour compresser et combiner le code pour gagner en performance. ^^

Darkandgel
Darkandgel
Niveau 10
28 juillet 2015 à 10:12:34

Dans ce cas, ce que tu cherches c'est un minifier

Le premier resultat dans qwant : http://minifyjavascript.com/

lisarael
lisarael
Niveau 13
28 juillet 2015 à 16:51:24

Et sinon, un des plus connus et sûrement le meilleur : http://lisperator.net/uglifyjs/

Jeav
Jeav
Niveau 10
28 juillet 2015 à 21:37:14

D'accord, nul besoin de l'obfusquer si je comprends bien. :oui:

Darkandgel
Darkandgel
Niveau 10
28 juillet 2015 à 21:52:05

Yep. En fait obfusquer le code peut meme le rendre plus complexe, ca en fonction de la manière dont c'est fait, tu peux rajouter des morceaux de code inutiles (genre des boucles qui servent a rien).

Pour resumer :

  • Obfusquer : rendre le code le plus difficile possible à lire pour un humain
  • Minifier : réduire un code au maximum pour optimiser les performances.
lisarael
lisarael
Niveau 13
28 juillet 2015 à 22:13:05

Jeav, tu dois juste te dire que l'obfuscation complexifie l'apparence du code, et donc introduit certaines manipulations qui, potentiellement, peuvent le ralentir.

Là où la minification ne fait que supprimer les espaces (inutiles pour la machine), éventuellement renommer les variables (le code fonctionne pareil, tu pourrais très bien coder toi-même en n'utilisant que des variables nommées "ab", "fr", "dz", …). Certains minifiers vont un peu plus loin et te proposent des options de nettoyage du code, en vue de "gommer" certaines mauvaises pratiques qui affectent les performances de ton code.

Pour ça, je t'invite à lire attentivement la doc de uglifyjs qui explique assez bien chaque option et son impact sur ton code. C'est très instructif et ça peut t'apprendre des choses qui permettront d'optimiser ton écriture de code en amont.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment