0% ont trouvé ce document utile (0 vote)
3 vues119 pages

Element 2 Python

Ce document présente un cours de programmation Python, couvrant les bases du langage, y compris les instructions, les variables, les opérateurs, et les structures de données. Il aborde également la compilation et l'interprétation du code Python, ainsi que son écosystème et ses bibliothèques. Enfin, des exercices pratiques sont proposés pour renforcer l'apprentissage des concepts abordés.

Transféré par

radiy0195
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues119 pages

Element 2 Python

Ce document présente un cours de programmation Python, couvrant les bases du langage, y compris les instructions, les variables, les opérateurs, et les structures de données. Il aborde également la compilation et l'interprétation du code Python, ainsi que son écosystème et ses bibliothèques. Enfin, des exercices pratiques sont proposés pour renforcer l'apprentissage des concepts abordés.

Transféré par

radiy0195
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation Python

[Link] Oualid

MST - IQMA - S1

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima – oualidbellalipro@[Link]


Déroulement du cours
Chapitre 1 : Introduction
Chapitre 2 : Les bases de la programmation python
Instructions de base : lecture/écriture
Les variables
Les opérateurs
Structure conditionnelle
Structure itérative / boucle
L’instruction : break
L’instruction : continue
Chapitre 3 : Fonctions & Modules
Fonctions
Modules
Chapitre 4 : Structures de données
Les types séquentiels : chaines de caractères, listes, tuples
Les types de correspondance : dictionnaire
Chapitre 5 :

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Chapitre 1 : Introduction
Langages de Programmation: Un peu de vocabulaire

Langage de programmation
Un langage de programmation est un
langage utilisé pour écrire des
programmes destinés à l’ordinateur. Il
permet de donner des instructions afin
de résoudre des problèmes, effectuer
des calculs ou automatiser des tâches
(afficher, décider, répéter…).
Exemples de langages : Python, C, Java.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Code Source:

Le code source est un ensemble de


fichiers texte contenant les instructions
écrites par un programmeur dans un
langage de programmation
compréhensible par l’humain. Une fois
rédigé, il est transformé en code binaire,
exécutable par le microprocesseur.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Le langage machine
est un ensemble d’instructions et de données
codées en binaire, directement interprétées
par le processeur. Chaque processeur
possède son propre langage machine,
spécifique et généralement incompatible
avec les autres. Aujourd’hui, le code machine
est produit automatiquement par des
compilateurs ou à partir de bytecode.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


ByteCode:
Le bytecode est un code intermédiaire entre le
code source et le code machine, non directement
exécutable par le processeur. Codé en binaire, il
peut être stocké en mémoire ou dans un fichier et
sert à réduire la dépendance au matériel. Il facilite
l’exécution sur différentes architectures et est
utilisé par certains compilateurs et langages
avant la transformation finale en code machine.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
compilateur vs interpreteur
Traduit tout le programme en code machine avant
Principe Traduit et exécute le programme ligne par ligne
l’exécution

Moment de la traduction Avant l’exécution Pendant l’exécution

Vitesse d’exécution Rapide (code déjà traduit) Plus lente (traduction à chaque exécution)

Détection des erreurs Toutes les erreurs sont détectées avant l’exécution Les erreurs sont détectées au moment de l’exécution

Fichier généré Génère un fichier exécutable Ne génère pas de fichier exécutable

Exemples de langages C, C++, Rust Python, JavaScript, PHP

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Python est à la fois compilé et interprété pour profiter des
avantages des deux méthodes.
D’abord, le code Python est compilé en bytecode, ce qui rend
le programme plus rapide à exécuter qu’en lisant le code
source ligne par ligne et permet de vérifier les erreurs de
syntaxe avant l’exécution.
Ensuite, ce bytecode est interprété par la machine virtuelle
Python, ce qui rend Python portable et indépendant de la
plateforme : le même bytecode peut s’exécuter sur Windows,
Linux ou macOS sans recompilation.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Definition
Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans
l’imposer) une approche modulaire et orientée objet de la programmation. Python est
développé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


popularité générale 2025
Python Java C++ SQL C# JavaScript TypeScript C Shell

Go R PHP Kotlin Rust Dart


1.0

0.8

0.6

0.4

0.2

0.0
++

n
va

l
C

P
o

st

t
on

R
#

el
rip

rip

ar
tli
SQ

PH
C

Ru
Sh
Ja
th

D
Ko
Sc

Sc
Py

va

pe
Ja

Ty

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Pourquoi le langage python ?

❑ Polyvalence: Python peut être utilisé dans de nombreux domaines.


❑ Écosystème: La vaste collection de bibliothèques disponibles pour Python.
❑ Communauté: La grande communauté de développeurs Python.
❑ Productivité: Python permet de développer rapidement des applications.
❑ Lisibilité: Le code Python est facile à lire et à comprendre.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Domaines des Frameworks Python

Django
➜ Développement web complet (applications robustes et sécurisées)
Flask
➜ Développement web léger et APIs REST
FastAPI
➜ APIs performantes et applications orientées données
Streamlit
➜ Applications web interactives pour la data science et le machine learning
Qt (PyQt / PySide)
➜ Applications de bureau (interfaces graphiques multiplateformes)
Tkinter
➜ Interfaces graphiques simples et applications desktop basiques
TensorFlow
➜ Intelligence artificielle et deep learning
PyTorch
➜ Recherche en IA et deep learning avancé

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Bibliothèques
Python & usages

NumPy Seaborn

Calcul scientifique Visualisation statistique

Pandas Scikit-learn

Analyse de données Machine learning

Matplotlib OpenCV

Visualisation Vision par ordinateur

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Chapitre 2 :
Les bases du programmation
python
Structuration d’un programme en Python

• Un programme Python est un fichier texte composé de blocs


d'instructions plus ou moins long, au minimum une ligne.
• Le passage d'une instruction à l'autre se fait
par retour à la ligne ou en insérant un pointvirgule ' ; '

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Structuration d’un programme en Python

[Link] Python, les blocs d’instructions ne sont pas délimités par des mots (endIf, enfFor) ni par
des symboles, mais par des lignes indentées (décalées) d’un nombre fixe de caractères (4
espaces ou une tabulation en général)
a.• On peut indenter « à la main » en appuyant4 fois sur la barre espace, ou une fois sur
latouche de tabulation.
b.• il ne faut pas mélanger espaces ettabulations. On utilisera soit l'un, soit l'autre.
c.• Une mauvaise indentation va provoquer des erreurs.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Utilser Python comme une calculette

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


commentaires

Pour une meilleure lisibilité des programmes, il faut le documenter.


On insère des commentaires en utilisant le caractère # en début de
commentaire, Exemple de script commenté :

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables

Une variable est une zone de la mémoire de l’ordinateur dans


laquelle une valeur est stockée
Aux yeux du programmeur, cette variable est définie par un
nom, alors que pour l’ordinateur, il s’agit en fait d’une adresse
En Python, la déclaration d’une variable et son initialisation
(c’est-à-dire la première valeur que l’on va stocker dedans)se
font en même temps

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables

Dans l’exemple précèdent, nous avons déclaré, puis initialisé la


variable x avec la valeur 2.
Notez bien qu’en réalité, il s’est passé plusieurs choses :
Python a « deviné » que la variable était un entier. On dit que Python
est un langage au typage dynamique.
Python a alloué (réservé) l’espace en mémoire pour y accueillir un
entier. Chaque type de variable prend plus ou moins d’espace en
mémoire. Python a aussi fait en sorte qu’on puisse retrouver la
variable sous le nom x.
Enfin, Python a assigné la valeur 2 à la variable x.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables

nom_de_variable = valeur
Affectation multiple
a, b, c = 2, 4.3, "ahmed"
a est assigné à la valeur 2 (un entier).
b est assigné à la valeur 4.3 (un nombre à virgule flottante).
c est assigné à la chaîne de caractères "ahmed".

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables
On peut convertir une variable d'un type à un autre en utilisant des fonctions de
conversion.
Convertir un entier en chaîne de caractères :

Convertir une chaîne en entier :

Convertir un nombre décimal en entier :

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables

Déterminer le Type d'une Variable

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Variables
Noms de variables et mots réservés

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


La fonction : print
C’est une fonction qui permet d’afficher les éléments passés comme arguments de
la fonction
Syntaxe générale Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


La fonction : input
C’est une fonction qui permet à l’utilisateur d’un programme de saisir des valeurs à l’aide de
son clavier
La fonction input() renvoie une valeur de type chaine de caractères, pour faire des calculs
sur la valeur saisie, il faut la convertir à un entier avec la fonction int (nom_variable) ou un
réel avec la fonction float(nom_variable)

Syntaxe générale Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Opérateurs et expressions

Opérateurs arithmétiques Opérateurs logiques Opérateurs arithmétiques

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Opérateurs et expressions
C’est l’opération qui permet d’attribuer à une variable une valeur simple ou résultante
d’une expression arithmétique :

Une affectation multiple c’est attribuer à plusieurs variables une seule valeur avec une
seule affectation.

Une affectation parallèle c’est affecter des valeurs à plusieurs variables en parallèle.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


THE ROLE OF INNOVATION IN DYNAMIC MARKETING
C’est une comparaison de deux valeurs de même type en
Expression logique
utilisant un opérateur de comparaison.
simple
La valeur d’une expression logique est de type booléen (vrai
ou faux)

Exemple
A==B
A<=4
Expression logique C’est une combinaison entre deux expressions logiques
complexe simples en utilisant un opérateur logique.
La valeur d’une expression logique complexe est de type
booléen (vrai ou faux)
Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Installation

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice

Écris un programme Python qui :


Déclare deux variables a et b avec les valeurs 7 et 3.
Ajoute un commentaire sur une ligne expliquant ce que fait le programme.
Ajoute un commentaire multiligne (triple quotes) pour décrire les étapes.
Affiche la somme de a et b.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice

Écris un programme Python qui :


Déclare une variable x de type chaîne avec la valeur "45".
Convertis-la en entier et stocke le résultat dans y.
Déclare une variable z égale à 12.8 (float).
Convertis z en entier (transtypage explicite) et stocke dans w.
Affiche y, w et le type de w.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice

Tu as deux variables : nom = "Alice" et age = 25.


Affiche les phrases suivantes en utilisant deux méthodes
différentes :
1. Avec des virgules dans print.
2. Avec une f-string.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
On demande à l’utilisateur d’entrer son nom à l’aide de input(),
puis on affiche un message de bienvenue avec print()

Bienvenue (nom)

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
On demande à l’utilisateur son prénom et son métier, puis on
affiche une phrase personnalisée en utilisant les valeurs
saisies.
Je suis ----- et je travaille comme -----

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui demande à l'utilisateur de taper la largeur
et la longueur d'un rectangle et qui en affiche le périmètre et la
surface.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui demande à l'utilisateur de saisir deux
réels X et Y, et qui affiche la puissance X^Y.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui demande à l'utilisateur de saisir 2 entiers
A et B, qui échange le contenu des variables A et B puis qui affiche
A et B.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


La structure conditionnelle : if

Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


La structure conditionnelle : if … else

Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


La structure conditionnelle : if … elif … else

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


La structure conditionnelle : if … elif … else

Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui retourne si deux nombres entiers donnés
sont de même signe ou non.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui échange les contenus de deux données
numérique si elles sont de même signe, sinon il met la somme des
deux dans la première donnée et leur produit dans la seconde.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Un magasin facture 0,30 dh les dix premières photocopies, 0,25 dh
les vingt suivantes et 0,20 dh au-delà. Ecrire un programme qui
demande à l'utilisateur le nombre de photocopies effectuées et qui
affiche la facture correspondante.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui affiche la ou les solutions
d’une équation du second degré de la forme ax² + bx + c

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui demande à l'utilisateur de
saisir un nombre puis qui en fonction du nombre saisi :
– 6 : affiche « le personnage va à droite ».
– 4 : affiche « le personnage va à gauche ».
– 8 : affiche « le personnage va en haut ».
– 2 : affiche « le personnage va en bas ».
– dans le cas d’un autre caractère, affiche : « erreur de
saisie, le personnage ne bouge pas ».

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Oualid Bellali -- Département Informatique -- FST d'Al Hoceima
Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


L’instruction : match … case

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exercice
Ecrire un programme qui demande à l’utilisateur d’entrer le nom
d’un jour de la semaine et qui affiche son rang dans la semaine :
Lundi : affiche « 1er jour de la semaine »
Mardi : affiche « 2ème jour de la semaine »
Mercredi : affiche « 3ème jour de la semaine »
Jeudi : affiche « 4ème jour de la semaine »
Dans le cas d’un autre choix, afficher : « choix introuvable ».

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


L’instruction : match … case

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
La boucle for

Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
La boucle for

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
La boucle for

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
for
Ecrire un algorithme qui demande un nombre de départ, et qui
ensuite écrit la table de multiplication de ce nombre,
présentée comme suit (cas où l'utilisateur entre le nombre 7) :
Table de 7 : 7 x 1 = 7
7 x 2 = 14
7 x 3 = 21

7 x 10 = 70

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
for

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
for
Ecrire un algorithme qui demande un nombre de départ, et
qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut
1x2x3x4x5x6x7x8

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
for

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
La boucle while

Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
La boucle while

Ecrire un script python qui demande à l’utilisateur


d’introduire un ensemble des valeurs numériques puis
calculer et afficher leur carré.
Le script s’arrête une fois l’utilisateur introduit la valeur 0.

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
La boucle while

Ecrire un algorithme qui demande un nombre compris


entre 10 et 20, jusqu’à ce que la réponse convienne. En
cas de réponse supérieure à 20, on fera apparaître un
message : « Plus petit ! », et inversement, « Plus grand ! »
si le nombre est inférieur à 10

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les boucles
Solution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les instructions break et continue
L’instruction break

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les instructions break et continue
Exemple avec la boucle for Exemple avec la boucle while

Résultat d’exécution Résultat d’exécution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les instructions break et continue
L’instruction continue

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les instructions break et continue
Exemple avec la boucle for Exemple avec la boucle while

Résultat d’exécution Résultat d’exécution

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Chapitre 3 :
Fonctions & Modules
Fonctions

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Fonctions

En programmation, les fonctions sont très utiles pour réaliser plusieurs


fois la même opération au sein d’un programme.
Elles rendent également le code plus lisible et plus clair en le
fractionnant en blocs logiques.
Pour définir une fonction, Python utilise le mot-clé def. Si on souhaite que
la fonction renvoie quelque chose, il faut utiliser le mot-clé return

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Fonctions

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Fonctions

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Fonctions

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Code Source:

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Code Source:

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Exemple

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les fonctions récursives

Exemple d’une fonction


calculant la factorielle
d’un entier

Méthode itérative

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Les fonctions récursives

Exemple d’une fonction


calculant la factorielle
d’un entier

Méthode récursive

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Modules

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Modules

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Modules
Exemples des modules standards de python
Module math : il fournit un ensemble de fonctions permettant de réaliser des calculs mathématiques
complexes
Module random : il implémente des générateurs de nombres pseudo-aléatoires pour différentes
distributions
Module datetime : il fournit des classes pour manipuler de façon simple ou plus complexe des dates et
des heures

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima


Modules

Oualid Bellali -- Département Informatique -- FST d'Al Hoceima

Vous aimerez peut-être aussi