Skip to content

5- Code serveur

  1. Utiliser un moteur de templating
    • Twig, Smarty, etc. fournissent toujours un système de cache
  2. Utiliser tous les niveaux de cache du CMS
  3. Générer les PDF en dehors du CMS
    • Eviter la génération de PDF à la volée
    • Créer des fichiers PDF en dehors du site et les proposer au téléchargement
  4. Redimensionner les images en dehors du CMS
    • Ne pas utiliser le CMS pour ça, ce n'est pas fait pour et c'est très gourmand en ressources
  5. Encoder les sons dehors du CMS
  6. Utiliser un thème léger
  7. Eviter la réécriture des getters/setters natifs
    • Ne pas les surcharger pour les langages objets
  8. Ne pas assigner inutilement de valeur aux variables
    • $v = $crm->fetchAllClients(); return $v;
    • return $crm->fetchAllClients();
  9. Mettre en cache les données calculées souvent utilisées
    • Cache de type key->value en RAM, bien plus performants
  10. Mettre en cache le code intermédiaire
    • Compiler l'interprété en bytecode (Hiphop VM, APC, ...)
  11. Utiliser la simple quote (') au lieu du guillemet (")
    • Réduit les cycles CPU car le langage ne cherche pas s'il y a des variables dans la chaîne
  12. Remplacer les $i++ par des ++$i
    • $i++ génère une variable temporaire
  13. Libérer de la mémoire les variables qui ne sont plus utilisées
    • Notamment les tableaux et les variables de grandes tailles
  14. Ne pas appeler de fonction dans la déclaration d'une boucle for
    • Mettre le résultat de la fonction dans une variable qu'on utilisera dans la boucle for
  15. Supprimer tous les warnings et toutes les notices
    • Ralentissement car ils doivent retracer les erreurs et les journaliser
  16. Utiliser des variables statiques
    • Pour éviter d'exécuter plusieurs fois le même code
  17. Eviter d'effectuer des requêtes SQL à l'intérieur d'une boucle
    • Récupérer les données dans un tableau puis les injecter en SQL
  18. Ne se connecter à une base de données que si nécessaire
    • Tout ce qui peut être généré en statique doit l'être pour éviter les connexions BDD coûteuses en ressources
  19. Ne jamais écrire de SELECT * FROM
    • Préciser les colonnes à inclure
  20. Limiter le nombre de résultats
    • Utiliser LIMIT pour limiter le nombre de résultats au nécessaire
  21. Utiliser des procédures stockées
    • Evite au serveur d'interpréter la commande car elle est précompilée
    • Moins de bande passante utilisée