# Programmation Python/Installation
## Partie 1 - Introduction

* Avant-propos à l'attention des non-programmeurs
* Introduction
* Installation
* Éditeurs
* Programmer en deux minutes
** une messagerie instantanée
** un programme interfacé avec Wikipédia
** un serveur Web

## Partie 2 - Le langage

* Afficher un texte
* Structure d'un programme
* Variables
* Opérateurs
* Structures de contrôle
* Instructions répétitives
* Types
** Numériques
** Booléens
** Chaines de caractères
** Listes
** Tuples
** Dictionnaires
** Dates
** Ensembles
* Fonctions
* Modules
* Exercices
** Palindrome
* Regex
* Programmation orientée objet pour les non-programmeurs
* Classes
* Classes et Interfaces graphiques
* Fichiers
* Exceptions
* Bases de données
** Gestion
* L'interface CGI
* Applications web
* Réseau
* Threads

## Partie 3 - Les bibliothèques

* Bibliothèques pour Python
* L'interface graphique
* Utilisation de fenêtres et de graphismes
** Tkinter
** Widgets
** Turtle
* Les threads
* XML
* JSON
* Tests
* Analyse statique de programmes
* Fabric
* Le Web
** Django
** Karrigell
** Aiohttp

## Partie 1 - Introduction

* Avant-propos à l'attention des non-programmeurs
* Introduction
* Installation
* Éditeurs
* Programmer en deux minutes
** une messagerie instantanée
** un programme interfacé avec Wikipédia
** un serveur Web

## Partie 2 - Le langage

* Afficher un texte
* Structure d'un programme
* Variables
* Opérateurs
* Structures de contrôle
* Instructions répétitives
* Types
** Numériques
** Booléens
** Chaines de caractères
** Listes
** Tuples
** Dictionnaires
** Dates
** Ensembles
* Fonctions
* Modules
* Exercices
** Palindrome
* Regex
* Programmation orientée objet pour les non-programmeurs
* Classes
* Classes et Interfaces graphiques
* Fichiers
* Exceptions
* Bases de données
** Gestion
* L'interface CGI
* Applications web
* Réseau
* Threads

## Partie 3 - Les bibliothèques

* Bibliothèques pour Python
* L'interface graphique
* Utilisation de fenêtres et de graphismes
** Tkinter
** Widgets
** Turtle
* Les threads
* XML
* JSON
* Tests
* Analyse statique de programmes
* Fabric
* Le Web
** Django
** Karrigell
** Aiohttp
[ Modifier le sommaire ]

## Exécution sans installation

Certains sites tels que http://pythonfiddle.com/ permettent d'exécuter du code Python sur un serveur distant, sans avoir à l'installer chez soi. Toutefois pour développer des applications dignes de ce nom, il convient de l'avoir à disposition sur sa machine.

## Installation locale

Il est possible d'installer Python sur la plupart des systèmes d'exploitation en le téléchargeant sur http://www.python.org/download.
Si vous n'avez pas les droits d'administrateurs de votre machine, il existe aussi une version portable sur http://www.portablepython.com.

### Windows

Pour les systèmes Windows, vous pouvez télécharger le fichier MSI.

### Linux

Python est le plus souvent automatiquement installé avec la plupart des distribution Linux, mais il est recommandé (nécessaire) de télécharger une version actualisée.
Vous êtes probablement chanceux et l'interpréteur Python est déjà installé sur votre machine. pour le tester, tapez python3 dans un terminal. Si vous voyez quelque chose comme dans la prochaine section, vous êtes bon.
Si vous devez installer Python, essayez d'abord d'utiliser le gestionnaire de paquet de votre système d'exploitation ou allez visiter le dépôt où ces paquets sont disponibles, et récupérez Python 3. Python 3.0 est sorti en décembre 2008 ; toutes les distributions (BSD, GNU/Linux-Hurd-Linux Libre)devraient avoir Python 3 disponible, donc vous ne devriez pas avoir besoin de compiler Python 3 "from scratch" après avoir téléchargé le code source. Debian et Fedora possèdent des paquets binaires Python3 disponibles, mais ne le sont pas encore pas défaut, il faudra donc les installer par vous-même.
Voici donc les étapes pour compiler Python sur une unixerie (GNU/Linux, BSD...) :
* Téléchargez le fichier d'archive contenant les sources avec wget|curl -O|fetch http://www.python.org/ftp/python/3.3.3/Python-3.3.3.tar.xz (utilisez la commande de votre choix dans votre terminal)
* Décompressez le fichier tar (mettez-le au préalable dans le dossier voulu) :
* Déplacez-vous dans le dossier nouvellement créé et dites à votre système de compiler et installer le programme
Les commandes ci-dessus installeront Python 3 dans votre dossier /usr/local. Si vous voulez utiliser IDLE, vous devez vous assurer que tk et tcl ainsi que leurs fichiers de développement sont installés sur le système. Vous verrez des avertissements durant la phase de compilation (make) si ces derniers ne sont pas disponibles.
Variable d'environnement :

### Mac

Depuis Mac OS X (Tiger), Python est embarqué par défaut avec l'OS, mais vous devrez mettre à jour vers Python 3 de la manière décrite ci-dessus, jusqu'à ce qu'OS X incluse Python 3 (vérifiez la version en tapant python3 dans un terminal).
Depuis l'apparition de la version 2.3, il est vivement recommandé aux francophones que nous sommes d'inclure l'un des pseudo-commentaires suivant au début de tous nos scripts Python (à la 1e ou 2e ligne) :
Ou encore mieux :

## Mode Interactif

Python dispose d'un interpréteur interactif lancé depuis la ligne de commande ou à partir d'un IDE tel que IDLE, qui permet de tester les commandes de base. Pour appeler l'interpréteur interactif, il suffit de saisir python3 en ligne de commande sur macOS et Linux, ou py ou python sous Windows. Pour IDLE, ouvrir l'application "IDLE (Python GUI)" sous Windows.
Voici par exemple ce qui apparaît dans une fenêtre de terminal KDE (sous Linux) :
Sous Windows, la commande py ou python permet de lancer l'interpréteur interactif depuis la ligne de commande.
Les trois caractères « >>> » constituent le signal d'invite, ou prompt principal, lequel vous indique que Python est prêt à exécuter une commande. En mode interactif, ce que vous tapez est immédiatement exécuté. Mais le plus employé par les programmeurs est d'exécuter un script Python contenant plusieurs instructions, en lançant un fichier .py sauvegardé sur le disque dur.

### Calculer avec Python

Par exemple, vous pouvez tout de suite utiliser l'interpréteur comme une simple calculatrice de bureau. Veuillez donc vous-même tester les commandes ci-dessous :
Comme vous pouvez le constater, les opérateurs arithmétiques pour l'addition, la soustraction, la multiplication et la division sont respectivement +, -, * et /. Les parenthèses sont fonctionnelles.
Par défaut, la division est cependant une division entière, ce qui signifie que si on lui fournit des arguments qui sont des nombres entiers, le résultat de la division est lui-même un entier (tronqué, mais dans les versions de python 3.* la division n'est plus tronquée : 5/2 donne bien 2.5), comme dans le dernier exemple ci-dessus. Si vous voulez qu'un argument soit compris par Python comme étant un nombre réel, il faut le lui faire savoir, en fournissant au moins un point décimal.
Essayez par exemple :
Si une opération est effectuée avec des arguments de types mélangés (entiers et réels), Python convertit automatiquement les opérandes en réels avant d'effectuer l'opération. Essayez :

### Aide

Lorsque vous souhaitez obtenir de l'aide sur une fonction ou une librairie, il suffit d'utiliser la commande « help » dans l'interpréteur interactif. Pour savoir comment fonctionnent les expressions régulières sous python par exemple, exécutez

## pip

pip est le gestionnaire de paquets fourni avec Python. Pour l'utiliser :
Exemple avec le package fabric :
Ou par version :
Pour désinstaller :
Mettre à jour :

### requirements.txt

Ce fichier liste les dépendances à installer pour l'application. C'est l'équivalent du composer.json en PHP ou du package.json en JavaScript.
Génération du fichier :
Installation des dépendances :

## Références

* ↑ Sous Windows, vous aurez surtout le choix entre l'environnement IDLE développé par Guido Van Rossum, auquel nous donnons nous-même la préférence, et PythonWin, une interface de développement développée par Mark Hammond. D'autres environnements de travail plus sophistiqués existent aussi, tels l'excellent Boa Constructor par exemple (qui fonctionne de façon très similaire à Delphi), mais nous estimons qu'ils ne conviennent guère aux débutants. Pour tout renseignement complémentaire, veuillez consulter le site Web de Python. Sous Linux, nous préférons personnellement travailler dans l'environnement graphique WindowMaker (plutôt que KDE ou Gnome trop gourmands en ressources), en ouvrant une simple fenêtre de terminal pour lancer l'interpréteur Python ou l'exécution des scripts, et en faisant appel à un logiciel tel que Nedit ou SciTE pour l'édition de ces derniers.
* ↑ Dans les langages de programmation, les notations numériques de base sont souvent celles des pays anglophones : le séparateur décimal est le point, et non une virgule comme en français. Dans le monde de l'informatique, les nombres réels sont souvent désignés comme des nombres "à virgule flottante", ou encore des nombres « de type float ».