# DEv & scripting

# Dev&script - Introduction à la programation

<p class="callout danger">***<span style="color: rgb(52,73,94);">DISCLAIMER :<span lang="fr"> </span><span lang="fr">Cette page est en cours de rédaction et son contenu peut être faux ou inexact. Merci de lire cette page avec toutes les précautions nécessaires.</span></span>***</p>

<p class="callout info">Titre de la page : &lt;Techno&gt; - &lt;Titre de la procédure / du cours&gt; (à supprimer une fois le titre placé)  
</p>

<table id="bkmrk-difficult%C3%A9%2A-%3Cdescrip" style="border-collapse: collapse; width: 100%; height: 46.8px; border-width: 1px; border-style: hidden;"><colgroup><col style="width: 20%;"></col><col style="width: 80%;"></col></colgroup><tbody><tr style="height: 46.8px;"><td style="height: 46.8px; border: 1px groove rgb(52,73,94);">Difficulté\*  
</td><td style="height: 46.8px; border-width: 1px; background-color: rgb(236,202,250); vertical-align: top;">Difficulté :

Notions :

</td></tr></tbody></table>

\*placer l'icône correspondant à la difficulté. supprimer cet encarts et le tableau.

<table id="bkmrk-%C2%A0d%C3%A9butant%C2%A0-%C2%A0novice%C2%A0-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 20%;"></col><col style="width: 20%;"></col><col style="width: 20%;"></col><col style="width: 20%;"></col><col style="width: 20%;"></col></colgroup><tbody><tr><td>[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/debutant-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/debutant-png.png)

</td><td>[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/novice-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/novice-png.png)

</td><td>[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/intermediaire-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/intermediaire-png.png)

</td><td>[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/confirme-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/confirme-png.png)

</td><td>[![image.png](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/expert-png.png)](https://docs.labs404.fr/uploads/images/gallery/2026-07/scaled-1680-/expert-png.png)

</td></tr><tr><td class="align-center"><span style="color: rgb(22,145,121); background-color: rgb(191,237,210);"> Débutant   
</span></td><td class="align-center"><span style="color: rgb(35,111,161); background-color: rgb(194,224,244);"> Novice   
</span></td><td class="align-center"><span style="color: rgb(230,126,35); background-color: rgb(251,238,184);"> Intermédiaire   
</span></td><td class="align-center"><span style="color: rgb(186,55,42); background-color: rgb(248,202,198);"> Confirmé   
</span></td><td class="align-center"><span style="color: rgb(52,73,94); background-color: rgb(236,240,241);"><span style="color: rgb(236,240,241); background-color: rgb(52,73,94);"> Expert </span></span></td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">I. Introduction</span>**</span>

<details id="bkmrk-indications-de-mise-"><summary>Indications de mise en page (peut être supprimé)</summary>

> *Ceci est une citation.*
> 
>  *- par \*\*\*\*\**

<p class="callout info">*Ceci est une information.*</p>

<p class="callout success">*Ceci est une astuce ou optimisation.*</p>

<p class="callout warning">*Ceci est est un avertissement.*</p>

<p class="callout danger">*Ceci est un prérequis.*</p>

```
Ceci est un bloc de code
une série de commandes
```

<details id="bkmrk-ceci-est-une-section"><summary>Ceci est une section repliable pour une étape optionnelle ou un fichier de configuration</summary>

```
Ceci
est
un
fichier
de
configuration
```

</details><table id="bkmrk-colonne-1-colonne-2-" style="border-collapse: collapse; width: 100%; height: 59.6px;"><colgroup><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col><col style="width: 33.3333%;"></col></colgroup><tbody><tr style="height: 29.8px;"><td class="align-center" style="background-color: rgb(194,224,244); height: 29.8px;">**colonne 1**  
</td><td class="align-center" style="background-color: rgb(194,224,244); height: 29.8px;">**Colonne 2**  
</td><td class="align-center" style="background-color: rgb(194,224,244); height: 29.8px;">**Colonne 3**</td></tr><tr style="height: 29.8px;"><td style="height: 29.8px;">ceci</td><td style="height: 29.8px;">est  
</td><td style="height: 29.8px;">un tableau</td></tr></tbody></table>

</details><table id="bkmrk-pr%C3%A9requis-mat%C3%A9riels-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50.0596%;"></col><col style="width: 50.0596%;"></col></colgroup><tbody><tr><td class="align-center" colspan="2" style="background-color: rgb(248,202,198);">**Prérequis Matériels**</td></tr><tr><td class="align-center" style="background-color: rgb(194,224,244);">core</td><td class="align-center" style="background-color: rgb(194,224,244);">GUI</td></tr><tr><td class="align-left">- 1 vcpu
- 2 Gb RAM
- 20Gb dd

</td><td class="align-left">- 2 à 4 vcpu
- 2 à 4 Gb RAM
- 60Gb dd

</td></tr></tbody></table>

---

### <span style="color: rgb(52,73,94);">**<span style="text-decoration: underline;">II. Chapitre1</span>**</span>

#### <span style="color: rgb(35,111,161);">**2.1 Section 1**</span>

##### <span style="color: rgb(53,152,219);">*2.1.1 Sous-section*</span>

## 1️⃣ Comprendre ce qu’est un programme et un langage

### 🎯 Objectif de la section

<span style="white-space: pre-wrap;">Donner aux étudiants une vision claire de ce qu’est la programmation, pourquoi elle existe, et comment les langages ont évolué.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">On explique la notion de **machine**, de **binaire**, puis l’apparition de l’assembleur et des langages haut niveau. Les étudiants comprennent que programmer, c’est **donner des instructions à une machine**, et que les langages sont des outils pour simplifier cette communication.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">Qu’est-ce qu’un programme ?</span>
- <span style="white-space: pre-wrap;">Binaire → assembleur → langages haut niveau</span>
- <span style="white-space: pre-wrap;">Pourquoi les langages évoluent</span>
- <span style="white-space: pre-wrap;">Notion de compilation/interprétation (premier aperçu)</span>

<div id="bkmrk--4">  
</div>## 2️⃣ Modes d’exécution : compilé vs interprété

### 🎯 Objectif

<span style="white-space: pre-wrap;">Comprendre comment un programme “vit” et s’exécute.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">On distingue les langages **compilés** (transformés en binaire avant exécution) et **interprétés** (lus ligne par ligne). On montre les impacts sur la vitesse, la portabilité, et les usages.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">Compilation : C, Rust, Go</span>
- <span style="white-space: pre-wrap;">Interprétation : Python, JavaScript</span>
- <span style="white-space: pre-wrap;">Cas hybrides : Java, C#, PHP</span>
- <span style="white-space: pre-wrap;">Avantages / inconvénients</span>
- <span style="white-space: pre-wrap;">Impact sur le développement</span>

<div id="bkmrk--5">  
</div>## 3️⃣ Domaines de programmation : frontend, backend, scripts, mobile, IA

### 🎯 Objectif

<span style="white-space: pre-wrap;">Montrer que “coder” n’est pas une seule activité, mais une multitude de métiers et de contextes.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">On présente les grands domaines : **frontend**, **backend**, **DevOps**, **mobile**, **embarqué**, **IA**, etc. Les étudiants comprennent où se situent les langages et pourquoi certains sont spécialisés.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">Frontend : HTML, CSS, JS</span>
- <span style="white-space: pre-wrap;">Backend : Python, PHP, Java, Node.js</span>
- <span style="white-space: pre-wrap;">DevOps : Bash, YAML, Terraform</span>
- <span style="white-space: pre-wrap;">Mobile : Swift, Kotlin</span>
- <span style="white-space: pre-wrap;">Embarqué : C, MicroPython</span>
- <span style="white-space: pre-wrap;">IA : Python, R</span>
- <span style="white-space: pre-wrap;">Vision globale des écosystèmes</span>

<div id="bkmrk--6">  
</div>## 4️⃣ Paradigmes de programmation

### 🎯 Objectif

<span style="white-space: pre-wrap;">Comprendre les différentes façons de structurer la pensée algorithmique.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">On introduit les paradigmes : **procédural**, **objet**, **fonctionnel**, **déclaratif**. On montre que ce sont des manières de penser le code, pas des langages.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">Procédural : séquences, fonctions</span>
- <span style="white-space: pre-wrap;">Objet : classes, instances, encapsulation</span>
- <span style="white-space: pre-wrap;">Fonctionnel : immutabilité, fonctions pures</span>
- <span style="white-space: pre-wrap;">Déclaratif : “dire ce qu’on veut”, pas “comment le faire”</span>
- <span style="white-space: pre-wrap;">Transition naturelle vers SQL</span>

<div id="bkmrk--7">  
</div>## 5️⃣ Formats de données et langages descriptifs

### 🎯 Objectif

<span style="white-space: pre-wrap;">Comprendre comment les programmes échangent, stockent et décrivent des données.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">On présente JSON, YAML, XML, CSV. Les étudiants voient la différence entre **langages de programmation** et **langages descriptifs**.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">JSON : structure de données</span>
- <span style="white-space: pre-wrap;">YAML : configuration</span>
- <span style="white-space: pre-wrap;">XML : historique, encore utilisé</span>
- <span style="white-space: pre-wrap;">CSV : données tabulaires</span>
- <span style="white-space: pre-wrap;">Pourquoi ces formats sont essentiels (API, DevOps, config)</span>

<div id="bkmrk--8">  
</div>## 6️⃣ SQL : le langage déclaratif de la donnée

### 🎯 Objectif

<span style="white-space: pre-wrap;">Comprendre comment on interagit avec une base de données.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">SQL est un langage **déclaratif** : on décrit le résultat souhaité. On introduit les requêtes simples et la logique relationnelle.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">SQL ≠ langage de programmation</span>
- <span style="white-space: pre-wrap;">SELECT, INSERT, UPDATE, DELETE</span>
- <span style="white-space: pre-wrap;">Tables, relations, clés</span>
- <span style="white-space: pre-wrap;">Lien avec backend et API</span>
- <span style="white-space: pre-wrap;">Pourquoi SQL est incontournable</span>

<div id="bkmrk--9">  
</div>## 7️⃣ Vibe coding, no-code et low-code

### 🎯 Objectif

<span style="white-space: pre-wrap;">Montrer les outils modernes qui permettent de créer sans écrire du code traditionnel.</span>

### 📝 Résumé

<span style="white-space: pre-wrap;">On présente les plateformes visuelles (Node-RED, n8n, Make, Zapier) et les outils IA (Copilot, ChatGPT). Les étudiants comprennent que coder aujourd’hui, c’est aussi **composer**, **assembler**, **automatiser**.</span>

### 📌 Points clés

- <span style="white-space: pre-wrap;">Node-RED : programmation par flux</span>
- <span style="white-space: pre-wrap;">n8n / Make : automatisation visuelle</span>
- <span style="white-space: pre-wrap;">Zapier : intégration d’applications</span>
- <span style="white-space: pre-wrap;">IA + code : génération, assistance, correction</span>
- <span style="white-space: pre-wrap;">Comment ces outils démocratisent la programmation</span>

<div id="bkmrk--10">  
</div># 🎓 **Synthèse générale du cours**

<span style="white-space: pre-wrap;">Ce cours donne une vision complète de la programmation moderne :</span>

- <span style="white-space: pre-wrap;">d’où elle vient</span>
- <span style="white-space: pre-wrap;">comment elle fonctionne</span>
- <span style="white-space: pre-wrap;">où elle s’applique</span>
- <span style="white-space: pre-wrap;">comment les données circulent</span>
- <span style="white-space: pre-wrap;">comment les paradigmes structurent la pensée</span>
- <span style="white-space: pre-wrap;">comment coder aujourd’hui peut être visuel, assisté, ou automatisé</span>

<span style="white-space: pre-wrap;">C’est une progression **logique**</span>

# Dev&Script - Les systèmes d'encodages