Aller au contenu principal

Base de connaissances

Tutoriels par OS, outils open source et ressources pour le numérique responsable.

📄

Apprendre à programmer - Ressources et parcours

Culture numérique🟡 Intermédiaire

Pourquoi apprendre à programmer ?

La programmation est une compétence fondamentale dans le numérique. Que ce soit pour automatiser des tâches, créer un site web, analyser des données ou simplement comprendre le fonctionnement des outils que l'on utilise au quotidien, savoir coder ouvre de nombreuses portes professionnelles et personnelles.

Par où commencer ?

Choisir son premier langage

  • Python - Le plus recommandé pour débuter. Syntaxe claire, polyvalent (web, data, automatisation, IA). Très demandé sur le marché.
  • HTML/CSS - Indispensable pour comprendre le web. Pas un langage de programmation à proprement parler, mais la base de tout site.
  • JavaScript - Le langage du web interactif. Permet de créer des interfaces dynamiques côté navigateur et côté serveur (Node.js).
  • Rust - Langage moderne, performant et sécurisé. Plus exigeant mais très apprécié pour les systèmes et les outils en ligne de commande.

Plateformes d'apprentissage gratuites

PlateformeLangagesLien
W3SchoolsHTML, CSS, JS, Python, SQL, PHPw3schools.com
freeCodeCampHTML, CSS, JS, Python, Data Sciencefreecodecamp.org
LearnPython.orgPython (interactif)learnpython.org
DocstringPython (en français)docstring.fr
Cours Python Paris-DiderotPython (universitaire, en français)python.sdv.univ-paris-diderot.fr
Automate the Boring StuffPython (projets concrets)automatetheboringstuff.com
Mon Lycée NumériquePython (niveau lycée)monlyceenumerique.fr
Rust LangRust (documentation officielle en français)rust-lang.org
GeeksForGeeksTous langages (exercices)geeksforgeeks.org

Environnements de développement

En ligne (aucune installation)

OutilDescriptionLien
CodePenÉditeur HTML/CSS/JS en temps réel avec aperçucodepen.io
CodeSandboxIDE cloud complet, collaboration en temps réelcodesandbox.io
ProgramizCompilateur Python en ligne simpleprogramiz.com
DomSignalCompilateur multi-langages en lignedomsignal.com
JupyterLabNotebooks interactifs Python (data science)jupyter.org

Hors ligne (à installer)

OutilDescriptionLien
VS CodeÉditeur de code léger et extensible (Microsoft, gratuit)code.visualstudio.com
IDLEEnvironnement Python intégré (livré avec Python)python.org
DevToysBoîte à outils développeur hors ligne (27+ outils)devtoys.app
CmderÉmulateur de terminal sous Windows (bash, git intégrés)cmder.app

Premiers projets pour pratiquer

Projets Python débutants

  • Calculatrice en ligne de commande
  • Générateur de mots de passe
  • Scraper de données web simple
  • Convertisseur d'unités
  • Jeu du pendu ou du morpion
  • Automatisation de tâches répétitives (renommer des fichiers, trier des dossiers)

Projets web (HTML/CSS/JS)

  • Page CV personnelle responsive
  • Liste de tâches (todo list)
  • Galerie photo avec filtres
  • Clone simplifié d'une page existante

Frameworks pour aller plus loin

Python

  • Django - Framework web complet (sites complexes, back-office)
  • Flask - Micro-framework léger (APIs, prototypes rapides)
  • Bottle - Ultra-minimaliste (un seul fichier)

JavaScript

  • React - Interfaces utilisateur (Facebook)
  • Vue.js - Framework progressif, facile à apprendre
  • Node.js - JavaScript côté serveur

Ressources complémentaires