Développement de projets logiciels à l'aide de Python

Documents pareils
Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

LICENCE : INFORMATIQUE GENERALE

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

Cyberclasse L'interface web pas à pas

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Rencontre des personnes-ressources en déficience motrice et organique RÉCIT MST - RÉCIT Adaptation scolaire Pierre Couillard

Résultats de l'enquête

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

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL

Offre Education 250 /an/école (htva)

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

Cours 20411D Examen

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Formation projet informatique. Expression de besoins, définir un besoin informatique

IMO - Informatique, modélisation et optimisation

Présentation d'un Réseau Eole +

Évaluation et implémentation des langages

RÈGLEMENT NUMÉRO 12 RÈGLEMENT SUR L UTILISATION DES TECHNOLOGIES INFORMATIQUES ET INTERNET

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Les outils de dessin. Sweet Home 3D 1 EAI NEWS

Annexe : La Programmation Informatique

INDUSTRIALISATION ET RATIONALISATION

Logiciel libre de gestion pour l'education Populaire. Module ALSH et ALSH périscolaire

Une unité organisationnelle (Staff) comporte une centaine d'utilisateur dans Active Directory.

Raccordement des machines Windows 7 à SCRIBE

Description de l implantation dans le centre d examen (nom du service ou de l outil et caractéristiques techniques)

Dispositif : da01 - Animations pédagogiques. Module da-01 : 01 - Apprentissages coopératifs en maternelle

Découverte des Logiciels Libres. Gilles Dequen

Les Imprimantes EOLE 2.3. Documentation sous licence Creative Commons by-nc-sa - EOLE (http ://eole.orion.education.fr) révisé : Janvier 2014

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

L informatique en BCPST

Logiciel EV3 LEGO MINDSTORMS Education

DIRAC : cadre et composants pour créer des systèmes de calcul distribués

Retrospect 7.7 Addendum au Guide d'utilisation

La communication et la gestion de l'information

Calcul Scientifique avec 3

Spécifications de l'offre Surveillance d'infrastructure à distance

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

LES INTERFACES HOMME-MACHINE

Présentation du logiciel Free-EOS Server

«Clustering» et «Load balancing» avec Zope et ZEO

Tâches planifiées. Chapitre Introduction

Écoles Rurales Numériques et AbulÉdu

Éléments d'architecture des ordinateurs

LISTE D OPTIONS DE LICENCE

Formation en Logiciels Libres. Fiche d inscription

Gestionnaire de réseaux Linux et Windows

Solutions numériques d'apprentissage et de collaboration interactive

IDENTIFICATION CONDITIONS D ÉVALUATION : le public ciblé : Sous statut scolaire En apprentissage En formation continue. Niveau II (bac+4 et 3)

Chapitre I Notions de base et outils de travail

SARL WOISA 180 Rue Guy ARNAUD Nîmes Tel : jp.audier@woisa.fr

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Phase 1 : Introduction 1 jour : 31/10/13

FORMATION PROFESSIONNELLE

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

ENDPOINT SECURITY FOR MAC BY BITDEFENDER

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Introduction à l informatique en BCPST

Back up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11

UTILISATION D'UNE PLATEFORME DE TRAVAIL COLLABORATIF AVEC DES ELEVES DE TERMINALE STG

Serveur de travail collaboratif Michaël Hoste -

APPEL À MANIFESTATION D INTÉRÊT

Prototypage électronique

Éléments de programmation et introduction à Java

Prise en main d une Cyberclasse

INFORMATIQUE SYSTÈMES D EXPLOITATION TRAITEMENTS DE TEXTE LES BASES DE WINDOWS (COURS MODULE 2 ECDL)


Infrastructure RDS 2012

l'utilisation de l'image, de tableaux, d'outils de traitement informatique des données, donnant un sens concret aux tic ".


PROTECTION DE MACHINE VIRTUELLE VMWARE DELL POWERVAULT DL2000 OPTIMISÉ PAR SYMANTEC

et de suivi de la corpulence des enfants

Manuel d'utilisation

PROJET ARCHI WINDOWS SERVER

Projet tablettes numériques Document de référence

Date : NOM Prénom : TP n /5 DE WINDOWS SERVEUR

Nécessité de concevoir un outil de recherche PDF Présentation des fonctionnalités d'indexation et de recherche... 3

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

APPEL A PROJETS SERVICE REGIONALE DE L APPRENTISSAGE

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Nouvelles stratégies et technologies de sauvegarde

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

Installation d OpenVPN

Documentation utilisateur. [EIP] TransLSF

Virtualisation des postes de travail

KASPERSKY SECURITY FOR BUSINESS

Fiche Produit. Sauvegarde en ligne Kiwi Online

ARTICA PROJECT Vous souhaitez mettre en place simplement un serveur sécurisé: De messagerie.

Les modules SI5 et PPE2

Comment créer un site web Proxy gratuitement!

RégieSpectacle JLG SOFT. Présentation fonctionnelle

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Module 5 : Gestion de l'accès aux ressources à l'aide de groupes

VERITAS NetBackup 5.0

Acronis Backup & Recovery for Mac. Acronis Backup & Recovery et Acronis ExtremeZ-IP ARCHITECTURE DE RÉFÉRENCE

ENSEIGNEMENT ASSISTÉ PAR ORDINATEUR ET E.A.O. ET LANGUES ÉTRANGÈRES À L'UNIVERSITÉ

Transcription:

Développement de projets logiciels à l'aide de Python Gérard Swinnen Institut St. Jean-Berchmans & Université de Liège Belgique Conférence Python UBS -Vannes 15 Avril 2005

Cheminement personnel Stratégies d'apprentissage au cours de sciences : l'expérience des travaux pratiques. Développement de simulations expérimentales permettre l'investigation libre. Création d'une nouvelle filière d'enseignement technique élaboration d'un nouveau curriculum. Objectif : promouvoir l'autonomie en misant sur la réalisation de projets individuels. 2

3

Pourquoi Python? Niveau d'abstraction élevé. Liberté d'utilisation et de distribution (licence LGPL). Indépendance vis à vis de l'o.s. (Portabilité). Types de données intéressantes (Listes, dictionnaires). Extensibilité, adaptabilité (Modules). Variété des approches (Progr. procédurale, objets...). Excellente lisibilité (Syntaxe, structuration). 4

Python, c'est à la fois : un langage de haut niveau, semi-compilé, objet, multi-threadé, dynamique, gérant les exceptions ; simple, très lisible ; gratuit et libre ; modulaire, extensible ; doté d'une bibliothèque de base très fournie. Il est donc utilisable pour : l'écriture de scripts (y compris CGI), le prototypage ; le développement d'applications complexes ; comme langage de raccord ("glue") et/ou d'extension. 5

Pierre Auguste Renoir 1877

Pierre Auguste Renoir 1880

Niveau d'abstraction élevé Langage plus proche du langage humain plus facile à apprendre. Langage plus concis développement et corrections plus rapides, maintenance plus aisée. Approche plus globale des problèmes. 8

Liberté d'utilisation Lesser GNU Public License : Les outils Python peuvent être utilisés sans restriction pour produire des programmes de tous types, même si ceux ci sont distribués ensuite avec une licence plus ou moins restrictive que la GPL. Le code source de Python lui même (interpréteur, modules, etc.) est disponible et modifiable. 9

Portabilité Un programme Python peut être exécuté sur tous les grands systèmes d'exploitation : Windows, MacOS, Linux, etc. Le code produit peut être réutilisé dans différents contextes. 10

Edgar Degas, 1877

Types de données intéressants Listes : lst1 = [] lst2 = [3,5,7,11,17] lst3 = ["Olga","Marcel","Zoé"] lst4 = [1492, 3.1416, "Sophie"] lst5 = [["p","q","y"],[5,37,19,23]] 12

Types de données intéressants Dictionnaires : dct1 = {} dct2 = {"a":3, "x":5, "z":47} dct3 = {5:"rouge", 8:"bleu", 3:"vert"} dct4 = {6:["p","q"], 4:[5,37,19,23]} dct5 = {[63,17]:"pin", [42,89]:"chêne"} 13

Édouard Manet, 1881

Lisibilité : le problème Programme C écrit par Eric Marshall en 1986 affiche le message : "choo choo". 15

Lisibilité Exemple de code Python : 16

Syntaxe simple et intuitive Apprentissage aisé et rapide (permettant le développement précoce de projets). Maintenance du code facilitée (ainsi que les corrections du professeur!). Moins d'erreurs de syntaxe. Consultation moins fréquente de la documentation. Syntaxe forçant la structuration du code. 17

Berthe Morisot, 1877

Exemples concrets 19

Voltasim Didacticiel de simulation expérimentale permettant une investigation libre autour des circuits électriques. Exemple de programmation orientée objet : - instanciation de nombreux éléments similaires - dispositifs particuliers héritant d'un type de base. Exemple de mise en oeuvre de la bibliothèque graphique Tkinter. 21

BulréZo

BulréZo Application web assurant la gestion centralisée d'un système de bulletins informatisés pour une école secondaire. Les professeurs peuvent encoder leurs notes à partir d'un poste de travail quelconque, y compris à domicile. Les titulaires de classe et le secrétariat de l'école disposent de la même facilité pour effectuer leur tâche et produire des états imprimés. Exemple de programme utilisant les fonctionnalités multithread de Python ainsi que divers modules externes : CherryPy, PygreSQL, ReportLab. 23

VirtVal

La vallée virtuelle Ce didacticiel permet de montrer l'impact de diverses activités humaines sur un environnement naturel. Le système propose à l'utilisateur de d'assimiler une technique d'analyse de la qualité des eaux de surface par l'observation de diatomées (algues microscopiques), puis d'utiliser cette technique pour étudier les conséquences de l'implantation d'habitats et d'activités agricoles variées dans trois bassins versants. Exemple de programme montrant l'exploitation de la bibliothèque de traitement d'images P.I.L. 25

Odilon Redon, 1909

Ressources Gérard Swinnen : http://www.ulg.ac.be/cifen/inforef/swi

28 Scripts Python pour l'administration d'un réseau scolaire : Gestion des comptes utilisateurs (+ quotas) Backups Contrôle des accès web (via proxy Squid) Système de bulletins (BulréZo)