[Tetaneutral] www.europie.org, l'exemple de ce qu'il ne faut PAS faire

Jérôme Nicolle jerome at ceriz.fr
Tue Aug 27 11:14:35 CEST 2013


Le 22/08/2013 20:28, Emmanuel a écrit :
> Quel est ce CMS ? Ils ont fait le site en php depuis zéro ou ils ont
> utilisé un CMS connu ?

Le CMS est un outil à double tranchant. La plupart savent faire le café,
offrant beaucoup de possibilités et modules qui alourdissent le code et
qui ne sont pas forcement utiles.

Mais le temps d’exécution coté serveur n'est pas tant un problème : le
CPU est souvent au bord de la luxation des pouces sur un serveur web.
C'est moins souvent le cas des I/O disques sur la base de données ou du
réseau coté client. Les facteurs de ralentissements sont, dans l'ordre
décroissant d'importance :

- Volume des pages et références
	- optimiser les images
	- minifier JS et CSS : http://lesscss.org/ +
http://code.google.com/p/minify/
	- n'inclure que le strict nécessaire
	- loader le contenu complémentaire après coup

- Latence des serveurs * nombre de requêtes (surtout pour les inclusions
depuis des sites externes)
	- spriter le skin png / CSS (utiliser des ofsets sur une image plutôt
que des dizaines d'images pour le skin global) :
http://css-tricks.com/css-sprites/
	- ZERO inclusions externes (fb, twitter, whatever) : privacy & perf

- Appels à une base de donnée (coté serveur donc)
	- pas bcp de mage de manœuvre dans un CMS tout fait...
	- décharger les modules / désactiver les fonctions inutiles
	- profiler les requêtes pour les proxyfier ou les shunter

Optimiser totalement un site n'est pas une mince affaire : ça requiert
une bonne maitrise de tous les éléments de la chaine ET une vision
globale du merdier.

Pour la petite anecdote, j'ai eu l'occasion de bosser sur des lancements
de sites souffrant de problèmes de performance il y a quelques années.
C'était surtout du e-commerce sur du soft customisé, on avait donc une
bonne liberté d'action.

En 3 semaines de boulot à 4 personnes, on est passés d'un site qui
tenait 50 users par frontal à une approche un peu plus modulaire qui
montait à l'aise à 15k users simultanés sur des machines deux fois moins
chères.

Les clefs :
* Réduction du contenu (minimize, compilation CSS, sprites)
* Précalcul de toutes les données faiblement variables
* Serveur statique à part / mini CDN, sous nginx
* cache d'opcode (on appelle ça comment en PHP déjà ?)
* Optimisation du modèle de données : fragmentation de la base MySQL,
passage à PostGRE pour certains morceaux, passage en fichiers plats pour
des éléments de configuration

A mon avis, il y a des marges de progrès énormes à cause d'un gros
défaut de formation et de cohérence des équipes en charge de la
conception et de l'intégration des sites.

Maintenant, est ce que ça va être dans le scope de Tetaneutral.net de
monter des ateliers là dessus ? A voir. C'est pas une mauvaise idée je
pense.

@+

-- 
Jérôme Nicolle
06 19 31 27 14


More information about the Tetaneutral mailing list