Vous êtes sur la page 1sur 59

Cours: Informatique - Programme scolaire : 2018/2019

MISS PYTHON, PRISE EN MAIN (LEÇON)

S2
2018-2019

Université de Fianarantsoa: 2eme année


Cours: Python – Année Universitaire: 2018/2019

Objectif du cours :

chaque étudiant de niveau de 2eme année sera capable de :

- Connaitre la notion de base du langage de la programmation python,

- Superviser les matériels informatiques via des scripts python,

- Gérer la base de données relationnels ou non via le langage de programmation python,

- Maitriser le Framework Django pour la création d’un site web python,


- Coupler le langage de programmation python avec le Framework Django.

Université de Fianarantsoa– Classe : 2eme année


Cours: Informatique - Programme scolaire : 2018/2019

Plan du cours :
Partie I : Python : Notion de Bases (variables, fonction, dictionnaire, liste, condition, boucle)

Partie II : Python : Monitoring sous UNIX ( surveillance de la processeur, contrôle du RAM,


Visualisation de l’ état de la Disque Dure).

Partie III : Python : Base de données SQLite et MySQL (connexion de la base de données, ajout,
modification, et suppression des tables).

Partie IV: Python : Framework Django (fonctionnement de Django, bases de données, Template,
modèles, formulaires, administration, gestion des fichiers, filtres, tags, pagination, manage.py).

Partie V: Python : Applications (Travaux Pratiques (TP), Travaux Dirigés (TD)).

Université de Fianarantsoa : 2eme année


Cours: Python – Année Universitaire: 2018/2019

PARTIE I :PYTHON :NOTION DE BASES

Université de Fianarantsoa: 2eme année


Cours: Python – Année Universitaire: 2018/2019

PARTIE I :python :notion de bases


1) Définition:
Python est un langage de programmation de haut niveau, dont la première version est sortie en
1991. Créé par Guidov an Rossum, il a voyagé du Macintosh de son créateur , qui travaillait à
cette époque au Centrumvoor Wiskunde en Informaticaaux Pays -Bas , jusqu' à se voir associer
une organisation à but non lucratif particulièrement dévouée, la Python Software Foundation,
créée en 2001. Ce langage a été baptisé ainsi en hommage à l a troupe de comiques l es «
Monty Python ».
2) Versions de Python:
Lors de la création de la Python Software Foundation, en 2001, et durant les années qui ont
suivi , le langage Python est passé par une suite de versions que l ' on a englobées dans l '
appellation Python 2.x (2.3, 2.5, 2.6). Depuis le 13 février 2009, la version 3.0.1 est disponible.
Cette version casse la compatibilité ascendante qui prévalait lors des dernières versions .

Université de Fianarantsoa: 2eme année


Cours: Python – Année Universitaire: 2018/2019

PARTIE I :python :notion de bases


3) Installation:
L ' installation de Python est un jeu d' enfant , aussi bien sous
Windows que sous les systèmes Unix.
3.1) Sous Windows
1 – Aller vers la site web officiel du Python : http://www.python.org
2 – Dans le lien principale, cliquer sur le lien Download.
3 – Sélectionner la version de python que vous voulez utiliser.
4 – Enregistrer puis exécuter le fichier d’installation et suivez les étapes.
5 – Une fois, l’installation terminé, vous pouvez vous rendre dans
Démarrer > Tous les programmes, et vous pouvez voir ce résultat :

Université de Fianarantsoa: 2eme année


Cours: Python- Année Universitaire: 2018/2019

PARTIE I :python :notion de bases


3.2) Sous Linux
1 – Aller vers la site web officiel du Python : http://www.python.org
2 – Dans le lien principale, cliquer sur le lien Download.
3 – Décompresser l’archive en tapant : tar -jxvf Python-3.2.tar.bz2.
4 – Attendez quelques instants que la décompression se termine, puis rendez -vous dans le répertoire courant
(Python-3.2 dans mon cas).
5 – Exécutez le script configure en tapant ./configure dans la console.
5 – Une fois que la configuration s ' est déroulée, il n' y a plus qu' à compiler en tapant make puis make altinstall.
3.3) Sous Mac
Téléchargez la dernière version de Python. Ouvrez le fichier .dmg et faites un double-clic sur l e paquet
d' installation Python.mpkg. Un assistant d' i installation s ' ouvre, laissez -vous guider : Python es t maintenant
installé.

Université de Fianarantsoa: 2eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


4) Les Variables
4.1) Définitions
Une variable est une donnée de votre programme, stockée dans votre ordinateur . C' est un code alphanumérique
que vous allez lier à une donnée de votre programme, afin de pouvoir l ' utiliser à plusieurs reprises et faire des
calculs un peu plus intéressants avec. C' es t bien joli de savoir faire des opérations mais , s i on ne peut pas
stocker l e résultat quel que part , cela devient très vi t e ennuyeux .
4.2) Syntaxe
Une variable doit respecter quelques règles de syntaxe incontournables : (ex: mon_age = 21)
a) - Le nom de la variable ne peut être composé que de lettres , majuscules ou minuscules , de chiffres et du
symbole souligné « _ » (appelé underscore en anglais ).
b) - Le nom de la variable ne peut pas commencer par un chiffre.
c) - Le langage Python est sensible à la casse, ce qui signifie que des lettres majuscules et minuscules ne
constituent pas la même variable (l a variable AGE est différente de aGe, elle-même différente de age).

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


4.3) Exemple
L ' interpréteur vous affiche aussitôt trois chevrons sans aucun
message. Cela signifie qu' il a bien compris et qu' il n' y a eu
aucune erreur . Sachez qu' on appelle cette étape l 'affectation de
valeur à une variable (parfois raccourci en « affectation de
variable »). On dit en effet qu' on a affecté la valeur 21 à la
variable mon_age.
4.4) Types de variables
La variable un concept très important , que l ' on retrouve dans beaucoup de langages de programmation. Python a
besoin de connaître quels types de données sont utilisés pour savoir quel les opérations il peut effectuer avec.
Ainsi, vous allez apprendre à travailler avec des chaînes de caractères , et multiplier une chaîne de caractères ne
se fait pas du tout comme la multiplication d' un nombre. Par conséquent, les différentes types des données sont :
les entiers (int), les chaines de caractères (string), les nombres flottants (float).

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


5) Les structures conditionnelles
5.1) Définitions
Les structures conditionnelles vont vous permettre de faire des tests et d' aller plus loin dans la programmation.
Elles permettent d' exécuter une ou plusieurs instructions dans un cas , d' autres instructions dans un autre cas.
5.2) Le condition If / if …else / if….elif…..else
Les conditions sont un concept essentiel en programmation.
Elles vont vous permettre de faire une action précise si ,
par exemple, une variable est positive, une autre action si
cette variable est négative, ou une troisième action
si la variable est nulle.
5.2.a) Exemple:
5.2.b) Exercice: Ecrire un programme en python qui détecte si une année écrite au clavier est bissextile ou non.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE I :python :notion de bases
6) Les boucles
6.1) Définitions
Les boucles sont un concept de la programmation. Elles vont vous permettre de répéter une certaine opération
autant de fois que nécessaire. En outre, les boucles peuvent permettre de parcourir certaines séquences comme
les chaînes de caractères pour , par exemple, en extraire chaque caractère.
6.2) Le boucle while
6.2.a) Syntaxe :
Elle permet de répéter un bloc d ' instructions tant qu'
une condition est vraie (while signifie « tant que » en anglais).
6.2.b) Exemple:
créer une programme python qui sera incrémentée dans le bloc d'
instructions .Tant que cette variable sera inférieure à 10, l e bloc s '
exécutera pour afficher la table.
Université : esti – Classe : 4eme année
Cours: Informatique - Programme scolaire : 2018/2019
PARTIE I :python :notion de bases
6.3) Le boucle for
L ' instruction for travaille sur des séquences . Elle est en fait spécialisée dans le parcours d' une séquence de
plusieurs données . Nous n' avons pas vu ces séquences assez particulières mais très répandues , même si elles
peuvent se révéler complexes .
6.3.a) Syntaxe :
L ' instruction for se construit ainsi :
6.3.b) Exemple:
Ecrire un programme en python qui
liste tous les caractères d’une phrase
quelconque en utilisant la boucle for.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE I :python :notion de bases
7) Le mots-clés Break et continue
7.1) Break:
Le mot -clé break permet tout simplement
d' interrompre une boucle. Il est souvent
utilisé dans une forme de boucle :
7.2) Continue:
Le mot -clé continue permet de
continuer une boucle, en repartant
directement à la ligne du while ou for

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


8) La Fonction
8.1) Définitions
Les fonctions permettent de regrouper plusieurs instructions dans un bloc qui sera appelé grâce à un nom. En
gros , c' est comme si vous enregistriez un groupe d' instructions pour faire une action précise et que vous lui
donniez un nom . Vous n' avez plus ensuite qu' à appel er cette fonction par son nom autant de fois que nécessaire
(cela évite bon nombre de répétitions ).
8.2) Syntaxe
Les fonctions s ' utilisent en respectant la syntaxe suivante : nom_de_la_fonction (parametre_1,…,parametre_n).
a) commencer par écrire le nom de la fonction. b) placer entre parenthèses l es paramètres de la fonction. Si la
fonction n' attend aucun paramètre, vous devrez quand même mettre les parenthèses , sans rien entre elles .
8.3) Exemple:
La fonction type( nom_de_la_variable ) permet de savoir le type de la variable.
La fonction print (« Hello World ») permet d’afficher un message ou une valeur à l’ écran.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


8.4) Création d’une fonction
Pour créer une fonction, la syntaxe est comme suit:
➢def, mot -cl é qui est l ' abréviation de « define » (définir , en anglais ) et qui constitue le prélude à toute
construction de fonction.
➢L e nom de la fonction, qui se nomme exactement comme une variable (nous verrons par l a suite que ce n' es t
pas par hasard). N' utilisez pas un nom de variable déjà instanciée pour nommer une fonction.
➢La liste des paramètres qui seront fournis lors d' un appel
à l a fonction. Les paramètres sont séparés par des virgules
et la liste est encadrée par des parenthèses ouvrante et fermante.
➢L es deux points , encore et toujours , qui clôturent la ligne.
8.4.1) Exemple:
Créer un fonction en python qui affiche
le table de multiplication par 7.
Université : esti – Classe : 4eme année
Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


8.4.1) Paramètres d’une fonction:
Pendant la création d’une fonction, vous pouvez passer
en argument différents nombres. Par exemple, pour
afficher la table de multiplication par 8, on fait : table(8).
On peut également préciser une valeur par défaut pour
les paramètres de l a fonction. Vous pouvez par exemple
indiquer que le nombre maximum d' affichages doit être de 10 par défaut.
8.4.2) Valeur de retour d’une fonction:
La fonction return permet de renvoyer une valeur ou
une résultat de calcul d’une fonction. Par un exemple :
Créer une fonction chargée de mettre au carré puis
de retourner la valeur qui est passé en argument.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


8.5) La fonction lambda
Nous venons de voir comment créer une fonction grâce au mot -clé def. Python nous propos e un autre moyen de
créer des fonctions , des fonctions extrêmement courtes car limitées à une seule instruction.
8.5.1) Syntaxe:
D' abord, on a le mot -clé lambda suivi
de la liste des arguments, séparés par des virgules . Ici , il n' y a qu' un seul argument , c' est x. Ensuite figure un
nouveau signe deux points « : » et l' instruction de la lambda. C' est le résultat de l ' instruction que vous placez
ici qui sera renvoyé par la fonction. Dans notre exemple, on renvoie donc x * x.
8.5.2) Exemple:
créer une fonction lambda prenant deux paramètres
et renvoyant la somme de ces deux paramètres.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


9) Modules
9.1) Définitions
Un module est grossièrement un bout de code que l ' on a enfermé dans un fichier . On emprisonne ainsi des
fonctions et des variables ayant toutes un rapport entre elles . Ainsi , si l'on veut travailler avec les
fonctionnalités prévues par le module (celles qui ont été enfermées dans le module), il n' y a qu' à importer le
module.
9.2) Exemple:
En Python, il existe un grand nombre de modules
Disponibles sans qu' il soit nécessaire d' installer des
bibliothèques supplémentaires . Pour cette partie, nous
prendrons l ' exemple du module math qui contient ,
comme son nom l ' indique, des fonctions mathématiques.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


10) Exception
10.1) Définitions
L’exception est un concept de la programmation utilisé pour intercepter des erreurs dans des instructions. Par
exemple, une exception s’ élève si on divise 1 par 0. La classe qui gère cette exception est ZeroDivisionError.
10.2) Syntaxe:
La syntaxe de l’ exception est comme suit :
10.3) Exemple: Voici l’exemple de la division d’un nombre sans et avec exception.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


11) La liste
11.1) Définitions
En Python, les listes sont des objets qui peuvent en contenir d' autres . Ces ont donc des séquences , comme les
chaînes de caractères , mai s au lieu de contenir des caractères , el l es peuvent contenir n' importe quel objet.
11.2) Création de la liste:
On a deux moyens de créer des listes . Si je vous dis que
la classe d' une liste s ' appelle, assez logiquement ,list, vous
devriez déjà voir une manière de créer une liste.
11.3) Insérer des objets dans une liste:
On dispose de plusieurs méthodes , définies dans la classe list, pour ajouter des éléments dans une liste. La
fonction append() permet d’ajouter un élément à la fin d’une liste. Quand à la fonction insert(), il insère un élément à
l’endroit voulu.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


11.3) Insérer des objets dans une liste (suite):
On utilise la méthode append pour ajouter
un élément à la fin d' une liste.
11.4) Suppression des objets dans une liste:
Nous allons voir comment supprimer des
éléments d' une liste. Il s’agit de deux méthodes
pour supprimer des éléments d' une liste :
Le mots-clés del et la méthode remove().
11.5) Parcours d’une liste:
Vous avez déjà dû vous faire une idée des
méthodes pour parcourir une liste: la boucle
for, while et la fonction enumerate.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


12) Un dictionnaire
12.1) Définitions
Un dictionnaire est un type de données extrêmement puissant et pratique. Il se rapproche des listes sur certains
points mais , sur beaucoup d' autres , il en diffère totalement . Python utilise ce type pour représenter diverses
fonctionnalités.
12.2) Création de la liste:
On a deux moyens de créer des listes .
la classe d' un dictionnaire s ' appelle, dict,
vous devriez déjà voir une manière de créer
un dictionnaire.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


12.3) Suppression des objets dans un dictionnaire:
Nous allons voir comment supprimer des
éléments d' un dictionnaire. Il s’agit de deux
manières : Le mots-clés del et la méthode pop().
12.4) Parcours d’un dictionnaire:
Vous avez déjà dû vous faire une idée des
méthodes pour parcourir un dictionnaire:
la boucle for, while et aussi la parcours par
Valeur ou par clé.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


13) Programmation Système
13.1) Définitions
Ici, nous allons découvrir plusieurs modules et fonctionnalités utiles pour interagir avec le système. Python peut
servir à créer bien des choses, des jeux, des interfaces, mais il peut aussi faire des scripts systèmes.
13.2) Les flux:
Pour commencer, nous allons voir comment accéder aux flux
standard (entrée standard et sortie standard) et de quelle façon
nous devons les manipuler . Les flux peuvent être catégorisés
sous 3 formes: le flux d’entré, le flux de sortie, et le flux d’erreur.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE I :python :notion de bases


13.3) La fonction System:
La fonction du module os prend en paramètre
une commande à exécuter , affiche le résultat
de la commande et renvoi e s on code de retour.
En outre, la fonction system exécute un
environnement particulier rien que pour votre
commande. Cela veut dire, entre autres ,que system
retournera tout de suite même si l a commande
tourne toujours.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE II : PYTHON: MONITORING SOUS UNIX

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE II : python: monitoring sous Unix


1) Définition:
Le monitoring (monitorage ou supervision) est une technique de surveillance, d’analyses et d’alertes permettant de
pallier les problèmes liés à tous les niveaux de fonctionnement informatique d’une entreprise.

2) Intérêt de la supervision informatique:


L’intérêt d’une bonne supervision informatique est une gestion optimale du parc informatique à tous les niveaux. Les
enjeux en matière de supervision sont colossaux, car ils conditionnent la performance de l’entreprise.
Les bénéfices retirés d’une supervision informatique sont rapidement visibles à plusieurs niveaux :
Les problèmes sont détectés avant qu’ils n’apparaissent dans l’entreprise.
 Bug informatique détecté en temps réel et alerte par SMS ou email
La prise de main à distance permet de redémarrer un serveur distant, réglant ainsi un éventuel problème de
disponibilité (site web, production, mise à jour, etc.)
Une excellente gestion du parc informatique donne un sérieux avantage concurrentiel à l’entreprise qui l’a mise en
place.
Université : esti – Classe : 4eme année
Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3) Quelques exemples de la supervision informatique
3.1) Vérification de la partition du disque dure (HD):

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.2) Vérification de la température du Disque Dure(HD):

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.3) Vérification de l’espace disque (HD):

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.4) Vérification de la mémoire utilise (RAM):

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.5) Vérification de la liste des processus (CPU):

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.6) Vérification du taux de chargement moyen du CPU:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.7) Vérification de l’identification du serveur:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.8) Vérification du temps d’exécution du serveur:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.9) Supervision des taches effectues par le serveur:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019
PARTIE II : python: monitoring sous Unix
3.10) Vérification de temps de réponse du serveur:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : PYTHON:BASE DE DONNEES SQLITE ET MYSQL

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


1) Définition de la base de données:
Une base de données ( database en anglais) est un conteneur dans lequel il est possible de stocker des données de
façon structurée . Cette structure permet au programme informatique connectée à celle-ci de faire des recherches
complexes .
Un langage standardisé -SQL- est dédié à cette structure et permet aussi bien de faire des recherches mais aussi des
modifications ou des suppressions.
Les logiciels de gestion de bases de données les plus utilisées aujourd'hui sont des SGBDR - Système de gestion de
base de données relationnelles -, c'est à dire que les données sont liées les unes aux autres, par exemple on peut
définir que si on supprime une information, d'autres informations dépendantes de cette dernière soient elles-aussi
automatiquement supprimées. Cela garantit une cohérence de données .
Il ne faut donc pas confondre une base de données qui est un conteneur et le SGBDR qui est un logiciel de gestion
de bases de données .

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


2) Différentes types des SGBDR:
Pour pouvoir exploiter les base de données
que nous allons étudier, il est nécessaire de
maîtriser le SQL:
➢ Créer une table SQL
➢ Insérer des données
➢ Sélectionner des données
➢ Modifier des données
➢ Supprimer des données.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


3) Le SGBDR MySQL:
MySQL est le logiciel idéal pour vos projets de sites web. Contrairement à SQLite, il est nécessaire de l'installer et de
le configurer.
3.1) Installation:
➢ Installer le packet mysql-server : sudo apt-get install mysql-server (Un mot de passe super-utilisateur vous sera
demandé lors de l'installation).
➢ Créer une base de données. Pour cela vous devez vous connecter à MySQL: mysql –u root –p.
➢ On vous demandera votre mot de passe.
➢ Créer votre base de données : create database test1; via la console MySQL.
➢ Installer les packets python : sudo apt-get install python-pip libmysqlclient-dev python- dev python-mysqldb; sudo
apt-get install python3–mysql.connector.
➢ Installer les bibliothèques : pip install mysql, pip install MYSQL-python, pip install mysql-connector-python.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


3.2) Connexion au serveur MySQL: 3.3) Création d’une table de données MySQL

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


3.4) Insertion des données: 3.5) Sélection des données:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


4) SQLite:
SQLite a été conçu pour être intégré dans le programme même. Pour des projets plus ambitieux / projets web le choix
de MySQL serait plus judicieux.
4.1) Création d’une base de données: 4.2) Création d’une table de données MySQL
➢ pour créer une base de données avec SQLite,
rien de plus simple: conn = sqlite3.connect(‘ma_base.db’).
➢ Il est aussi possible de travailler avec une bdd de
manière temporaire: conn = sqlite3.connect(‘:memory:’).
➢ Ensuite, pensez à fermer la connexion vers la base:
conn.close().

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


4.3) Suppression d’une table avec SQLite: 4.4) Gestion des erreurs avec SQLite

4.5) Modification des entrées avec SQLite:


Pour modifier des entrées:
cursor.execute(« update Users set age=? where id=2 »,(31,))

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE III : python: base de données SQLite et MySQL


4.5) Insertion des données:

4.6) Sélection des données:

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : PYTHON: FRAMEWORK DJANGO

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


1) Définition:
Django est un Framework développé en Python, initialement pour un journal local dans le Kansas : World Online.
Il dédié spécialement pour la création d’un site web dynamique.
2) Installation:
L'installation du Framework requiert certains programmes qui seront indispensables à son fonctionnement:
Python; Python Imaging Library; gestionnaire de base(s) de données (MySQL , SQLite, PostgreSQL, ...).
2.1) Installation sous Debian:
➢ installer ces trois programmes cités ci-dessous: apt-get install python, python-imaging python-pysqlite2 sqlite3.
➢ récupérer la dernière version de Django: $ cd ~/Téléchargements/, $ tar zxf Django-1.2.5.tar.gz, $ cd Django-
1.2.5, $ sudo python setup.py install.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


2.2) Installation sous MAC OS X:
➢ Python et SQLite3 sont déjà présents, vous pouvez utiliser easy_install pour installer pysqlite2: $ sudo
easy_install pysqlite.
➢ Télécharger PIL: $ tar zxf jpegsrc.v6b.tar.gz, $ cd jpeg-6b, $ cp /usr/ share /libtool/config/config.sub ., $ cp /usr/
share/libtool/config/config.guess ., $ ./configure --enable-shared --enable-static, $ make.
➢ Puis installer PIL: $ sudo mkdir -p /usr/local/include, $ sudo mkdir -p /usr/local/lib, $ sudo mkdir -p
/usr/local/man/man1, $ sudo make install.
2.3) Installation sous Windows:
➢ Téléchargez ensuite Django 1.2.5 et extrayez -le. Un dossier « Django-1.2.5 » s'est créé.
➢Modifier les variables d' environnement système : Touche Windows + Pause ->Paramètres système avancés ->
Variables d'environnement.
➢Cherchez la variable «Path» et ajoutez ceci : ;C:\Python27;C:\Python27\Lib\site-packages\django\bin.
➢Ouvrez cmd et taper: $ cd chemin\vers\django, $ python setup.py install.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


3) Création et architecture du projet:
➢ Créer votre projet en tapant : django-admin.py startproject mon-projet.
➢ Aller dans le répertoire mon_projet et vous devez voire les fichiers suivants : __init__.py manage.py settings.py
urls.py
➢ Voici les rôles de chaque fichiers :
o__init__.py : Il s'agi t d' un fichier juste qui définit le répertoire comme étant un module Python. Tous vos
répertoires contenant du code Python que vous souhaitez charger depuis d' autres fichiers Python, doivent
contenir ce fichier mêmes ' il est vide.
o manage.py : Ce fichier nous permet de faire des actions définies sur notre projet Django.
o settings.py : C' est le fichier de configuration de notre projet . Il est spécifique à une machine. Attention : ce
fichier est confidentiel et ne doit pas être diffusé avec votre projet .
ourls.py : Ce fichier est destiné à recevoir l es modèles d' URL que nous définirons . Vous pouvez y jeter un
coup d' œil , mais les lignes y sont pour l e moment commentées.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


4) Gestion du projet:
➢ Pour demander des informations, dirigez vous dans le dossier du projet et tapez : $python manage.py help.
➢ Pour lancer le serveur de développement, tapez : $python manage.py runserver.
➢ Puis vous pouvez voir le résultat dans : http://127.0.0.1:8000/.
➢ Pour changer le port du serveur, tapez :
$python manage.py runserver 8080.
➢Le fichier settings.py va contenir les informations de connexion
à la base de données , le salt qui permet de sécuriser les clefs
de hachage — MD5 ou SHA1 par exemple. Vous allez également
y entrer votre adresse e-mail . Il y a les tuples ADMINS et
MANAGERS. Généralement , ADMINS es t utilisé pour les
erreurs et MANAG E RS pour l es fonctionnalités.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


5) Création et architecture d’une application:
Maintenant que nous avons conçu notre projet Web avec Django, il est temps de créer notre première application.
Ce qu' il faut savoir , c' est qu' un projet peut contenir une ou plusieurs applications.
➢ Créer votre application en tapant : $ python manage.py startapp sondages.
➢ Aller dans le dossier sondages et vous devez voire les fichiers : __init__.py, models.py, views.py, et tests.py
➢ Voici les rôles de chaque fichiers :
o__init__.py : ce fichier n' est pas important, mais si vous le supprimez , vous rencontrerez des problèmes .En
effet , il sert à signaler que le dossier de l ' application est un paquetage Python.
omodels.py : il s' agit des modèles de notre application. Cela nous permettra de générer notre base de données;
oviews.py : Ce fichier correspond à nos vues, autrement dit , toutes les pages visibles de votre application ;
otests.py : ce fichier vous permettra de faire subir une batterie de tests à votre application. On aura l'occasion
d' aborder ce sujet une fois que vous aurez acquis les bases .

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


6) Création du modèle de MTV sous django:
➢ Premièrement, créez une application via la commande : $ python manage.py startapp sondages.
➢ Ouvrez le fichier models.py de notre application pour y voir plus clair.
➢ Ajoutez un modèle, rien de plus simple : il suffit
d' insérer une class du nom du modèle, et cette dernière
doit hériter de la class models.Model.
➢ Remplissez les modèles par des champs et des fonctions:
Chaque modèle est constitué de champs et de fonctions.
Les champs sont évidemment la base des modèles, alors
que les fonctions permettent de gagner du temps en évitant de réécrire plusieurs fois le même code.
➢Chaque champ a un nom , un type et d'éventuelles options. Les types de champs CharField et IntegerField
correspondent respectivement à un champ de texte et à un champ entier .

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


6.1) Affichage de la structure SQL de votre modèle:
Cela va permettre de vérifier si l'application
« sondages » a bien été prise en compte
et devoir le code SQL généré pour nos modèles.
6.2) Générer la base de données:
➢ Pour générer la base de données,
vous devez utiliser le fichier manage.py :
$ python manage.py syncdb.
➢ Puis, on va vous demander si vous souhaitez
créer un compte super-admin , dites « oui / yes ».
➢ Enfin, les tables requises au bon fonctionnement du
framework et celles de notre application ont bien été créées.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


7) Création de la View de MTV sous Django:
7.1) Définition:
Une vue, sous Django, c' est une fonction en somme. Cette fonction est en fait la relation entre le modèle et le tem
plate. Cette fonction permet, par exemple, de retourner le nombre de sondages de notre base de données dans notre
gabarit(=template). Par exemple, dans notre vue, nous récupérons notre sondage en question (il y a donc la
relation entre le modèle et la vue). Ensuite, nous transmettons les données récupérées dans notre gabarit pour
l'afficher (relation vue et template).
7.2) Gestion des vues:
Chaque module possède ses propres vues comme par exemple, l'accueil
des sondages, un sondage en particulier, l'ajout d' un vote, la suppression
d' un sondage. Toutes ces vues se déclarent dans le fichier views.py.
➢ Rendez -vous donc dans le dossier mon_projet/sondages$ et ouvrez le fichier en question.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


7.2) Gestion des vues (suite):
Pour traiter les informations dans une vue:
➢ Il faut toujours qu' une définition de vue retourne quelque chose : une valeur, des variables ou des objets .
Ces bouts de codes sont très simple : dans notre application et les
modèles liés, nous importons dans notre fichier courant les
deux modèles créés (on peut aussi faire from sondages.models import *).
➢ Dans notre fonction, nous souhaitons récupérer tous les sondages.
dans notre variable list_sondages , nous allons retourner des objets.
En français , ça veut dire : dans le modèle Sondages,
retourne moi tous les objets.
➢Maintenant que nous avons toutes nos données, il va falloir retourner ces informations à notre gabarit. La
fonction que nous allons utiliser permet de sélectionner un fichier gabarit et lui envoyer des variables. Elle doit
obligatoirement être utilisée dans un retour.
Université : esti – Classe : 4eme année
Cours: Informatique - Programme scolaire : 2018/2019
PARTIE IV : Python: Framework Django
7.3) Gestion d’ URLs:
L es URLs sont très importantes dans votre projet .
C' est à vous de les faire de toute pièce. Concrètement,
elles ne sont pas compliquées à manipuler mais il faut
connaître leur fonctionnement .
➢ Ouvrez le fichier urls.py, ensuite, vous allez avoir
quelques exemples du fonctionnement de vos URL s.
➢ la variable urlpatterns = patterns('', )
ontient toutes vos URL s. La premier chaîne de caractères
est votre URL sous forme d' expression régulière.
La deuxième, le module et la vue sur les quels nous souhaitons pointer l'URL.
➢Chaque ligne correspond à une nouvel le URL. Chaque URL pointe vers une seule vue définie comme ci-dessus.

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

PARTIE IV : Python: Framework Django


➢ Le tag {{ var }} est utilisé pour afficher justement le contenu
d' une variable, vous devez utiliser.
➢Le tag {% %} est utile pour faire des opérations plus complexes comme les conditions et les boucles, vous
devrez utiliser les deuxièmes.
➢La condition est utilisé pour tester des variables :
{% if condition %} Si vraie {% else %} Si faux {% endif %}.
➢Le boucle est utilisé pour retourner (ou afficher) des valeurs
(un tableau) dans le template :

Université : esti – Classe : 4eme année


Cours: Informatique - Programme scolaire : 2018/2019

FINISH
Mr Rochel
Tel : 0349251646 E-mail : soniarimamys@gmail.com

2018-2019

Université : esti – Classe : 4eme année

Vous aimerez peut-être aussi