{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Prise en main de Python"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Introduction\n",
    "\n",
    "Python est un langage de programmation interprété : on tape le code des programme dans un éditeur de code qui, lorsqu'on lui demande d'exécuter le code, utilise un interpréteur Python installé afin de lire le code et de le traduire à la machine afin qu'elle l'exécute au fur et à mesure.\n",
    "\n",
    "Il existe de nombreux éditeur de code en Python 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é en ligne [Basthon](https://console.basthon.fr/).\n",
    "\n",
    "Nous allons utiliser la majorité du temps ce dernier. Ce document vise à le présenter pour faciliter sa prise en main."
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Basthon\n",
    "\n",
    "### Définition\n",
    "\n",
    "__Basthon__ est l’acronyme de « Bac À Sable pour pyTHON ». Il ressemble au mot « baston », c’est une allusion à la « lutte » que peut parfois représenter l’apprentissage de la programmation, l’écriture d’un code ou son débogage.\n",
    "\n",
    "Basthon est utilisé pour s’initier au langage de programmation Python, sans rien avoir à installer. Il suffit de disposer d’un navigateur (Firefox, Chrome ou Chromium) à jour et d’une connexion à Internet.\n",
    "\n",
    "Il suffit de se rendre à l'url [https://notebook.basthon.fr/](https://notebook.basthon.fr/), l'interface suivante apparait :\n",
    "\n",
    "![interface_bashton](attachment:C)"
   ]
  },
  {
   "attachments": {
    "Capture%20d%E2%80%99e%CC%81cran%202021-09-15%20a%CC%80%2010.51.26.png": {
     "image/png": "[encoded data, 68592 characters]"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Se repérer dans l'interface\n",
    "\n",
    "![Capture%20d%E2%80%99e%CC%81cran%202021-09-15%20a%CC%80%2010.51.26.png](attachment:Capture%20d%E2%80%99e%CC%81cran%202021-09-15%20a%CC%80%2010.51.26.png)"
   ]
  },
  {
   "attachments": {
    "CODE.png": {
     "image/png": "[encoded data, 5052 characters]"
    },
    "OPEN.png": {
     "image/png": "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"
    },
    "REC.png": {
     "image/png": "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"
    },
    "RUN.png": {
     "image/png": "[encoded data, 4608 characters]"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- La partie centrale (1) est l'`éditeur`, composé de différentes cellules,\n",
    "- La partie haute (2 sut l'image) est la `barre d'outils`, composée d'un certain nombre de boutons.\n",
    "\n",
    "Ci-dessous, une description des principaux boutons de l'interface :\n",
    "\n",
    "| Élément | Description|\n",
    "| :--: | :-- |\n",
    "| ![REC.png](attachment:REC.png) | Sauvegarde le notebook dans un fichier avec l'extension .ipynb |\n",
    "| ![OPEN.png](attachment:OPEN.png)  | Ouvre un fichier avec l'extension .ipynb |\n",
    "| ![RUN.png](attachment:RUN.png) | Interpréte le contenu de la cellule sélectionnée |\n",
    "| ![CODE.png](attachment:CODE.png)  | Configure le type de la cellule sélectionnée : Soit `Code` pour du code python, soit `Markdown` pour du code Markdown. |"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Première utilisation de l'interface"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 1. À Faire\n",
    "\n",
    "1. Modifier le type de la cellule à Markdown\n",
    "2. Saisir le texte `# Titre en Markdown`\n",
    "3. Appuyer sur le bouton Run\n",
    "\n",
    "Vous constatez que Basthon permet d'éditer et d'interpréter du code Markdown !"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 2. À Faire\n",
    "\n",
    "Dans une cellule \"code\", écrire l'instruction suivante (sans les >>>) et appuyer sur le bouton Run\n",
    "\n",
    "```python\n",
    ">>> print(\"Hello World !\")\n",
    "```\n",
    "\n",
    "On constate que l'interpréteur Python affiche `Hello World !`\n",
    "\n",
    "__N.B : Par convention, dès qu'une consigne ou extrait de code commence par `>>>`, il s'agit de code python qu'il faut saisir dans une cellule de type `code`__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 3. À Faire\n",
    "\n",
    "1. Écrire l'instruction suivante et appuyer sur le bouton Run\n",
    "\n",
    "```python\n",
    ">>> input(\"Votre prénom : \")\n",
    "```\n",
    "\n",
    "2. On constate qu'une fenêtre de saisie apparait. Saisissez votre prénom et appuyez sur `OK`\n",
    "3. Quel est le résultat obtenu ?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 4. À Faire\n",
    "\n",
    "1. Écrire l'instruction suivante et appuyer sur le bouton Run\n",
    "\n",
    "```python\n",
    "help(print)\n",
    "```\n",
    "\n",
    "2. Écrire l'instruction suivante et appuyer sur le bouton Run\n",
    "\n",
    "```python\n",
    "help(input)\n",
    "```\n",
    "\n",
    "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 connaitre le fonctionnement des instructions."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pour aller plus loin\n",
    "\n",
    "La documentation complète et officielle de Basthon se trouve à cette url [https://basthon.fr/doc.html](https://basthon.fr/doc.html)\n",
    "\n",
    "Vous êtes parés pour entamer la prochaine activité !"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
