// Wiki ObsoStop
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
| Plateforme | Langages | Lien |
|---|---|---|
| W3Schools | HTML, CSS, JS, Python, SQL, PHP | w3schools.com |
| freeCodeCamp | HTML, CSS, JS, Python, Data Science | freecodecamp.org |
| LearnPython.org | Python (interactif) | learnpython.org |
| Docstring | Python (en français) | docstring.fr |
| Cours Python Paris-Diderot | Python (universitaire, en français) | python.sdv.univ-paris-diderot.fr |
| Automate the Boring Stuff | Python (projets concrets) | automatetheboringstuff.com |
| Mon Lycée Numérique | Python (niveau lycée) | monlyceenumerique.fr |
| Rust Lang | Rust (documentation officielle en français) | rust-lang.org |
| GeeksForGeeks | Tous langages (exercices) | geeksforgeeks.org |
Environnements de développement
En ligne (aucune installation)
| Outil | Description | Lien |
|---|---|---|
| CodePen | Éditeur HTML/CSS/JS en temps réel avec aperçu | codepen.io |
| CodeSandbox | IDE cloud complet, collaboration en temps réel | codesandbox.io |
| Programiz | Compilateur Python en ligne simple | programiz.com |
| DomSignal | Compilateur multi-langages en ligne | domsignal.com |
| JupyterLab | Notebooks interactifs Python (data science) | jupyter.org |
Hors ligne (à installer)
| Outil | Description | Lien |
|---|---|---|
| VS Code | Éditeur de code léger et extensible (Microsoft, gratuit) | code.visualstudio.com |
| IDLE | Environnement Python intégré (livré avec Python) | python.org |
| DevToys | Boî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
- Développez.com - Tutoriels Python - Communauté francophone
- CodinGame - Apprendre en jouant (puzzles de code)
- Exercism - Exercices avec mentorat dans 50+ langages
- Tech Interview Handbook - Préparer un entretien technique