Bienvenue
Les codes écrits en cours se trouvent sur github. Vous pouvez partager en cours vos codes via l'espace d'écriture collaboratif.
Libertés fondamentales
Les quatre libertés fondamentales du programmeur sont :
- la liberté de faire fonctionner le programme comme vous voulez, pour n'importe quel usage (liberté 0) ;
- la liberté d'étudier le fonctionnement du programme, et de le modifier pour qu'il effectue vos tâches informatiques comme vous le souhaitez (liberté 1) ; l'accès au code source est une condition nécessaire ;
- la liberté de redistribuer des copies, donc d'aider les autres (liberté 2) ;
- la liberté de distribuer aux autres des copies de vos versions modifiées (liberté 3) ; en faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements ; l'accès au code source est une condition nécessaire.
Éditeurs python
On donne ci-dessous une liste non-exhaustive d'éditeur de code.
- Thonny : l'éditeur python utilisé en cours. Toutes les corrections, déboggages et analyse de code seront effectuées sur cet éditeur. Si vous n'avez pas les droits pour l'installer sur votre machine, utiliser la version portable.
- basthon : un éditeur en ligne. Préferer l'outil "Console" pour l'écriture de code, l'utilisation de notebook demande une certaine expertise…
- capytale : accessible sur l'ENT du lycée dans l'onglet "Mes applications".
- vscode : un éditeur de code professionnel, très populaire et multiplateforme. Beaucoup de plugins sont développés par la communauté et le rendent très efficace dans tout type de situation.
- ViM : un éditeur de texte extrêmement configurable qui rend la création et l'édition de n'importe quel sorte de texte très efficace.
- emacs : un éditeur de texte extensible, customisable, libre et gratuit… Et plus.
Vidéos de vulgarisation
Youtube regorge de vidéos d'excellente qualité sur des thèmes très divers. En voici un petit florilège, sans aucun classement.
- Denormalizing DB for Justin Bieber
- Je malmène ta prod en direct avec 15 failles de sécu
- Lambda Calculus - PyCon 2019
- Quantale : chaîne youtube spécialisé dans les algorithmes graphiques
- Computerphile : chaîne youtube de vulgarisation informatique
- Reducible : chaîne youtube de vulgarisation informatique
- Polylog : chaîne youtube de vulgarisation informatique
- Sebastian Lague : chaîne youtube de projets informatiques intéressants
- Convex Polygon Collisions
- Autour de la technique du ray casting : Coding Challenge, Sight and light, 2d visibility sur Red Blob Games
- Un exposé sur le jeu du taquin
- 10 weird algorithms
- I can prove I’ve solved this Sudoku without revealing it
- Qu'est-ce que PLUS FOIS PLUS ?
- Pourquoi la Vie est-elle Turing complète ?
- Paradoxe des anniversaires et collisions de hachage
- La meilleure méthode pour apprendre à programmer
- Programmer avec p5.js et une introduction à la programmation asynchrone
- Comment faire pour détecter un texte généré par IA ?
Formation en ligne
Énormément de ressources sont disponibles en ligne, et permettent d'étudier l'informatique en autonomie.
Cybersécurité
- pwn.college est une plate-forme d'éducation pour les étudiants permettant d'apprendre et de pratiquer les concepts de cybersécurité à l'aide d'exercices pratiques. Il est conçu pour les débutants complets en cybersécurité et pour leur permettre d'aborder les compétitions de cybersécurité (CTF) et les wargames.
- Le site ressource de cybersécurité de l'Association de l'Enseignement de l'Informatique Française.
- Le wiki du CTF NoBrackets. Beaucoup d'informations à destination des lycéens et lycéennes.
- Hackropole : une plateforme regroupant toutes les épreuves du France Cybersecurity Challenge (FCSC) organisé par l'ANSSI (Agence nationale de la sécurité des systèmes d'information)
- The OSINT project (TOP) : une plateforme (en français) d'introduction à l'OSINT (Open Source INTelligence : renseignement en source ouverte).
- Le wiki et le discord du CTF NoBrackets, organisé par l'ENSIBS (École Nationale Supérieure d'Ingénieurs de Bretagne Sud)
- PicoCTF : une compétition de type CTF (en anglais), destinée aux lycéens et lycéennes. Des ressources (tutoriels, le livre The CTF Primer, et beaucoup d'exemples de challenges) sont disponibles sur la plateforme, et en font un endroit idéal pour s'entraîner à résoudre des problèmes de cybersécurité.
- Rootme : plus avancé, mais une référence dans le monde de la cybersécurité.
- Hackthebox : pour les experts !
Programmation
- CodEx : pour s'entraîner en autonomie sur le programme de terminal. Un must !
- Exercices pratiques de NSI : base de données d'exercices de NSI, de difficulté variable.
- france-ioi : le site de l'association française d'informatique, célèbre pour les multiples concours qu'elle organise (Castor, Algoréa, Alkindi…). Il est possible de suivre les cours disponibles sur le site et de s'entraîner sur les exercices.
- PyDefis Une liste de challenges de programmation, en français.
- Advent Of Code : des exercices de difficulté variée pour s'entraîner à la programmation pendant les vacances de Noël.
- hackerrank : un bon site pour s'initier à des sujets variés.
- codingame : un site de compétitions informatiques
- leetcode : pour s'entraîner à la programmation, une mine sans fond de problèmes algorithmiques. Certains sont tout à faits intéressants pour des élèves de terminale, d'autres sont destinés à préparer des entretiens de programmation.
Expressions régulières
Cet outil n'est pas au programme de NSI mais est indispensable dans la vie quotidienne d'un programmeur. Les expressions régulières permettent de rechercher des motifs ("patterns" en anglais) dans une chaine de caractères. Elles sont particulièrement utile pour résoudre les challenges de programmation.
- Regex Learn (anglais) : un tutoriel sur les expressions régulières
- RegexOne (anglais) : tutoriel et exercices sur les expressions régulières.
- Regex Tutorials : encore plus de tutoriels, encore plus d'exercices.
- Regex (HackerRank) : des exercices sur les expressions régulières, appliquées à Python (module
re). - regexr, regex101 : interface en ligne "intuitive" pour construire et tester des expressions rationnelles.
Commandes Linux
- Terminus : un jeu dans un terminal UNIX.
- http://nsi42.net/ : un jeu développé par des élèves de NSI
- GameShell : un jeu à installer sur votre ordinateur personnel
Concours informatiques en ligne
Une foule de concours sont dédiés aux élèves de NSI ou de SNT. Parmi les plus intéressants, citons :
| Nom | Type | Niveau | Date | Adresse |
|---|---|---|---|---|
| Castor | Informatique | Seconde | Décembre | https://concours.castor-informatique.fr/ |
| Algorea | Programmation | Seconde | Janvier | https://algorea.org/#/ |
| Alkindi | Cryptographie | Seconde | ~Janvier | https://concours-alkindi.fr/main.html#/ |
| Nobrackets ctf | CTF | Terminale | 11-12 Novembre | https://discord.gg/68T7cnFYeK |
| CSAW'24 | CTF | Lycée | 1-24 Octobre | https://esisar.grenoble-inp.fr/fr/l-ecole/red-team |
| Passe ton hack | CTF | Lycée | Janvier | https://www.defense.gouv.fr/ema/actualites/passe-ton-hack-dabord |
| La Nuit du Code | Programmation | Première Terminale | Mai | https://www.nuitducode.net/ |