Programmes officiels de la NSI #
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.
- 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 Code. Un éditeur de code fonctionnant sur toutes les plateformes et très prisé. Il utilise un moteur graphique écrit en JavaScript et ses nombreuses extensions permettent de développer dans tous les langages.
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
- Filius est un simulateur réseau facile d’accès. (utilisez google trad si vous ne comprenez pas l’allemand)
- Cisco Packet Tracer La même chose mais pour les professionnels. Beaucoup plus puissant. Le maîtriser complètement suffit à trouver du travail.
- Wireshark est un analyseur de paquets réseau. Libre et gratuit.
SQLite
- sqlite implémente une bdd SQL stockée dans des fichiers. Très pratique et facile d’accès.
- 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é.
D’autres trucs #
- Reversi est une version du jeu reversi / othello écrite en Rust, compilée en web assembly. Il tourne assez vite et me bat sans difficulté :) Ça, par contre, c’est de moi.
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 ? #
- Depuis 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 et le nom de domaine est réservé par Hostinger. Seul le nom de domaine est payant (pas le choix), les autres outils sont gratuits.
- 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