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¶
# print("Hello World")bksl-nlbksl-nl
Il y a d'autres moyens d'exécuter du code python (listés par ordre de préférence personnelle) :
- 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.
Contenu des cours¶
Les thèmes de l'année¶
En NSI en terminale, le programme est exigent et plein de nouveautés.
- Programmation orientée objet
- Fonctions récursives
- Structure de données : les listes
- Bases de données : modèle relationnel et langage SQL
- Structure de données : les piles et les files
- Système d'exploitation et processus
- Structures de données : les arbres
- Réseaux informatiques, protocoles de routage
- Structures de données : les graphes
- Sécurité des communications
- Algorithmes avancés
Pour en savoir plus¶
Quelques liens en rapport avec ces thèmes :
- 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
- Convex Polygon Collisions
- Ray casting :
- 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 ?
Les épreuves du bac¶
Épreuve écrite.¶
Durée : 3h30. Trois exercices sur feuille, au mois de juin 2024, portant sur tout le programme de NSI de l'année de terminale et de première.
Épreuve pratique.¶
Durée : 1h. Composée de deux exercices : ils sont tous accessibles en ligne avant les épreuves.
- exercice 1 : "programmer un algorithme figurant explicitement au programme, ne présentant pas de difficulté particulière, dont on fournit une spécification"
- exercice 2 : compléter un programme pour résoudre un problème.
Ressources :
- Site officiel de l'éducation nationale. https://cyclades.education.gouv.fr/delos/public/listPublicECE
- Version officieuse et améliorée par Gilles Lassus : https://glassus.github.io/terminale_nsi/T6_6_Epreuve_pratique/BNS_2023/
- CodEx : entraînement en autonomie.
Grand oral¶
L’épreuve du Grand Oral est une épreuve du baccalauréat qui nécessite pendant l’année, de prépare deux "questions" en lien avec les enseignements de spécialité. Le jour de l'oral, le jury choisit une des deux questions que le candidat présente a l'oral.
Cette présentation dure 10 minutes, pendant lesquelles le candidat expose les motivations qui l’ont conduit à choisir cette question, puis présente la réponse qu’il a élaborée.
À l’issue de ces 10 premières minutes, le candidat et le jury échangent durant 10 minutes. À cette occasion, le jury amène le candidat à préciser et approfondir sa pensée. C’est une opportunité à saisir, pour apporter des compléments à son propos, et montrer sa capacité à écouter, dialoguer, expliciter et argumenter.
Cette épreuve nécessite de s'interroger tout au long de l'année sur les cours, de vous poser des questions existentielles, et d'essayer d'aller un peu plus loin sur les questions qui vous intéressent. Il s'agit principalement une épreuve de curiosité et de passion. Pour cela les projets personnels et l'autonomie tout au long de l'année (en faisant des exercices présents sur e-nsi par exemple) vous donneront une idée des thèmes/sujets que vous pouvez aborder.
Sur l'année :
- premier trimestre : être curieux ;
- second trimestre : être curieux et commencer à réfléchir à un thème, une question ;
- troisième trimestre : préparer effectivement deux questions
Formation en ligne¶
Énormément de ressources sont disponibles en ligne, et permettent d'étudier l'informatique en autonomie.
Sécurité¶
- Le site ressource de cybersécurité de l'AEIF.
- 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é.
- Tryhackme (essayer Introduction to Cyber Security) : un bon site d'introduction aux problématiques de cybersécurité.
- Hackthebox : pour les experts !
- cryptohack : à tester ?
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
Génération d'assets à l'aide d'intelligences artificielles¶
Il est possible de générer des assets 3D pour vos jeux à l'aide de l'intelligence artificielle :
- Étape 1 : Télécharger une image réaliste sur ChatGPT et demander à ce qu'elle soit stylisée.
- Étape 2 : Coller l'image stylisée dans TRELLIS (générateur de modèles).
- Étape 3 : Télécharger le modèle GLB : vous pouvez l'ouvrir avec Blender, Unity, etc.
Voici un exemple du processus.
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 |
---|---|---|---|---|
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 | Terminale | 1-24 Octobre | https://esisar.grenoble-inp.fr/fr/l-ecole/red-team |
Passe ton hack | CTF | Lycée | Avril | https://www.defense.gouv.fr/ema/actualites/passe-ton-hack-dabord |
La nuit du code | Programmation | Première Terminale | Mai | https://www.nuitducode.net/ |