GLO-1900 Introduction à la programmation avec Python

Documents pareils
Travailler à l'ensimag avec son matériel personnel

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

Travailler à l'ensimag avec son matériel personnel

Comment installer la configuration des salles sur son ordinateur personnel?

Virtualisation de Windows dans Ubuntu Linux

EN Télécom & Réseau S Utiliser VMWARE

Travailler à l'ensimag avec son matériel personnel

Chapitre 2 Accès aux partages depuis votre système d'exploitation

Aide à l installation et à la migration en HelloDoc 5.60

L assistant Boot Camp pour utiliser aussi Windows sur un Mac sous OS X Yosemite

EN Télécom & Réseau S Utiliser VMWARE

JOSY VIRTUALISATION 9 ET 10 JUIN 2011 POSTE DE TRAVAIL ET VIRTUALISATION. Sébastien Geiger IPHC

1 Prise en main des machines

Programmation C. Apprendre à développer des programmes simples dans le langage C

Exigences système Commercial & Digital Printing

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

Parallels Transporter Lisez-moi

Exigences système Edition & Imprimeries de labeur

TP 1. Prise en main du langage Python

À propos de Parallels Desktop 10 pour Mac

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Exigences système Commercial & Digital Printing

Tutorial créer une machine virtuell.doc Page 1/9

Gestion des applications, TI. Tout droits réservés, Marcel Aubin

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Activité 1 : Création et Clonage d'une première machine virtuelle Linux OpenSuSE.

Retrouver de vieux programmes et jouer sur VirtualBox

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 5

Démarrer avec Parallels Desktop 9

Guide d installation de SugarCRM Open Source version 4.5.1

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Tester Windows 8 sans l'installer avec Virtualbox

Quel PC pour quels usages? 1) PC de Bureau ou Portable? Les différents types de portables. - Les ultra-portables. - Les portables généralistes

LES SYSTÈMES DE FICHIERS

QCM Corrigé. Damien Palacio 1/5

Introduction à l informatique en BCPST

À propos de Parallels Desktop 9 pour Mac

L informatique en BCPST

Démarrer avec Parallels Desktop 7

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

«Connais toi toi-même comme l as dit Socrate!»

But de cette présentation. Bac à sable (Sandbox) Principes. Principes. Hainaut P

Parallels Desktop 5 Switch to Mac - Lisez-moi

TP Déploiement de réseaux IP sous Linux et MS Windows sur une infrastructure virtualisée

A Libre Ouvert. Médiathèque Jacques Ellul. le

Mettre Linux sur une clé USB bootable et virtualisable

Exigences système Edition & Imprimeries de labeur

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Potimart. Manuel d'installation de la machine virtuelle 30/11/10

Des postes Des OS (Win/Linux) et logiciels Un réseau Un identifiant + un mot de passe Un compte personnel Une adresse électronique Un espace web Des

Travail personnel sur ordinateur

Guide d installation JMap 5.0

Guide d'installation d'esprit Version 2014 R2

Installation de Windows 2012 Serveur

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Prise en main d un poste de travail sous Windows sur le réseau du département MMI de l'upemlv. d après M. Berthet et G.Charpentier

DREAL proposition DNS et hébergement. magazine le 14 septembre 2011 DREAL comparatif hébergement

mai-2008 Infogérance des serveurs conçus par SIS alp 1

Module : Informatique Générale 1. Les commandes MS-DOS

Fichiers, dossiers, enregistrer et arborescence

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Médiathèque Numérique, mode d emploi

Généralités sur les systèmes d Exploitation

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

NOTE DE SYNTHESE Virtualisation de postes utilisateurs

Installation 4D. Configuration requise Installation et activation

Configuration système requise

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

Logiciels libres et Open source

Virtual Box Mettez un PC dans votre... PC

Prise en main d une Cyberclasse

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Partie théorique (20 points) :

INSTALL ATION D UNE D I S T RIBUTION

Chapitre 02. Configuration et Installation

& collaborative workspace. the new multitouch CONNECT & SHARE COLLABORATE BETTER & DECIDE FASTER CREATE & INNOVATE SAVE & TAKE THE DATA WITH YOU

Kaspersky Security Center 9.0 Manuel d'implantation

Concept de machine virtuelle

Éléments d'architecture des ordinateurs

Chapitre I Notions de base et outils de travail

Cours LG : Administration de réseaux et sécurité informatique. Dans les Paramètres Système onglet Processeur, le bouton "Activer PAE/NX"

Guide d installation BiBOARD

Boot Camp Guide d installation et de configuration

Le poste virtualisé. Vers la simplification du poste de travail. Stéphane Pichevin Responsable poste de travail virtualisé Sun Microsystems

Découvrez les Nouveautés Février 2010 du Catalogue PC Pack PRO

Médiathèque Numérique, mode d emploi

Installer un serveur web de développement avec VirtualBox

en version SAN ou NAS

Machine virtuelle W4M- Galaxy : Guide d'installation

CAHIER DE S CHARGE S Remote Workload Manager

Chapitre 01 Généralités

Installation & Mode d emploi WL400 Adaptateur/Antenne Wifi

Automatisation de l administration système avec

Plan de cette matinée

Transcription:

GLO-1900 Introduction à la programmation avec Python Outils et normes de programmation Marc Parizeau (automne 2010) Marc Parizeau, Département de génie électrique et de génie informatique

Systèmes d exploitation Python est un langage portable qui fonctionne sur toutes les plateformes Unix/Linux excellent choix si Linux est votre OS préféré, surtout ne rien changer! MacOS X excellent choix, mais nécessite du matériel Apple basé sur Unix Windows aucun problème particulier, mais Unix est mieux ;-) considérez la virtualisation de Linux 2

Virtualisation Plusieurs solutions de virtualisation sont disponibles sur toutes les plateformes Si votre OS est Windows et que vous voulez expérimenter avec Linux, je vous recommande d installer VirtualBox http://www.virtualbox.org/wiki/downloads Ensuite, télécharger une distribution de Linux, par exemple Ubuntu 10.04 en version 32 bits http://www.ubuntu.com/desktop/get-ubuntu/download Puis, installer Ubuntu dans VirtualBox en suivant les instructions à l écran VirtualBox vous demandera de lui fournir l image disque téléchargée à l étape précédente 3

Paramètres importants réservez au moins 512 Mo pour votre nouvel OS ceci suppose cependant que votre ordinateur possède au moins 2 Go que votre ordinateur est récent (p.ex. Core 2 duo+) n oubliez pas d installer les «guest additions» Si vous avez une machine peu puissante, votre expérience pourrait ne pas être idéale

Interpréteur Python Assurez-vous d avoir la version 3.1 ou supérieure Linux Ubuntu 10.04 vient avec Python 2.6.5 MacOS X 10.6 vient avec Python 2.6.1 Windows ne vient pas avec Python Si vous travaillez avec Windows, vous pouvez télécharger Python à l adresse suivante http://www.python.org/download/ choisissez la version la plus récente (3.1 ou +) 6

Python 3 vs Python 2? La version 3 du langage brise la compatibilité avec la version 2.x; un programme écrit en Python 2.x engendrera généralement des erreurs lorsqu'exécuté avec la version 3.x les changements ne sont pas majeurs, c'est toujours du Python, mais certains éléments syntaxiques ont été changés pour accroître la cohérence du langage il existe des outils de conversion automatique Nous sommes à la croisée des chemins; la version 2.x est encore très utilisée, mais en fin de vie; la version 3.x est stable, mais de nombreux développeurs n'ont pas encore porté leurs modules nous allons regarder vers l'avant et adopter sans hésiter la dernière version de l'interpréteur (3.1.2) 7

Éditeur de texte Outil important pour vous faciliter la vie Utilisez un éditeur qui connait le Python coloriage syntaxique indentation automatique complétage automatique De nombreuses alternatives existent sur toutes les plateformes Si vous n avez pas d éditeur «favori», je vous suggère IDLE vient avec l'interpréteur Python 8

Gestion du code source Un gestionnaire des versions de code source permet de préserver l'historique de tous fichiers de savoir quels changements ont été faits quand et par qui de revenir en arrière sur n'importe quel changement par exemple, sur une version stable précédente du logiciel de faciliter le travail en équipe Nous allons adopter Mercurial un gestionnaire de code source distribué écrit en Python http://mercurial.selenic.com/ 9

Normes de programmation Conventions que nous allons adopter pour les travaux pratiques pour améliorer la lisibilité du code pour une documentation automatique pour assimiler la façon pythonesque Nous allons nous inspirer du PEP #8 (Python Enhancement Proposals) http://www.python.org/dev/peps/pep-0008/ 10

Encodage: UTF-8 Identification de chaque fichier nom de l'auteur noms des co-équipiers (s'il y a lieu) Longueur des lignes: 79 caractères max Indentation: 4 espaces jamais de <tab> Commentaires: au début du fichier pour décrire le module/programme au début de chaque classe pour la documenter au début de chaque fonction pour la documenter ailleurs selon les circonstances

Noms de fichier: Ils sont tout en minuscules avec l'extension «.py» par exemple: tp1.py Noms de classe: ils débutent toujours par une majuscule; lorsque plusieurs mots sont assemblés pour former un identifieur plus descriptif, la première lettre de chacun d'entre eux est aussi une majuscule (voir «CamelCase» dans Wikipedia) par exemple: MaClasse, UneClasse, etc. Noms de fonction: ils débutent toujours par une minuscule; lorsque plusieurs mots sont assemblés pour former un identifieur plus descriptif, la première lettre des mots qui suivent le premier peut être une majuscule le premier mot d'un nom de fonction est habituellement un verbe d'action par exemple: lirepoint, calculeraire, etc.

Noms de variable: ils sont tout en minuscules choisir des noms significatifs par exemple: somme, aire, x, y, i, j, etc. Langue pour les identifieurs et les commentaires: en français ou en anglais mais pas les deux! aucun accent dans les identifieurs En général, toujours être cohérent (faire une même chose toujours de la même façon)

#!/usr/bin/env python # -*- coding: utf-8 -*- """ Description du module """ auteur = "Prénom Nom" date = "aaaa-mm-jj" coequipiers = "Coéquipier 1", "Coéquipier 2" # Importation des modules standards import this # Importation des modules tiers # Importation des modules locaux # Définition d'une classe en Python class MaClasse(object): """Description de la classe """ def init (self): """ Description du constructeur """ pass # Définition d'une fonction simple def creerfonction(): """Description de la fonction """ pass if name == " main ": # Placer ici le programme principal pass

Conclusion Python est un langage de programmation qui ne nécessite pas de travailler avec des outils compliqués un bon éditeur de texte suffit Tout est gratuit Vous pouvez travailler avec le système d'exploitation de votre choix, mais profitez de l'occasion pour expérimenter avec Linux Les processeurs modernes possèdent des instructions spéciales pour faciliter la virtualisation permet de tester nos programmes dans différents environnement sans être obligé de changer de machine ni de «rebooter» Assurer-vous de maîtriser votre environnement, quel qu'il soit, d'ici la fin de la semaine prochaine, car le premier TP est à rendre la semaine suivante! 15

Quiz Sur quel(s) système(s) d'exploitation Python fonctionne-t-il? Qu'est-ce que la virtualisation? Sur quel plateforme VirtualBox fonctionne-t-il? Quelle est votre distribution préférée de Linux? Quelles sont les différences principales entre Python 2 et 3? Qu'est-ce que Mercurial? Dans quel langage est-il écrit? 16