• 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 08/11/2019

Tirez pleinement parti de ce cours

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Bienvenue !
Dans ce cours nous allons parler de Programmation Orientée Objet. Vous n’y connaissez rien ? C’est normal ! Nous allons voir tout cela ensemble.

Notre programme

Afin d'illustrer les concepts que je vais vous présenter, nous allons créer ensemble un programme. Mais pas n'importe lequel ! Nous réaliserons... (roulements de tambours) un monde parallèle ! 

Oui oui, vous avez bien lu. Vous avez toutes les compétences pour le faire !

Nous allons manipuler les données sur les habitants qui peuplent ce monde parallèle pour répondre à deux questions existentielles :

  • À partir de quelle densité de population est-on moins agréable que la moyenne ? Cela nous permettra de répondre à notre question d'introduction : "l'enfer, c'est les autres ?"

  • Est-ce que les vieux gagnent vraiment plus d’argent que les jeunes ?

Mais je ne vais pas y arriver… On ne pourrait pas plutôt faire des camemberts dans Excel ?

Vous allez très bien y arriver. Nous pourrions bien sûr utiliser un fichier Excel qui regroupe toutes les données de tous les habitants de notre monde parallèle, mais il serait vite limité. Et puis, à quoi bon s'évertuer à cliquer sur 15 000 boutons quand une ligne de commande suffit ? En plus, votre but est d'apprendre à programmer en Python, pas vrai ?

 

Les habitants de notre monde

Nous utiliserons la base PPLAPI, un réseau social factice composé de centaines de milliers de personnes, pour peupler notre monde.

 

Regardons cette base d'un peu plus près. Chaque personne a un âge, une date de naissance, un lieu de résidence, une nationalité, une langue... Mais aussi cinq traits de personnalité :

  • Ouverture

  • Conscienciosité

  • Extraversion

  • Agréabilité

  • Neuroticisme ou névocisme

Ces traits sont utilisés dans un des modèles les plus connus en psychologie : le modèle des Big Five. Vous le connaissez peut-être déjà ! Plusieurs grandes entreprises aiment donner des questionnaires de personnalité aux candidats afin de mieux cerner leur personnalité. Si vous répondez à un questionnaire qui reprend le modèle des Big Five, votre personnalité sera évaluée en 5 tendances séparées.

Source : Vadequa

Prenons par exemple l'agréabilité. Si votre personnalité est très "agréable", il sera important pour vous d'être serviable, généreux, "gentil". Vous pouvez faire passer autrui avant vous-même. Si vous êtes peu "agréable", vous serez plutôt fermé à la collaboration. Votre caractère peut être vu comme dur ou froid, peu enclin à la négociation.
Ce sont ces tendances entre elles qui vont leur permettre de mieux vous cerner. Par exemple, si vous êtes peu ouvert, très consciencieux, peu extraverti, peu agréable et assez névrosé.

Dans la base PPLAPI, chaque trait de personnalité est associé à un numéro.

2

Très supérieur à la moyenne

1

Assez supérieur à la moyenne

0

Moyenne

-1

Assez inférieur à la moyenne

-2

Très inférieur à la moyenne

Les données de chaque agent sont disponibles sous différents formats, dont le format JSON :

 {"neuroticism": 0.9011914234209494, "language": "English", "latitude": -26.25297800501783, "country_tld": "au", "age": 34, "income": 59956, "longitude": 132.6457795091038, "sex": "Male", "religion": "Catholic", "extraversion": -0.8392218706596577, "date_of_birth": "1983-10-25", "agreeableness": 3.1053208332787023, "id_str": "ilV-COu", "conscientiousness": 1.737208020264794, "internet": true, "country_name": "Australia", "openness": -0.20570297449617833, "id": 6352373083} 

Si cela ne vous dit rien, je vous invite à refaire le cours en prérequis !

Fonctionnalités du programme

Comment notre programme va-t-il nous aider à répondre à nos interrogations ? Voici les étapes qu'il devra suivre :

  • Il ouvre un fichier JSON qui contient 100 000 agents,

  • Il réalise des calculs,

  • Il affiche un premier graphique affichant le degré d'agréabilité en fonction de la densité de population

  • Quand je ferme ce graphique, un second apparaît avec les revenus moyens en fonction de l’âge.

Etapes

Nous allons réaliser ce programme en plusieurs étapes :

  • Découverte de la Programmation Orientée Objet

  • Dessin d'un diagramme de classe

  • Transformation des agents JSON en agents que nous pourrons réutiliser.

  • Agents : ajout des attributs (chaque agent a plusieurs "propriétés" : agréabilité, revenu, ...)

  • Création de la grille qui nous permettra de situer les personnages dans le monde.

  • Création des zones composant cette grille.

  • Ajout du premier habitant dans sa zone. Et le monde fut !

  • Peuplement du monde avec les 100 000 agents.

  • Création du graphique Agréabilité versus densité de population.

  • Création du graphique Revenu versus âge

Puis on sort faire la fête pour célébrer la sortie de notre programme ! 🎉

Quelques précisions

Pour tirer pleinement parti de ce cours, vous devez être à l'aise avec les notions suivantes :

  • syntaxe de base de Python, notamment les listes et les dictionnaires

  • import de modules

  • définition de fonctions, exécution et ajout de paramètres,

  • lancement d'un script

Afin de faciliter votre apprentissage, j'utiliserai les notations suivantes : 

Le code que nous réaliserons ensemble est disponible librement sur un dépôt Github. Je vous indiquerai le lien en fin de chapitre. 

Challenges

Vous pouvez lire le cours sans pratiquer… mais ce serait un peu comme si vous appreniez à faire du vélo en lisant un manuel. Vous avez beau connaître la théorie, vous ne serez pas plus avancé·e.

Chaque chapitre sera ponctué de petits exercices pratiques que vous pourrez réaliser directement dans notre console interactive. Entrez votre réponse et cliquez sur Run Code. Votre exercice est corrigé instantanément !

C'est le moment de vous entrainer !

Cliquez sur ce lien. 

 

Allez, prêt ? C'est parti !

Exemple de certificat de réussite
Exemple de certificat de réussite