Optimisation conceptuelle
Savoir résoudre un problème est une chose, le résoudre efficacement en est une autre !
Citons :
"Un bon algorithme est comme un couteau tranchant : il fait exactement ce que l'on attend de lui, avec un minimum d'efforts.
L'emploi d'un mauvais algorithme pour résoudre un problème revient à essayer de couper un steak avec un tournevis :
vous finirez sans doute par obtenir un résultat digeste, mais vous accomplirez beaucoup plus d'efforts que nécessaire,
et le résultat aura peu de chances d'être esthétiquement satisfaisant".
- Thomas Cormen, Charles Leiserson, and Ronald Rivest. Introduction à l'algorithmique. Dunod, 1994. -
Optimisation de sites internet
L'optimisation d'application web est une manière globale d'évoquer tout un travail
devant se décomposer en plusieurs parties :
- la sémantique
Les moteurs de recherche et tout un ensemble d'applications ne voient pas le design des sites.
Ils les jugent par rapport et/ou s'en servent grâce au contenu et à la structure employés dans le code des pages.
- le code html/xhtml
Les moteurs de recherche se munissent continuellement d'outils de lecture de langage naturel des pages web.
Ceci accroît le rôle des balises qui facilitent la compréhension du langage naturel par les moteurs.
- l'affichage via les feuilles de style
Aujourd'hui on peut fabriquer des sites très esthétiques et propres à l'aide des feuilles de styles CSS.
Même si l'affichage "Full-Css" présente des avantages indéniables de maintenance et d'épuration du code,
il nécessite un soin particulier en terme d'accessibilité et de rapidité.
- le code dynamique côté client (dhtml, javascript...)
Ces technologies offrent des possibilités étonnantes mais un travail de compatibilité,
de rapidité et d'accessibilité est un passage obligatoire lors de leur utilisation.
- l'ajax
Cette technologie (XMLHttpRequest) nécessite une attention particulière.
En effet, son utilisation bride actuellement et encore pour de longue années votre référencement,
et est dans tous les cas un frein à l'accessibilité.
L'ajax rend notamment certaines pages web très lourdes pour l'affichage supporté par certains internautes.
- le code dynamique côté serveur (php, asp, cfm...)
Cette partie influe au niveau du serveur sur lequel est hébergé votre site.
Un code "propre" et logique (là est le savoir faire), limitera la consommation de ressources de votre serveur,
ce qui aura comme impact d'accélérer vos traitements, accélérer la génération de vos pages,
diminuer l'attente de l'internaute, permettre une augmentation de votre nombre de visiteurs
sans impacter sur les performances du serveur, de vous protéger contre une éventuelle attaque par déni de service...
Optimisation graphique et multimédia pour le web
- les images
Les connexions internet ont des débits suffisamment importants aujourd'hui et l'affichage d'images n'est plus un problème.
Il est cependant nécessaire d'y prêter attention lors d'images lourdes.
Il est certain que l'affichage se fera mais pourquoi laisser attendre l'internaute 6 secondes alors que 4 sont possibles ?
On ne parle plus de lenteur à l'affichage mais d'aisance à la navigation.
L'internaute, clique et reclique de plus en plus vite et n'aime pas attendre.
Un affichage optimisé pour la rapidité induira psychologiquement sur l'attirance de l'internaute pour votre site.
Prenez à titre d'exemple un moteur de recherche moins rapide que celui que vous utilisez habituellement pour une semaine...
Alors cette seconde en plus ? Est-ce acceptable ou frustrant ?
- les sons et vidéos
Ces contenus multimédia sont soumis aux mêmes contraintes que les images mais à un niveau plus important.
Les images pouvaient être dures à ouvrir, et bien maintenant, certains internautes perçoivent les mêmes problèmes sur les sons ou les vidéos.
L'utilisation d'un encodage adapté (en terme de poids et d'accessibilité) est important car tous
les internautes ne disposent pas (ou ne veulent pas) des pilotes de décompression pour tous les types de formats existants !
Optimisation de base de données
Logique de construction de base, dynamisme des dépendances, partitionnement de tables,
choix des types de valeurs, perte d'espace dans les champs, indexages des champs...
Avant de penser à des solutions plus coûteuses, ces optimisations sont souvent une base de réflexion
d'opérations plus profitable que les autres options actuelles (cluster, réplication...) y compris d'un point de vue programmation.
Cela ne coûte pas cher de partitionner une table et pourra vous éviter d'avoir à
faire face à un investissement lourd en terme de solutions matérielles.
Et même si celles-ci sont parfois nécessaires, cette étape en limitera au final votre investissement.
Optimisation de requêtes SQL
Vous avez des problèmes de lenteur de chargement de vos pages ?
Si vous utilisez les Bases de données, il y a de grande chance que vous puissiez
résoudre une bonne partie de ces lenteurs en optimisant vos requêtes à ces bases.
L'optimisation de requêtes consiste à choisir la stratégie d'évaluation maximisant les performances
tout en minimisant les ressources consommées (comme la plupart des optimisations).
Il s'agit d'une étude complète spécifique qu'il est important d'effectuer pour
garder un affichage (ou traitement) rapide et ménager la mémoire du serveur.
Les cas les plus souvent constatés sont :
- des connexions/déconnexions intempestives
- de mauvais choix d'ouverture et de fermeture de connexions
- des boucles de requêtes sql !
- des appels redondants aux informations
- de mauvaises constructions de requêtes (select, jointures, like...)
- le non-respect des normes relatives au sgbd choisi
- l'utilisation de fonctions gourmandes non-nécessaires
- mélange de type de valeurs
- une mauvaise utilisation des procédures stockées
- une mauvaise gestion des index
- etc
La conception de bases de données et de requêtes sql est un métier !
Optimisation mémoire virtuelle
Avec l'étude des plages mémoire lors du lancement ou de l'exécution de certaines taches par un programme,
site web ou toute application informatique, on s'aperçoit qu'il est très fréquent qu'une
sur-consommation de ressources est engendrée !
Il est pourtant important de palier à ce problème pour faire face à une éventuelle
montée en charge de vos ressources machine ce qui pourrai provoquer des comportement incertains de vos applications ou sites web.
Cela est fort recommandé ne serrai-ce que pour améliorer la performance de vos applications.
Prestations d'Optimisation
C'est avec connaissances de ces problèmes qu'SAG-Informatique met à votre disposition son savoir-faire et vous propose une étude de vos besoins.
Pour toute question générale ou technique, n'hésitez-pas à nous contacter.

