Les contrôles de flux ? Mais qu'est-ce que c'est encore que ces trucs dont tu nous parles ? 😱
Les contrôles de flux c'est un peu ce qui permet à un langage de programmation d'en être un 🦾.
C'est tout ce qui permet de personnaliser le flux d'exécution d'un programme.
Sans ça, tout programme ne serait qu'une simple suite d'opérations qui s'exécutent, en ligne droite, sans artifice. Sans ces contrôles de flux, nous n'aurions pas d'applications comme on a, et ce, depuis les débuts de l'informatique.
Les contrôles de flux sont ces éléments qui permettent de créer des branches et des boucles, et qui donnent vie à nos programmes 🤩.
Les branches
Les branches sont ce qu'on appelerait les conditions en programmation.
Ces conditions sont utilisées dans un programme pour choisir d'exécuter une action ou bien une autre en fonctions des données qu'on a à notre disposition.
Imaginons un exemple concret en reprenant notre automatisation complexe de tout à l'heure :
![3- Automatisation Complexe 3 Automatisation](https://fabien404.fr/wp-content/uploads/2023/07/3-Automatisation-complexe.png)
Ici on voit qu'à un moment (juste après "Récupération des séances disponibles") on a une séparation de l'exécution de notre automatisation en 2 branches.
Il s'agit d'une condition.
Cette condition peut être, dans notre exemple, de dire :
- S'il reste des séances disponibles alors on va vers la branche "Acceptation"
- S'il ne reste pas de séance disponible alors on va vers la branche "Refus"
Cela nous permet d'avoir un scénario qui varie en fonction de s'il nous reste des séances de coaching ou non.
Ainsi, je refuse la séance de coaching si le client n'en a plus en stock. Et j'accepte la séance s'il lui en reste.
Imagine-toi faire cette automatisation sans contrôle de flux ? Impossible ! ❌
Il faudrait créer 2 automatisations spécialisées chacune dans un scénario... 😱
On comprend bien que les programmes de nos jours ont besoin de ces contrôles de flux, sinon nous ne pourrions pas faire grand chose avec nos ordinateurs 😅.
Les boucles
Les boucles sont la 2e façon de contrôler le flux.
Cette fois-ci, au lieu de créer une nouvelle branche, ce qu'on veut c'est répéter la branche actuelle.
Prenons cet exemple :
![5- Exemple Boucles 5 Exemple Boucles](https://fabien404.fr/wp-content/uploads/2023/07/5-Exemple-boucles.png)
Dans cette automatisation on veut générer des nouvelles idées de contenus pour tous les jours du mois.
Alors soit je fais une automatisation qui me génère une seule idée, et je l'exécute tous les jours.
Soit, je fais une automatisation avec un contrôle de flux sous forme de boucle, qui va me générer une idée par jour du mois, en une seule exécution.
C'est ce que je fais dans cet exemple. Une fois nos thématiques et formats récupérés, on va exécuter la suite de l'automatisation autant de fois qu'il y a de jours dans le mois.
Encore une fois, ce type de contrôle de flux est indispensable pour tout programme qui se respecte car sans ça, on ne pourrait pas afficher de liste (liste de fichiers, liste d'articles, liste d'applications, etc...).
Si tu observes un peu, tu te rendras compte que les listes et les conditions sont omniprésentes 😉
Et elles te permettront de faire des automatisations bien plus sophistiquées 💪.