Home / Fr 🇫🇷 | En 🇬🇧 / Documentations Fr / Base Gmod / La minification (Optimisation)

La minification (Optimisation)

🇫🇷 🇬🇧

imgNorda Creator of this doc
Document Updated ago
Certains pensent être des génies en critiquant l'indentation d'un code mais ne connaissent pas le terme : Minification...

La minification n'est pas un "sale code moche de mauvaise qualité". Un code n'est pas juste fait pour paraitre esthétique, mais pour fournir un service qui fonctionne.

Bon soyons précis, j'ai fait ce choix pour réduire la taille des fichiers. Des fichiers plus petits prennent moins de place dans le cache généralement stocké dans la mémoire, et téléchargé par le client à sa connexion, donc un choix qui impacte le temps de chargement car moins de fichier volumineux à télécharger pour vos utilisateurs, choix que j'applique aussi ici sur ce site et qui paye en performances. Testez ce site sur google speed par exemple en comparaison avec un autre qui est une référence pour vous, vous comprendrez de quoi je parle.

La beauté d'un code prend de la place, elle permet à une équipe de travailler sur le même code et à cette équipe d'y voir clair. Elle permet donc une meilleure organisation.

Ici, il faut prendre conscience que je code seul et que mon code est destiné en premier pour la machine. Donc si vous ne voyais pas l'indentation c'est parce que je minify mon code.

La minification est une forme d'optimisation en web recommandé par Google pour réduire les temps de chargement des sites au maximum et au strict nécessaire pour fonctionner. J'explique en détail dans cette documentation ici, pourquoi et à quoi ça sert.

Pour donner un exemple de comparaison, mon gamemode terminé est plus optimisé qu'un système d'administration lambda seul. Grace à la minification complète du code source. Pourtant il est extrêmement complet et contient aussi un système d'administration au sain de son code source.

En web un code non minifié est à mon sens un code pas terminé.

Les serveurs Gmod souffrent beaucoup des chargements lorsqu'il y a beaucoup de scripts, les utilisateurs mettent beaucoup de temps pour rejoindre un serveur et parfois se découragent avant la fin du chargement et quitte, réduire ce temps pourrait permettre d'éviter qu'ils quittent avant la fin du chargement en le réduisant le plus possible, cette méthode appliqué à tous vos scripts n'est pas à négliger.



En programmation, la minification signifie réduire la taille du code pour réduire la taille d'un programme à télécharger depuis un serveur et ainsi réduire l'encombrement du réseau, sur Gmod la taille d'un fichier Lua coté client s'il est minifié il sera plus rapide à télécharger. Il existe beaucoup de règle d'optimisation cela en est une seul

Pour cela on supprime tous les commentaires inutiles et les caractères qui ne gêneront pas le bon fonctionnement de l'application. On remplace aussi le nom des variables interne à l'application pour les réduire à un seul ou deux caractères. Il est aussi possible d'utiliser certaines écritures compactes propres aux langages (couleur en hexadécimal, raccourcis...)
Ce processus est très utilisé en programmation web.

Exemple 1: Code non minifié
Code non minifié
local function my_supermegahyper_test ( Player , Argument , NUMBER )

local firstnumber = NUMBER[1] ;
return firstnumber * 2;
end
concommand.Add( "give_me_double" , my_supermegahyper_test )



Exemple 2: Code minifié
Code minifié
local function test(a,b,c)return c[1]*2 end

concommand.Add("give_dbl",test)

Appliqué la minification sur toute un programme donne un résultat qui n'est pas négligeable.
Cette méthode est utilisé pour réduire le temps de téléchargements dans beaucoup de langage, lorsque vous travaillez en équipe il est important de faire le point pour ne pas vous y perdre dans les limbes de la minification. Ce qui ne pose pas problème lorsqu'on travail seul.

Cette documentation répond fourni un seul élément d'optimisation sur plusieurs critères :

Comment réduire le temps de chargement de mes utilisateurs sur mon serveur Gmod / DarkRP?


- Réduire nombre de ressources workshop au strict nécessaire à votre projet, ne faite pas télécharger du contenu superflue et inutile.-
- MINIFIEZ VOS SCRIPTS!!!
- Ne surchargez pas vos maps d'entités mal optimisé.