Optimiser
« Proposer des applications informatiques optimisées en fonction de critères spécifiques : temps d’exécution, précision, consommation de ressources... »
L'optimisation est au cœur de ma démarche de développeur, que ce soit pour garantir la performance algorithmique, minimiser l'empreinte environnementale ou assurer l'inclusion numérique.
Projet E-commerce : Algorithmes de traitement d'image
Java / CAlgorithmes de pixellisation et de pavage
Pendant ce projet, j’ai implémenté en Java trois algorithmes différents de pixellisation (Bilinear, Bicubic, Nearest Neighbor), car chaque algorithme présentait ses propres avantages et inconvénients
Pour l'algorithme de pavage d’une image en briques, j’ai effectué des tests avec des images de tailles maximales afin de valider son bon fonctionnement. J’ai optimisé et évalué sa complexité pour m'assurer que l'application ne soit pas trop gourmande en ressources, garantissant ainsi un impact environnemental modéré.
Démarche Green IT et Inclusion numérique
Un code optimisé sollicite moins le processeur, ce qui signifie moins de chaleur produite par les serveurs et une consommation électrique réduite pour le calcul et le refroidissement. J’ai ainsi appliqué une démarche de Green IT pour réduire l'empreinte carbone de l'application.
De plus, en optimisant la gestion de la mémoire, j’ai fait en sorte que mon site puisse tourner sur de vieux ordinateurs, ce qui prolonge la durée de vie du matériel et évite l’exclusion numérique.
Développement Efficace &
Méthodes d'optimisation
Théorie & Algorithmie
Sélection des structures de données
En cours de Développement Efficace, j’ai appris à sélectionner la structure de données la plus adaptée à chaque situation. Par exemple, l'utilisation d'une table de hachage permet d'accéder aux données de manière quasi instantanée, optimisant ainsi drastiquement les temps de recherche.
Analyse de la récursivité et complexité
Lors des cours de Méthodes d'Optimisation, j’ai appris à dessiner et analyser l’arbre d’appels d’une fonction récursive pour visualiser la pile d’exécution. Cette méthode permet de calculer précisément le coût et la complexité d'un algorithme afin de choisir la solution la plus adaptée entre qualité et vitesse d'exécution.
Algorithmes de recherche avancés
J’ai étudié l’algorithme de recherche par plus proche voisin, ce qui m'a sensibilisé aux problématiques d'optimisation de parcours. Ces notions sont essentielles pour traiter des problèmes complexes où une solution par "force brute" serait trop lente et inefficace.