diff --git a/sequences/programmation/BASTHON.md b/sequences/programmation/BASTHON.md deleted file mode 100644 index b8d78de..0000000 --- a/sequences/programmation/BASTHON.md +++ /dev/null @@ -1,94 +0,0 @@ -# Prise en main de Python - -## Introduction - -Python est un langage de programmation interprété : on tape le code des programmes dans un éditeur de code qui, lorsqu'on lui demande d'exécuter le code, utilise un interpréteur Python installé sur votre machine afin de lire le code et de le traduire à la machine afin qu'elle l'exécute au fur et à mesure. - -Il existe de nombreux éditeurs de code en Python. - -D'autres éditeurs de code existent comme [Spyder](https://www.spyder-ide.org/), [Pyzo](https://pyzo.org/start.html), [Edupython](https://edupython.tuxfamily.org/), [Thonny](https://thonny.org/), d'autres permettent d'être exécutés en ligne comme [Notebook](https://notebook.florianmathieu.prof) ou [Basthon](https://console.basthon.fr/). - -Nous allons utiliser la majorité du temps l'outil Basthon. Ce document vise à le présenter pour faciliter sa prise en main. - -## Basthon - -### Définition - -Basthon est un outil en ligne permettant de s'initier au langage de programmation Python, sans rien avoir à installer. Il suffit de disposer d'un navigateur (Firefox, Chrome, Brave...) à jour et d'une connexion à Internet. - -Il suffit de se rendre à l'url [https://python.florianmathieu.prof](https://python.florianmathieu.prof), l'interface suivante apparaît : - -![Interface de Notebook](./assets/basthon.png) - -### Se repérer dans l'interface - -![1. La console, 2. L'éditeur](./assets/basthon_repere.png) - -- La partie droite (1 sur l'image) est la `console` -- La partie gauche (2 sur l'image) est l'`éditeur` - -Ci-dessous, une description des principaux boutons de l'interface : - -| Élément | Description| -| :--: | :-- | -| ![](./assets/bouton_raz.png) | Remise à zéro : la console et la sortie graphique sont nettoyées et l'interprète Python est redémarré. | -| ![](./assets/bouton_console.png) | Affiche la console (à la place de la sortie graphique). | -| ![](./assets/bouton_graphique.png) | Affiche la sortie graphique (à la place de la console) pour visualiser un rendu Turtle, Matplotlib, etc. | -| ![](./assets/bouton_mode.png) | Bascule l'affichage en mode lumineux ou sombre. | -| ![](./assets/bouton_executer.png) | Lance l'exécution du contenu de l'éditeur dans la console. | -| ![](./assets/bouton_upload.png) | Ouvre un fichier Python (.py) dans l'éditeur. | -| ![](./assets/bouton_download.png) | Télécharge le contenu de l'éditeur dans un fichier Python (fichier avec l'extension .py) | - -### Première utilisation de l'interface - -#### 1. À Faire - -Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE - -```python -print("Bonjour le monde !") -``` - -On constate que l'interpréteur Python affiche `Bonjour le monde !` - -#### 2. À Faire - -1. Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE - -```python -input("Votre prénom : ") -``` - -2. On constate qu'une fenêtre de saisie apparaît. Saisissez votre prénom et appuyez sur `OK` -3. Quel est le résultat obtenu ? - -#### 3. À Faire - -1. Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE - -```python -help(print) -``` - -2. Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE - -```python -help(input) -``` - -On constate que l'instruction `help` affiche l'aide (en anglais) des instructions passées entre parenthèse. C'est une instruction bien utile pour connaître le fonctionnement des instructions. - -#### 4. À Faire - -Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE - -```python -clear -``` - -On constate que cette instruction vide la console, ce qui est utile pour faire un peu le ménage lorsque l'on a saisi trop de code :-) - -## Pour aller plus loin - -Vous êtes parés pour entamer la [prochaine activité](chapitre_1/README.md) ! - diff --git a/sequences/programmation/PRISE_EN_MAIN.md b/sequences/programmation/PRISE_EN_MAIN.md new file mode 100644 index 0000000..17a5dac --- /dev/null +++ b/sequences/programmation/PRISE_EN_MAIN.md @@ -0,0 +1,125 @@ +# Prise en main de Python + +## Introduction + +Python est un langage de programmation **interprété** : on écrit le code du programme dans un logiciel appelé **éditeur**, puis un **interpréteur** Python lit ce code et le traduit, instruction par instruction, pour que la machine l'exécute. + +En classe, nous utiliserons le logiciel **Thonny**, conçu spécialement pour apprendre à programmer. Chez vous, si Thonny n'est pas installé, vous pourrez utiliser **Basthon**, qui fonctionne directement dans le navigateur (voir la fin de cette page). + +## Thonny + +### Se repérer dans l'interface + +![L'interface de Thonny : 1. l'éditeur, 2. la console, 3. les variables](./assets/thonny_interface.png) + +- **1. L'éditeur** : c'est ici que l'on écrit un programme, sur plusieurs lignes. Le programme n'est exécuté que lorsqu'on le demande. +- **2. La console** : c'est ici que s'affichent les résultats du programme. On peut aussi y taper une instruction directement, après les chevrons `>>>` : elle est exécutée dès qu'on appuie sur la touche ENTRÉE. +- **3. Les variables** : ce panneau affiche le nom et la valeur de chaque variable du programme. S'il n'apparaît pas, ouvrez le menu **Affichage** et cochez **Variables**. + +### Les boutons à connaître + +![Les boutons de la barre d'outils de Thonny](./assets/thonny_boutons.png) + +| Bouton | Rôle | Raccourci | +| :--: | :-- | :--: | +| 1 | **Exécuter le script courant** : lance le programme écrit dans l'éditeur. | F5 | +| 2 | **Déboguer le script courant** : lance le programme en mode pas à pas. | Ctrl + F5 | +| 3 | **Étape suivante** : en mode pas à pas, passe à l'instruction suivante. | F6 | +| 4 | **Entrer dans l'étape en cours** : en mode pas à pas, détaille le calcul de l'instruction en cours. | F7 | +| 5 | **Arrêter** : interrompt le programme, par exemple s'il ne s'arrête plus. | | + +Les boutons 3 et 4 sont grisés tant que l'on n'est pas en mode pas à pas. + +## Première utilisation + +### 1. À Faire : la console + +Dans la console, après les chevrons `>>>`, écrire l'instruction suivante et appuyer sur la touche ENTRÉE : + +```python +print("Bonjour le monde !") +``` + +On constate que l'interpréteur Python affiche `Bonjour le monde !`. + +### 2. À Faire : demander une information + +1. Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE : + + ```python + input("Votre prénom : ") + ``` + +2. Le texte `Votre prénom :` s'affiche, et le programme attend. Tapez votre prénom **directement dans la console**, puis appuyez sur ENTRÉE. +3. Quel est le résultat obtenu ? + +### 3. À Faire : obtenir de l'aide + +1. Dans la console, écrire l'instruction suivante et appuyer sur la touche ENTRÉE : + + ```python + help(print) + ``` + +2. Recommencer avec `help(input)`. + +On constate que l'instruction `help` affiche l'aide (en anglais) de l'instruction placée entre parenthèses. C'est une instruction bien utile pour connaître le fonctionnement des instructions. + +Pour faire le ménage dans la console, ouvrez le menu **Édition** et choisissez **Vider la console**, ou faites un clic droit dans la console puis **Effacer**. + +### 4. À Faire : écrire et exécuter un programme + +1. Dans l'**éditeur**, recopier le programme suivant : + + ```python + prenom = input("Quel est ton prénom ? ") + annee = 2026 + age = annee - 2010 + print("Bonjour", prenom, "!") + print("Tu as environ", age, "ans.") + ``` + +2. Cliquer sur le bouton **Exécuter** (ou appuyer sur F5). Thonny demande d'abord d'**enregistrer** le fichier : choisissez votre dossier personnel et donnez-lui un nom, par exemple `bonjour.py`. +3. Répondre à la question dans la console, puis observer le résultat. +4. Regarder le panneau **Variables** : quelles variables y apparaissent, et quelles sont leurs valeurs ? + +#### Bilan + +- Un programme écrit dans l'éditeur doit être **enregistré** avant d'être exécuté. Le fichier porte l'extension `.py`. +- Les instructions sont exécutées **dans l'ordre**, de la première à la dernière ligne. +- Le panneau **Variables** permet de vérifier ce que contient chaque variable à la fin du programme. + +### 5. À Faire : le mode pas à pas + +1. Remplacer le programme de l'éditeur par celui-ci : + + ```python + total = 0 + for i in range(1, 4): + total = total + i + print(total) + ``` + +2. Cliquer sur le bouton **Déboguer** (le petit insecte, ou Ctrl + F5). +3. Appuyer plusieurs fois sur **Étape suivante** (F6) : Thonny surligne l'instruction en cours d'exécution. Observer les valeurs de `i` et de `total` dans le panneau **Variables** à chaque étape. +4. Quelle est la valeur de `total` à la fin du programme ? + +Le mode pas à pas est très utile pour **comprendre un programme** ou **trouver une erreur** : on voit exactement ce que fait l'ordinateur, une instruction après l'autre. Nous nous en servirons notamment avec les boucles. + +## Travailler chez soi : Basthon + +Si Thonny n'est pas installé sur votre ordinateur, vous pouvez utiliser **Basthon**, sans rien installer. Il suffit d'un navigateur à jour (Firefox, Chrome...) et d'une connexion à Internet. + +Rendez-vous à l'adresse [https://python.florianmathieu.prof](https://python.florianmathieu.prof) : + +![L'interface de Basthon : 1. la console, 2. l'éditeur](./assets/basthon_repere.png) + +- L'**éditeur** est à gauche, la **console** à droite. +- Le bouton **Exécuter** lance le programme de l'éditeur. +- Pensez à **télécharger** votre programme avant de fermer l'onglet : Basthon ne garde rien. + +Différence avec Thonny : dans Basthon, la fonction `input` ouvre une petite fenêtre de saisie au lieu d'attendre la réponse dans la console. + +## Pour aller plus loin + +Vous êtes parés pour entamer la [prochaine activité](chapitre_1/README.md) ! diff --git a/sequences/programmation/README.md b/sequences/programmation/README.md index f4ad2ef..8b33915 100644 --- a/sequences/programmation/README.md +++ b/sequences/programmation/README.md @@ -19,7 +19,7 @@ flowchart LR; E-->F[6. Les fonctions]; click A "https://florianmathieu.prof/hub-docs/snt/sequences/programmation/GENERALITES/" "Lien vers 1. Généralités" _self - click B "https://florianmathieu.prof/hub-docs/snt/sequences/programmation/SPYDER/" "Lien vers 2. Prise en main de Python" _self + click B "https://florianmathieu.prof/hub-docs/snt/sequences/programmation/PRISE_EN_MAIN/" "Lien vers 2. Prise en main de Python" _self click C "https://florianmathieu.prof/hub-docs/snt/sequences/programmation/chapitre_1/" "Lien vers 3. Les variables" _self click D "https://florianmathieu.prof/hub-docs/snt/sequences/programmation/chapitre_2/" "Lien vers 4. Les instructions conditionnelles" _self click E "https://florianmathieu.prof/hub-docs/snt/sequences/programmation/chapitre_3/" "Lien vers 5. Les boucles" _self diff --git a/sequences/programmation/SPYDER.md b/sequences/programmation/SPYDER.md deleted file mode 100644 index 0e4d716..0000000 --- a/sequences/programmation/SPYDER.md +++ /dev/null @@ -1,92 +0,0 @@ -# Prise en main de l'outil Spyder - -Le logiciel *__Spyder__* (Scientific Python Development EnviRonment) est un outil qui nous permettra, au fur et à mesure de l'année, de travailler sur la programmation en langage python.
- -Il s'agit, pour simplifier, de l'interface entre la machine et vous : nous emploierons un langage de programmation afin de transmettre à l'ordinateur des instructions qui lui seront traduites en langage machine. - -
- -Ainsi, aucun risque de ne pas se faire comprendre par l'ordinateur. - -```mermaid -flowchart LR - Nous -- Langage Python --> Spyder -- Langage Machine --> Ordinateur -``` - ------ - -Commençons donc par voir à quoi ressemble l'interface de *__Spyder__* : -
- -![interface_base.png](assets/Interface_base.png) - -> 1. *La fenêtre principale*, à gauche, va vous permettre de taper du *code* et donc de *__programmer__*.
- 2. En haut à droite, *l'explorateur* vous donnera des conseils, vous affichera les fichiers ou les *__variables déclarées__* dans le programme. - 3. En bas à droite, *__l'interpreteur__* vous indiquera le résultat du code executé : on parlera également de *__sortie__* - -En pratique, cela donne cet aspect : - -> ![Test_code.png](assets/test_code.png) - -Ici, on peut voir le resultat du code que j'ai écrit. - ----- - -Mais avant de se mettre au travail, il est essentiel de vous *__approprier__* le logiciel ! Pour celà, on va tout d'abord passer Spyder en français : - -
  • Cliquez sur l'icône outils
  • - -![Icone_outils.png](assets/icone_outils.png) - - - - -
  • Puis dans le menu qui s'affiche, selectionner Application puis à droite, l'onglet Advanced Settings
  • -
    - -Et enfin choisissez Français, afin de pouvoir travailler dans de bonnes conditions. - -![Changer_langue.png](assets/changer_langue.png) - ----- - -> Il reste une petite chose à faire si vous le souhaitez : basculer sur le thème sombre. -Ce choix est personnel, selon vos préférences, choisissez donc bien : vous allez passer l'année à travailler avec cet outil, autant avoir une interface qui vous plaise ! - -Dans le même menu, selectionnez Apparance, tout en haut. Puis changez (ou non !) le *__thème de l'interface__* et / ou le *__thème des icônes__* - -![Apparence.png](assets/apparence.png) - ------ - -Puisque l'on parle des icônes, celles ci sont situées ici, au dessus de la fenêtre de code : - -![Raccourcis.png](assets/raccourcis.png) - -Retenez juste son emplacement pour le moment. - -Maintenant, pour en finir avec le paramètrage de Spyder, il vous reste une tâche : décider de l'emplacement de vos fichiers et travaux.
    - -Il va falloir selectionner un emplacement accessible (votre espace perso, un dossier de votre session sur le disque dur, ou votre clé usb) auquel vous êtes certains et certaines d'avoir accès. - -Pour cela, regarder en haut à droite de la fenêtre de Spyder, juste à côté de l'icone *outils* : - -![Dossier_source.png](assets/dossier_source.png) - -Cliquez donc sur l'icone *Dossier* qui se trouve à droite de la barre d'adresse afin de selectionner le répertoire source de vos travaux. - ----- - -Reste une dernière chose à voir (promis c'est bientôt la fin) ! - -En Python, tout ce que vous pourrez écrire comme code se fait sur des fichiers .py (l'extension de fichier Python) - -Vous pouvez trouvez cette information juste au dessus de la fenêtre principale de votre code : - -![fichier_py.png](assets/fichier_py.png) - -Ici on nous rappelle donc le chemin du fichier, ainsi que son nom. Soyez attentifs lorsque vous débuterez un nouveau TP, de vous assurez que le fichier sur lequel vous travaillez soit bien le bon ! - ----- - -Et maintenant, au boulot avec le sourire diff --git a/sequences/programmation/assets/Interface_base.png b/sequences/programmation/assets/Interface_base.png deleted file mode 100644 index 03f49fd..0000000 Binary files a/sequences/programmation/assets/Interface_base.png and /dev/null differ diff --git a/sequences/programmation/assets/apparence.png b/sequences/programmation/assets/apparence.png deleted file mode 100644 index 2a08053..0000000 Binary files a/sequences/programmation/assets/apparence.png and /dev/null differ diff --git a/sequences/programmation/assets/basthon.png b/sequences/programmation/assets/basthon.png deleted file mode 100644 index f7b7b20..0000000 Binary files a/sequences/programmation/assets/basthon.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_console.png b/sequences/programmation/assets/bouton_console.png deleted file mode 100644 index d0a195f..0000000 Binary files a/sequences/programmation/assets/bouton_console.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_download.png b/sequences/programmation/assets/bouton_download.png deleted file mode 100644 index a27d398..0000000 Binary files a/sequences/programmation/assets/bouton_download.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_executer.png b/sequences/programmation/assets/bouton_executer.png deleted file mode 100644 index 83efd6f..0000000 Binary files a/sequences/programmation/assets/bouton_executer.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_graphique.png b/sequences/programmation/assets/bouton_graphique.png deleted file mode 100644 index 9cc5220..0000000 Binary files a/sequences/programmation/assets/bouton_graphique.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_mode.png b/sequences/programmation/assets/bouton_mode.png deleted file mode 100644 index 87837d9..0000000 Binary files a/sequences/programmation/assets/bouton_mode.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_raz.png b/sequences/programmation/assets/bouton_raz.png deleted file mode 100644 index 95505df..0000000 Binary files a/sequences/programmation/assets/bouton_raz.png and /dev/null differ diff --git a/sequences/programmation/assets/bouton_upload.png b/sequences/programmation/assets/bouton_upload.png deleted file mode 100644 index 233bbd0..0000000 Binary files a/sequences/programmation/assets/bouton_upload.png and /dev/null differ diff --git a/sequences/programmation/assets/changer_langue.png b/sequences/programmation/assets/changer_langue.png deleted file mode 100644 index e6ad2a8..0000000 Binary files a/sequences/programmation/assets/changer_langue.png and /dev/null differ diff --git a/sequences/programmation/assets/dossier_source.png b/sequences/programmation/assets/dossier_source.png deleted file mode 100644 index 3ff7017..0000000 Binary files a/sequences/programmation/assets/dossier_source.png and /dev/null differ diff --git a/sequences/programmation/assets/fichier_py.png b/sequences/programmation/assets/fichier_py.png deleted file mode 100644 index 08247d0..0000000 Binary files a/sequences/programmation/assets/fichier_py.png and /dev/null differ diff --git a/sequences/programmation/assets/icone_outils.png b/sequences/programmation/assets/icone_outils.png deleted file mode 100644 index 3ce422d..0000000 Binary files a/sequences/programmation/assets/icone_outils.png and /dev/null differ diff --git a/sequences/programmation/assets/raccourcis.png b/sequences/programmation/assets/raccourcis.png deleted file mode 100644 index 76cd2fa..0000000 Binary files a/sequences/programmation/assets/raccourcis.png and /dev/null differ diff --git a/sequences/programmation/assets/test_code.png b/sequences/programmation/assets/test_code.png deleted file mode 100644 index b766aa4..0000000 Binary files a/sequences/programmation/assets/test_code.png and /dev/null differ diff --git a/sequences/programmation/assets/thonny_boutons.png b/sequences/programmation/assets/thonny_boutons.png new file mode 100644 index 0000000..199d94f Binary files /dev/null and b/sequences/programmation/assets/thonny_boutons.png differ diff --git a/sequences/programmation/assets/thonny_interface.png b/sequences/programmation/assets/thonny_interface.png new file mode 100644 index 0000000..f11f2fa Binary files /dev/null and b/sequences/programmation/assets/thonny_interface.png differ