Python et Raspberry Pi Apprenez à développer sur votre nano-ordinateur

Documents pareils
TP 1. Prise en main du langage Python

Initiation à la programmation en Python

Découverte de Python


1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Introduction à MATLAB R

Introduction au langage C

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Programmation Web. Madalina Croitoru IUT Montpellier

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Notions fondamentales du langage C# Version 1.0

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Présentation du langage et premières fonctions

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

ACTIVITÉ DE PROGRAMMATION

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Contrôle distant par liaison SSH Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Plan du cours. Historique du langage Nouveautés de Java 7

1 - Introduction : Déroulement du déploiement avec WDS / MDT :

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

PHP 5.4 Développez un site web dynamique et interactif

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

as Architecture des Systèmes d Information

Programmation C++ (débutant)/instructions for, while et do...while

Programmer en JAVA. par Tama

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

STAGE IREM 0- Premiers pas en Python

Les technologies du Big Data

PostgreSQL, le cœur d un système critique

Algorithmique et Programmation, IMA

Chapitre 2 Devine mon nombre!

UE C avancé cours 1: introduction et révisions

Java Licence Professionnelle CISII,

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Générer du code à partir d une description de haut niveau

Hébergement de site web Damien Nouvel

PHP. PHP et bases de données

2014/2015. Rapport 4 REALISE PAR : ISMAIL NAIT ABDELLAH OUALI SOUFIANE HOURRI MOHAMED OUSSAFI ENCADRE PAR : MME L.LAMRINI ANOUAR OUFQIR SMARTSIR

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Cours d Algorithmique et de Langage C v 3.0

I0035 INGÉNIEUR - DÉVELOPPEUR APPLICAT IF / DECISIONNEL CONFIRMÉE SAS - SPSS - INFORMAT ICA. 27 ans - 4 ans d'expérience

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Environnements informatiques

DataStudio. Solution d intégration des données et de diffusion de l information

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

Langage Java. Classe de première SI

WDpStats Procédure d installation

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Programmation en Java IUT GEII (MC-II1) 1

Python Les fondamentaux du langage

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

INF 321 : mémento de la syntaxe de Java

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

Bases de Données et Internet

1 Lecture de fichiers

Création et Gestion des tables

Business Intelligence

Configurer la supervision pour une base MS SQL Server Viadéis Services

Préparation à l examen EFA en Macro

Présentation du PL/SQL

Devenez un véritable développeur web en 3 mois!

Java DataBaseConnectivity

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Calcul Formel et Numérique, Partie I

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Cours d algorithmique pour la classe de 2nde

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Rapport du projet Qualité de Service

FileMaker 13. Guide ODBC et JDBC

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

MS SQL Express 2005 Sauvegarde des données

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Le langage SQL (première partie) c Olivier Caron

les techniques d'extraction, les formulaires et intégration dans un site WEB

Analyse de sécurité de logiciels système par typage statique

Cours de Programmation 2

Introduction à l algorithmique et à la programmation M1102 CM n 3

Basculement de base de données

Intégration de Données et Systèmes Décisionnels. Au cœur de la performance

AWS avancé. Surveiller votre utilisation d EC2

Raspberry pi : Développer une petite application web sur Raspberry

2 Comment fonctionne un ordinateur, dans les grandes lignes

Initiation à l algorithmique

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

1. Installation du Module

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

COMPARAISONDESLANGAGESC, C++, JAVA ET

Transcription:

Environnement de programmation 1. Caractéristiques du Raspberry Pi 7 2. Démarrage de Raspbian 11 2.1 Historique 11 2.2 Premiers pas 12 3. Comprendre l écosystème Python : quelle version utiliser? 16 4. Installer des bibliothèques Python 18 4.1 Avec aptitude 18 4.2 Avec pip 20 4.3 pip ou aptitude? 22 5. IDLE : l'éditeur de code en Python pour Python 23 6. Conclusion 28 Introduction à Python 1. Hello World 29 2. Les types de base : int, float, str et bool 30 2.1 Les entiers 30 2.2 Les flottants 32 2.3 Les chaînes de caractères 32 2.4 Les booléens 36 3. Les structures de données : list, dict, tuple 37 3.1 Les listes 37 1/7

3.2 Les tuples 38 3.3 Les dictionnaires 39 3.4 Les sets 40 4. Les instructions, les conditions et les boucles 41 4.1 La condition if 41 4.2 La condition else 42 4.3 La boucle for 43 4.4 L'instruction break 44 4.5 L'instruction continue 44 4.6 La boucle while 45 5. Les opérateurs 46 5.1 Opérateurs arithmétiques 46 5.2 Opérateurs logiques 50 5.3 Opérateur d'appartenance 50 5.4 Opérateur d'affectation 51 6. Conclusion 52 Concepts avancés du langage Python 1. Les classes : définition avec le mot-clé class 53 1.1 Premiers pas 54 1.2 Exposer les attributs d'une classe 55 1.3 Découpler une classe 57 1.4 Réutiliser du code 58 2. Les fonctions : les mots-clés def et lambda 60 2.1 Définir une fonction 61 2.2 La fonction anonyme 64 3. La syntaxe en compréhension 66 2/7

4. Itérateur et générateur : les mots-clés iter et yield 69 5. La gestion des exceptions avec les mots-clés try, except, raise et finally 74 6. Découpage et manipulation d'une structure de données 79 7. L'import des modules avec le mot-clé import 81 8. La gestion de contexte avec les mots-clés with et as 84 9. Conclusion 87 Documenter et tester ses scripts en Python 1. Introduction 89 2. Consulter de la documentation avec pydoc3 90 3. Documenter et tester son code en une seule fois avec le module doctest 98 4. Écriture de tests unitaires avec le module unittest 104 5. Benchmarker son code avec le module timeit 109 6. Déboguer ses programmes avec le module pdb 114 6.1 Déboguer pas à pas 115 6.2 Déboguer à un endroit précis du programme 119 6.3 Procéder à l'autopsie de son programme 120 7. Conclusion 121 3/7

Administration du Raspberry Pi en Python 1. Introduction 123 2. Gérer le système avec les modules pwd et os 124 2.1 Manipuler et interroger le système de fichiers 128 2.2 Explorer le système de fichiers du Raspberry Pi 129 3. Interagir avec l'interpréteur Python via le module sys 134 4. Lancer des commandes shell avec le module subprocess 136 5. Filtrer une chaîne de caractères avec le module re 139 6. Écriture de scripts avec le module argparse 142 7. Conclusion 146 Le Raspberry Pi en console avec curses 1. Introduction 147 2. Les fondamentaux 147 3. Projet #1 : un menu interactif 154 4. Projet #2 : une calculatrice 161 5. Projet #3 : le jeu du serpent 171 6. Conclusion 179 4/7

Programmation d interfaces graphiques avec tkinter 1. Les fondamentaux 181 2. Projet #1 : Hello world avec tkinter 184 3. Projet #2 : une visionneuse d'images 192 4. Projet #3 : un éditeur de texte 200 5. Conclusion 214 Multimédia et audio sur le Raspberry Pi 1. Dessiner avec Pillow 215 1.1 Créer et manipuler des images 215 1.2 Dessiner des figures géométriques 221 2. Contrôler les entrées et sorties audio avec pyalsaaudio 223 3. Projet #1 : un enregistreur/lecteur audio 231 4. Conclusion 238 À l'assaut du Web avec le Raspberry Pi 1. Webscraping facile avec les modules urllib et HTMLParser 239 2. Développer un serveur HTTP avec le module http.server 246 5/7

3. Exécuter des scripts avec le module cgi 253 4. Envoyer des e-mails avec le module smtplib 263 5. Conclusion 266 Persistance de données sur le Raspberry Pi 1. Introduction 267 2. Sérialisation et désérialisation avec les modules pickle et shelve 267 3. Traiter des fichiers CSV avec le module csv 272 3.1 Création et lecture d un fichier CSV 272 3.2 Créer son propre dialecte CSV 274 4. Manipuler des données XML avec le module xml.etree.elementtree 276 4.1 Créer et sérialiser un fichier XML 276 4.2 Interroger un fichier XML 278 4.3 Ajouter et supprimer des nœuds 279 5. Gestion d une base de données SQL légère avec le module sqlite3 282 6. Conclusion 288 Raspberry Pi et GPIO 1. Les GPIO, comment ça marche? 289 6/7

2. Connecter un écran LCD 16x2 au Raspberry Pi 290 3. Projet #1 : communiquer avec l'écran LCD 297 4. Projet #2 : créer un tube FIFO dédié à l'écran LCD 301 5. Projet #3 : piloter l'écran LCD depuis une interface graphique tkinter 306 6. Conclusion 310 Index 311 7/7