Comment Faire Une Fonction Qui Ne Se Lance Qu'une Fois

Alors, installez-vous confortablement. Café, thé, chocolat chaud ? On va parler de quelque chose de vraiment pratique : comment faire une fonction qui ne s'exécute qu'une seule fois. Oui, vous avez bien entendu. Une seule fois ! C'est comme le saint Graal de la programmation… enfin, presque !
Pourquoi voudrait-on faire ça, me demanderez-vous ? Bonne question ! Imaginez. Vous avez besoin d'initialiser quelque chose, une connexion à une base de données par exemple, ou de charger une configuration complexe. Vous voulez être certain que ça ne se fasse qu'une seule et unique fois. Pas de doublons, pas de problèmes ! C'est là que notre fonction magique entre en jeu.
Il existe plusieurs façons d'atteindre ce but. La plus simple, et souvent la plus élégante, c'est d'utiliser une variable de contrôle, un petit drapeau qu'on lève une fois que la fonction a été exécutée. Un peu comme dire : "C'est fait ! On passe à autre chose !"
Must Read
Voyons un exemple concret. On va utiliser JavaScript pour illustrer, mais le principe est valable dans beaucoup d'autres langages.
On commence par déclarer une variable, disons déjàExécuté, qu'on initialise à false :

let déjàExécuté = false;
Simple, non ? Ensuite, on définit notre fonction :
function maFonctionUnique() {
if (!déjàExécuté) {
// Le code à exécuter une seule fois
console.log("Exécution unique !");
// On lève le drapeau !
déjàExécuté = true;
} else {
console.log("Déjà exécutée !");
}
}
Analysons ça de plus près. On vérifie d'abord si déjàExécuté est false. Si c'est le cas, on exécute le code à l'intérieur du if. On affiche un message, on fait ce qu'on a à faire. Et, surtout, on met déjàExécuté à true. C'est ça, le secret !

Si on appelle maFonctionUnique() plusieurs fois, la première fois, elle s'exécutera. Les fois suivantes, elle verra que déjàExécuté est true et passera directement au else, affichant "Déjà exécutée !". Magique, n'est-ce pas ?
Mais attendez, il y a d'autres options ! On peut aussi utiliser des fonctions auto-invoquées, ces fameuses IIFE (Immediately Invoked Function Expression). C'est un peu plus avancé, mais ça peut être très élégant. L'idée, c'est d'exécuter une fonction immédiatement après sa définition, et de la faire renvoyer une autre fonction qui sera appelée par la suite.

Cela dit, la méthode du drapeau est souvent plus simple à comprendre et à maintenir, surtout pour les débutants. Et puis, avouons-le, elle a un certain charme ! Une petite variable qui veille au grain, c'est rassurant.
L'important, c'est de choisir la méthode qui vous convient le mieux, celle avec laquelle vous vous sentez le plus à l'aise. L'essentiel, c'est que votre fonction ne s'exécute qu'une seule fois, comme vous le souhaitez. Et ça, maintenant, vous savez comment faire ! Alors, à vous de jouer ! Et n'hésitez pas à expérimenter, à essayer différentes approches. C'est en pratiquant qu'on apprend le plus. Et puis, coder, c'est un peu comme la magie, non ? On crée quelque chose à partir de rien. On donne vie à nos idées. C'est fantastique !
J'espère que cette petite explication vous a été utile. N'hésitez pas à partager vos propres astuces et techniques ! Et rappelez-vous : coder, c'est avant tout s'amuser. Alors, amusez-vous bien !
