ressources

Programmes officiels de la NSI

  1. première
  2. terminale
  3. document d’accompagnement

Logiciels et outils employés

Un éditeur de texte parmi :

  • Thonny Thonny est un éditeur de texte adapté aux débutants. Il ne fonctionne que pour Python.
  • Atom Éditeur de texte développé javascript par github. Très extensible, il fonctionne sur toutes les plateformes. C’est celui que j’utilise.
  • Sublime Text Editeur de texte complet et multi plateformes (windows, osx, linux). C’est un freemium : l’acheter débloque de nouvelles fonctions (peu utiles).
  • Visual Studio. Le petit chouchou actuel. Très puissant.

Citons ceux qui ont du succès : PyCharm et vim

Outils en ligne

  • Google Drive Cloud de google, disposant d’une suite bureautique intégrée et de versions pour toutes les plateformes.
  • Google Classroom Si tout se passe comme prévu, vous devriez déjà avoir un compte et être familier.
  • Colab Python en ligne dans google drive. Jupyter Notebook sans devoir administrer un serveur.
  • repl.it pour développer en ligne dans tous les langages. À nouveau, vous devriez en avoir entendu parler…
  • github est le dépôt git le plus populaire. On y trouve énormément de projets dont linux, python, node.js, react…

Python

  • python le site officiel
  • dépôt python sur github. Si vous voulez voir l’envers du décor.
  • Pypi là où sont hebergés les paquets installés ave pip install ...

Librairies python pratiques

Toutes sont accessibles dans pip.

  • pygame : la librairie jeux vidéos la plus couramment employée sous python,
  • pygame zero : la version “accessible” de cette même librairie,
  • network zero : le réseau pour les débutants,
  • gui zero : créer des fenêtres jolies et facilement,
  • gpio zero : manipuler facilement le gpio d’un raspberry pi,
  • flask permet de créer des sites web. La référence Python pour les microservices. Permet de créer une page “hello world!” mais est aussi utilisé par Netflix, reddit, Lyft, le MIT et Zalando…
  • matplotlib : dessiner des figures scientifiques,
  • numpy : calcul numériques de précision,
  • les outils google : pour contrôler à peu près tout ce qu’ils proposent (gmail, calendar, classroom etc.)
  • selenium permet de piloter le navigateur depuis Python “clic ici, remplit tel champ, charge telle page”. Permet d’automatiser le contrôle.
  • l’api discord pour créer des bots Discord,
  • l’api telegram pour créer des bots Telegram,
  • l’api twitter pour créer des bots Twitter,

D’autres logiciels

Les outils réseau

  1. Filius est un simulateur réseau facile d’accès. (utilisez google trad si vous ne comprenez pas l’allemand)
  2. Cisco Packet Tracer La même chose mais pour les professionnels. Beaucoup plus puissant. Le maîtriser complètement suffit à trouver du travail.
  3. Wireshark est un analyseur de paquets réseau. Libre et gratuit.

Divers

  • sqlite implémente une bdd SQL stockée dans des fichiers. Très pratique et facile d’accès. Directement intégrée à Python.
  • sqlite browser permet de manipuler ces bdd dans un environnement fenétré.
  • sqlite tutorial présente toutes les commandes de sqlite avec des exemples faciles à comprendre. Très commode.

Ref cards

Références en français

  • OpenClassRooms : LA référence en français, complète et didactique (anciennement : site du zéro).
  • France IOI : Site d’entrainement à la programmation et à l’algorithmique. De nombreux cours et exercices interactifs dans plusieurs langages (Python, C, C++, Python, Java, CAML etc.)
  • Le manuel de référence, édité par l’INRIA. Il est mis à votre disposition gratuitement mais son usage est protégé. Un mirroir sur le site de l’INRIA.
  • Vous souhaitez découvrir linux ? Lisez cette introduction et regardez les slides.  Une distribution populaire, facile d’accès et entièrement libre : Ubuntu. Une communauté d’utilisateurs avec des ressources en français.
  • Apprendre à programmer avec Python 3. Le livre recommandé par l’université de Lille et écrit par Gérard Swinnen.

Raspberry pi

  • Raspbian France : tutoriels, actualités autour du système d’exploitation raspbian - en français

Where is Brian ?

Le vrai langage de l’informatique n’est ni C++ ni Python mais l’anglais… Aussi :

Les références à lire

  • StackOverflow : Pourquoi ça marche pas quand je fais ça ? Tapez le en anglais dans google et vous arriverez sans doute ici… Toutes vos incompréhensions ont une réponse et elle se trouve sur stackoverflow.
  • GitHub : Des tonnes de projets et de logiciels entièrement accessibles. Devenu incontournable, même les éditeurs les plus fermés s’y sont mis.
  • Code Academy : des exercices accessibles et de difficulté croissante pour s’initier à Javascript. Seul problème : tout est en anglais.
  • W3 Schools : référence sur les langages du web. Toutes les commandes sont illustrées. Un tour de force. Idéal pour débugguer du javascript.
  • MDN la référence de Mozilla pour html, css et javascript.
  • AdaFruit : un vendeur d’électronique très complet qui propose trois tonnes de tutoriels en tout genre pour le Raspberry Pi ou l’Arduino.
  • SoloLean : application mobile d’apprentissage comportant des tutoriels etc. Disponible sur googleplay et l’apple store.
  • WordPress.org : à intégrer dans un site PHP pour le rendre ultra fonctionnel et esthétique en quelques (dizaines) d’heures.
  • WordPress.com : la même chose mais déjà hébergé, installé et très simplifié…

Les chaînes youtube de qualité

Youtube propose énormément de cours et tutoriels sur Python et l’informatique.

Vous trouverez bien sûr de nombreuses références en français, mais je n’en regarde pas. Voici celles que j’apprécie particulièrement.

  • The coding train : surtout du processing (java) et p5js (javascript). Énormément de projets très accessibles et une énergie incroyable. La meilleure chaîne youtube sur informatique.
  • Engineer Man. D’un niveau plus relevé, il s’attaque à tout. Les formats sont courts et vont droit au but. D’une excellente qualité.
  • Computerphile est une des chaînes d’un vaste groupe visant à vulgariser les sciences (mathématiques, physique, chimie, astronomie, informatique). Les formats sont courts mais d’excellente qualité. Attention ce ne sont pas des cours à proprement parler.
  • Tech With Tim un développeur Python très jeune qui passe en revue les fonctionnalités principales. Format souvent courts mais variés.
  • Ben Eater a réalisé de nombreux projets souvent axés sur l’electronique et l’informatique “bas niveau”. Il a notamment construit un ordinateur 8 bits complet sur un breadboard. Mais pas que !
  • Kalle Hallden propose des vidéos plus “inspirantes” que réellement éducatives. Néanmoins il regorge d’idées et il expose sa mnière de penser.
  • Corey Schafer propose un pannel très vaste de cours sur Python et l’informatique en général. Je n’ai pas beaucoup suivi mais les avis sont excellents.
  • kite est un outil de complétion automatique pour Python à intégrer dans un éditeur avancé (sublim, atom, vscode, vim). Ils proposent de nombreuses vidéos de qualité.

About

D’où proviennent ces cours ?

  • La majorité d’entre eux sont originaux,
  • d’autres proviennent des enseignements que j’ai reçu à l’université de Lille lors des formations animées par le FIL, ou durant le DIU.
  • Certains sont inspirés de sources glanées sur internet… (StackOverFlow, Reddit, W3 Schools, OpenClassRooms etc.)
  • Certains projets proviennent d’autres collègues enseignant aussi l’informatique.

Dans tous les cas ils étaient libres de droits ou sous une licence permettant l’usage aux enseignants. Merci à leurs concepteurs.

Est-ce que je peux m’en servir ?

  • Si vous enseignez, faîtes en ce que vous voulez.
  • Si c’est pour un usage commercial, la réponse est non.

Comment est fait le site ?

  • Dans sa version 2019, le contenu est tapé en en markdown et le site est crée avec HUGO. Le thème est hugo-book. Il est hébergé sur une github page.
  • Les précédentes versions étaient en Wordpress (joli mais lourdingue).
  • Auparavant c’était du html / js pur hebergé chez free.

Ça marche pas, y’a un bug là…

Merci de me contacter en publiant une issue sur le dépôt github de mon site.

Je trouve ça formidable blablabla

Vous pouvez m’envoyer des bitcoins à cette adresse : 1Dzd4GqasicwsVoyBhHayZTCYQ8HnVdiSd

Ou si vous préférez Ethereum… : 0xa6288d3cc9bB4FFFB5637f04b54b902916446D75