💻 Projets NSI pour l'Été
Des idées concrètes pour pratiquer Python, HTML et CSS en autonomie
Conseil méthodologique : Pour tous ces projets, commencez par une version simple qui fonctionne dans la console (texte noir sur blanc). Une fois que la logique est maîtrisée, essayez d'ajouter une interface visuelle (HTML/CSS) ou de sauvegarder les données dans un fichier.
🚀 Les Classiques (Python & Web)
1. Le Générateur de Quiz Interactif
Concept : Créer un programme qui pose des questions à l'utilisateur, vérifie les réponses et affiche un score final.
- Listes et Dictionnaires (pour stocker questions/réponses).
- Boucles
for/while et conditions if/else.- Module
random pour mélanger les questions.
Conseils pour démarrer :
- Commencez par hardcoder 3 questions dans une liste de dictionnaires.
- Ensuite, essayez de charger les questions depuis un fichier texte ou JSON pour ne pas modifier le code à chaque fois.
- Pour le web : utilisez Flask (micro-framework) ou générez simplement un fichier HTML avec Python.
2. Le Dashboard Météo Personnel
Concept : Une application qui demande une ville et affiche la température actuelle via une API.
- Bibliothèque
requests pour les appels HTTP.- Traitement de JSON (format de données des API).
- Gestion des erreurs (ville inconnue, pas de connexion).
Conseils pour démarrer :
- Inscrivez-vous sur OpenWeatherMap pour obtenir une clé API gratuite.
- Placez la dans un script minimal: Tuto
- Faites d'abord fonctionner la requête dans la console : imprimez le JSON brut.
- Ensuite, extrayez juste la température et affichez-la proprement.
3. Le Gestionnaire de Budget Simpliste
Concept : Un outil pour enregistrer ses dépenses estivales et voir combien il reste d'argent de poche.
- Manipulation de fichiers (lecture/écriture CSV ou TXT).
- Module
datetime pour gérer les dates.- Calculs simples (sommes, moyennes).
Conseils pour démarrer :
- Décidez d'un format de fichier simple (ex:
date;montant;categorie). - Le programme doit pouvoir : 1. Ajouter une dépense, 2. Lire tout l'historique, 3. Afficher le total.
- Gérez les erreurs de saisie (que se passe-t-il si on tape "dix" au lieu de "10" ?).
📊 Analyse de Données (Open Data)
Note : Pour ces projets, nous n'utilisons pas Pandas. L'objectif est de maîtriser le module standard csv, les dictionnaires et la fonction sorted().
4. Le Classement des Villes Les Plus Vertes
Concept : Analyser un fichier CSV de données environnementales pour établir un classement des villes.
-
csv.DictReader pour lire les données.-
sorted(data, key=lambda x: x['indice']) pour le tri.- Conversion des types (string vers float).
Conseils pour démarrer :
- Trouvez un jeu de données simple sur data.gouv.fr.
- Affichez les 5 premières lignes pour identifier les noms des colonnes (clés du dictionnaire).
- Attention : les nombres lus dans un CSV sont des textes. Pensez à
float()avant de trier.
5. Analyseur de Fréquentation Touristique
Concept : Traiter les données d'affluence (musées, plages) pour identifier les pics de fréquentation.
- Accumulateurs (dictionnaires) pour compter par mois/jour.
-
max(dictionnaire, key=dictionnaire.get).- Manipulation de chaînes (split de dates "JJ/MM/AAAA").
Conseils pour démarrer :
- Utilisez les données de Nice Côte d'Azur Open Data.
- Créez un dictionnaire
compteur = {}. Parcourez les données et incrémentez le compteur du mois correspondant. - Utilisez
try... exceptpour ignorer les lignes mal formatées sans faire planter le programme.
6. Détecteur d'Anomalies de Prix (Immobilier)
Concept : Charger des ventes immobilières, trier par prix/m² et identifier les valeurs aberrantes.
-
sorted() avec lambda complexe (prix/surface).- Calculs :
prix_m2 = float(prix) / float(surface).-
csv.DictWriter pour exporter les résultats.
Conseils pour démarrer :
- Cherchez le fichier "Demande de Valeurs Foncières" (DVF) ou un extrait simplifié.
- Testez votre code sur les 100 premières lignes seulement au début.
- Essayez de générer un nouveau CSV contenant uniquement les 10 biens les plus chers au m².
