C'est un fait, Google offusque son code (côté client) avant de nous l'envoyer.

Voici un exemple d'un fichier JS parmi tant d'autres, il manque les retours à la ligne et le nom des variables n'est pas pourvu de sens alors que nous pouvons supposer que c'est le cas dans le code original que Google a écrit.

function ig_a(a,b){var c=function(){};c.prototype=a.prototype;b.prototype=new c}function _gel(a){return document.getElementById?document.getElementById(a):null}function _gelstn(a){if(a=="*"&&document.all)return document.all;return document.getElementsByTagName?document.getElementsByTagName(a):[]}function _gelsbyregex(a,b){var c=_gelstn(a),d=[];for(var e=0;e<c.length;e++){if(b.test(c[e].id)){d.push(c[e])}}return d}function _uc(a){return a.toUpperCase()}function _trim(a){return a.replace(/^s*|s*$/g, "")}function _esc(a){return window.encodeURIComponent?encodeURIComponent(a):escape(a)}var ig_aa=function(a){return ...

Est-ce seulement parce que Google veut gagner de l'espace et consommer moins de bande passante ? Ou essaye-t-il de cacher certaines fonctionnalités ? (alors même qu'offusquer son code n'est pas sûr)... Pourtant, il semble que Google bénéficie des gens hackant "amicalement" leur code... Ils ont même sorti une API pour Greasemonkey permettant de produire des hacks plus facilement pour Gmail.

Et pensez à la façon dont l'API Google Maps est née, selon les mots de l'époque employés de Google Pamela Fox (et n'oublions pas qu'une API augmente les problèmes en terme de bande passante).

Je me rappelle quand maps.google.com a été lancé, je pense qu'à ce moment là quelqu'un a fais du reverse enginering sur cette application pour l'utiliser comme il le désirait.

Et je crois que Google a trouvé cela tellement génial qu'il a décidé d'en faire une API. Et c'est la manière dont les choses se passent aujourd'hui; Les gens réalisent après coup qu'une fonctionnalité pourrait leur être utile et montrent alors comment cela pourrait être fait. Et après Google l'officialise.

Imaginez si Google produisait un code facilement appréhendable pour l'utilisateur; En plus d'augmenter la taille des fichiers, cela signifie également qu'ils ont réalisé des API rapides et pas bien finies pour la plupart de leurs applications. Les gens serraient aussi capable d'apprendre le code de Google. Et avoir des développeurs sur le pont n'est pas un acte altruiste après tout. Cela peut même avoir une finalité pour une entreprise commerciale, les développeurs sont ainsi plus enclins à parler des services de Google autour d'eux, à de futurs utilisateurs...

Une traduction du blog Outil Référencement. Source : Blogoscoped avec l'aide de MrFucx pour la traduction

Rss du blog outil Référencement


Article suivant : 63% des utilisateurs de Google Adsense voient leurs revenus dimi...
Article précédent : Pourquoi Google offusque son code ?



Commentaires

15 février 2008 par Romain

Cela ne parait rien à voir avec le fait de rendre le code illisible.
Il est juste compressé à mort pour grapiller quelques octets par page.
Sur les milliards de pages vues par jour de Google cela permet d'obtenir un gain important au niveau du débit.

15 février 2008 par Maxime

Bonjour,

Je pense que c'est simplement pour gagner de l'espace et donc du trafic.

Si le morceau de JS est réduit de 20%, sur le nombre de téléchargements quotidiens de ce bout de code, cela peut représenter une économie non négligeable de bande passante.

Maxime

15 février 2008 par Virginie

Pourquoi Google _cherche-t-il à rendre son code illisible_ ?

Merci de ne pas maltraiter la langue française avec de tels anglicismes...

15 février 2008 par Aurélien

@Romain et Maxime : Vous avez certainement raison.

@Virginie : Oops, j'utilise souvent des anglicimes (pour me la péter) mais là je pensais bien faire désolé. Le mot semble être dans le dictionnaire (ici) et la définition semble correspondre (ici).

Sans compter que c'est le terme le plus souvent utiliser pour les informaticiens pour décrire ce fonctionnement. J'avoue aussi avoir pensé que ce titre certes un peu nébuleux augmenterait le taux de clic dans les agrégateurs :)

22 février 2008 par effisk

C'est un traduction de "to obfuscate" ? Ça sonne bizarre en français.

24 février 2008 par Seb

le code est certainement compressé pour des questions de performances, mais il est tout à fait possible d'effectuer la manipulation inverse pour analyser le code JS...

Ajouter un commentaire :

Les commentaires pour ce billet sont fermés.