← Challenges actifs Historique complet
Historique

Tous les Challenges

Explorez l'historique complet des challenges ErgyCodePy, consultez les gagnants et leurs solutions.

5
Total challenges
1
En cours
4
Clôturés
2
Participations
#6
Clôturé
Loterie Python : Le Tirage Gagnant
Votre objectif est de coder un simulateur de loterie interactif. Le programme doit permettre à un utilisateur de parier sur trois numéros (entre 1 et 100). Le système doit ensuite effectuer un tirage aléatoire et attribuer les lots selon la précision du résultat : Premier lot : Les 3 numéros sont corrects et dans le bon ordre. Deuxième lot : Les 3 numéros sont corrects, mais dans un ordre différent. Troisième lot : Au moins un des numéros joués figure dans le tirage. Contraintes techniques : Utiliser la bibliothèque random. Gérer le cas spécial où le nombre 100 est représenté par 00. Vérifier que l'utilisateur ne saisit pas deux fois le même numéro. Permettre de rejouer une partie à la fin.
31 Mar 2026 → 02 Avr 2026
360min
2 participations
Participations2
#1
Clôturé
Python Coding Sprint: Résolvez 7 Défis Algorithmiques en Une Semaine
Rejoignez notre Challenge intensif de 7 jours! Vous devrez résoudre 7 problèmes algorithmiques progressifs en Python. Du niveau intermédiaire à expert, ces défis testeront vos compétences en: ✅ Manipulation de structures de données ✅ Optimisation algorithmique ✅ Programmation fonctionnelle ✅ Gestion de mémoire et performance ✅ Code coverage et tests unitaires 📋 **Les 7 Défis:** **Jour 1 - Facile:** Inverser une Chaîne (Reverse String) - Inverser une chaîne de caractères - Points: 10 - Temps recommandé: 15 min **Jour 2 - Facile+:** Deux Sommes (Two Sum) - Trouver deux nombres qui additionnés font une cible - Points: 20 - Temps recommandé: 30 min **Jour 3 - Moyen:** Palindrome Avancé - Vérifier si une phrase est un palindrome (ignorer espaces/ponctuation) - Points: 30 - Temps recommandé: 45 min **Jour 4 - Moyen:** Compression de Chaîne - Compresser "aaabbbcccc" en "a3b3c4" - Points: 40 - Temps recommandé: 1h **Jour 5 - Moyen+:** Arbre Binaire de Recherche - Implémenter un BST avec insertion et recherche optimisée - Points: 50 - Temps recommandé: 1.5h **Jour 6 - Difficile:** Longest Substring Sans Caractères Répétés - Trouver la plus longue sous-chaîne unique - Points: 60 - Temps recommandé: 1.5h **Jour 7 - Expert:** Algorithme de Tri Optimal - Implémenter un tri custom plus rapide que quicksort - Points: 100 - Temps recommandé: 2h+ 🏅 **Récompenses:** - **Bronze Badge:** 100+ points - **Silver Badge:** 250+ points - **Gold Badge:** 400+ points - **Platinum Badge:** 450+ points (Résoudre TOUS les défis) 📊 **Critères d'Évaluation:** 1. **Correctness** (40%) - Votre code doit passer tous les tests 2. **Efficiency** (30%) - Performance et complexité O() 3. **Code Quality** (20%) - Lisibilité et maintenabilité 4. **Documentation** (10%) - Commentaires et docstrings 💡 **Ressources Fournies:** - Template de code pour chaque défi - Test cases de validation - Hints optionnels - Solutions commentées (après le challenge) 🎯 **Objectifs Secondaires:** - Apprendre de nouvelles techniques - Résoudre en moins de temps que les autres - Écrire du code ultra-optimisé - Aider les autres participants ⚙️ **Stack Technologique:** - Python 3.11+ - pytest pour les tests - Peut utiliser n'importe quelle librairie (NumPy, pandas, etc.) 👥 **Participants Actuels:** 2,456 développeurs 🏆 **Top Performers:** 1.🥇 AlexCode - 450 points (8h13m) 2. 🥈 DataNinja - 440 points (9h27m) 3. 🥉 PyExpert - 430 points (10h05m)
15 Mar 2026 → 23 Mar 2026
3 participations
Participations3
#2
Clôturé
Build a Production-Ready REST API: Challenge 48 Heures
Construisez une API REST complète et prête pour la production en seulement 48 heures! Ce challenge teste vos compétences en backend moderne. 🎯 **Le Projet: Task Management API** Vous devez créer une API complète pour gérer des tâches (TODO app) avec toutes les fonctionnalités professionnelles. 📋 **Requirements Obligatoires (100 points):** **Backend Setup (20 points)** - ✅ Framework: Django/FastAPI/Flask - ✅ Database: PostgreSQL ou MongoDB - ✅ Authentication: JWT ou OAuth2 - ✅ Documentation: Swagger/OpenAPI **Core Features (50 points)** - ✅ CRUD complet pour les tâches - ✅ Utilisateurs et authentification - ✅ Categories/Tags pour les tâches - ✅ Filtrage, tri, pagination - ✅ Permissions (User ne voit que ses tâches) **Quality Assurance (30 points)** - ✅ Tests unitaires (>80% coverage) - ✅ Tests d'intégration API - ✅ Gestion d'erreurs robuste - ✅ Input validation - ✅ Logging et monitoring 🌟 **Requirements Optionnels (Bonus Points):** **Advanced Features (Bonus +30)** - ✅ Notifications en temps réel (WebSockets) - ✅ Partage de tâches entre utilisateurs - ✅ Commentaires sur les tâches - ✅ Attachments/Files - ✅ Due dates avec reminders **DevOps & Deployment (Bonus +20)** - ✅ Dockerisation - ✅ CI/CD pipeline - ✅ Déploiement sur Heroku/AWS - ✅ Environment variables **Performance (Bonus +20)** - ✅ Caching Redis - ✅ Query optimization - ✅ Load testing results - ✅ <500ms response time 📊 **Critères d'Évaluation:** 1. **Fonctionnalité** (40%) - Toutes les features marchent? 2. **Code Quality** (25%) - Architecture, tests, documentation 3. **Performance** (20%) - Temps de réponse, optimisation 4. **Sécurité** (15%) - Authentication, validation, encryption ✅ **Checklist de Soumission:** 🏅 **Récompenses:** - **Participant Badge:** Soumettre une solution - **Bronze:** 100+ points - **Silver:** 120+ points - **Gold:** 140+ points - **Platinum:** 160+ points (Toutes les features) 💻 **Stack Recommendations:** **Option 1: Python** - Backend: FastAPI + SQLAlchemy - Database: PostgreSQL - Testing: pytest **Option 2: Python Django** - Backend: Django REST Framework - Database: PostgreSQL - Testing: Django TestCase **Option 3: Node.js** - Backend: Express + Sequelize - Database: PostgreSQL - Testing: Jest **Option 4: Go** - Backend: Gin + GORM - Database: PostgreSQL - Testing: testing package 🎁 **Exemple de Réponse Attendue:** ```python # Endpoints que vous devez implémenter: # Auth POST /api/v1/auth/register POST /api/v1/auth/login POST /api/v1/auth/refresh-token # Tasks CRUD GET /api/v1/tasks (avec pagination, filtres) POST /api/v1/tasks GET /api/v1/tasks/{id} PUT /api/v1/tasks/{id} DELETE /api/v1/tasks/{id} # Categories GET /api/v1/categories POST /api/v1/categories DELETE /api/v1/categories/{id} # Stats GET /api/v1/stats (total tasks, completed, etc.) 👥 Participants: 1,234 développeurs ⏱️ Timeline: Jour 1 (24h): Setup, structure, authentification Jour 2 (24h): Features, tests, documentation
21 Mar 2026 → 23 Mar 2026
#5
Clôturé
Le Gestionnaire Familial Python : De la Logique à l'Interface
Dans ce challenge, vous allez construire un système complet de gestion familiale. Objectifs : 1. Maîtriser les structures de données (listes, dictionnaires). 2. Manipuler les dates avec le module datetime. 3. Créer des algorithmes de tri et de statistiques (écarts d'âge). 4. Gérer la persistance des données avec des fichiers JSON. 5. Développer une interface graphique (GUI) et générer des graphiques de données. Time limit minutes 120 (C'est un challenge complet qui demande de la réflexion sur l'UI). Structure du Code Étape 1 : Fondations & Logique Métier On commence par définir les données et les fonctions de calcul (âge, statut scolaire, écart moyen). Étape 2 : Persistance & Export Apprendre à sauvegarder les membres dans un fichier famille.json et générer un rapport texte rapport_famille.txt. Étape 3 : Interface Graphique & Bonus Utilisation de Tkinter pour créer des fenêtres de saisie et Matplotlib pour visualiser la répartition des âges sous forme de diagramme à barres. Critères de Réussite (Winner) La propreté du code : Utilisation correcte des fonctions et des commentaires. La gestion des erreurs : Le programme plante-t-il si on entre une lettre à la place d'une année ? (Gestion du ValueError). L'esthétique de l'interface : Une GUI bien alignée et intuitive. Mode d'Emploi du Développeur Ce challenge est conçu comme un escalier : chaque marche ajoute une fonctionnalité plus complexe. Voici comment naviguer et faire évoluer le code. 1. La Structure du Cerveau (Data) Tout repose sur le dictionnaire famille. Chaque membre est une "clé" associée à des "valeurs" (rôle, naissance, job). Comment faire évoluer : Ajoute des clés comme "passion": "Cinéma" ou "ville": "Paris" dans le dictionnaire pour enrichir les fiches. 2. Le Moteur de Calcul (Logique) Le code utilise l'année dynamique via date.today().year. Le secret : Pour calculer l'âge, on fait Age=Ann e ˊ e Actuelle−Ann e ˊ e de Naissance. Évolution : Tu peux créer une fonction qui calcule la retraite (ex: 65−Age) pour les parents. 3. La Mémoire (Fichiers JSON) Le script ne se contente pas de lire, il écrit. Le fichier famille.json permet de fermer le programme sans perdre les données. Action : Si tu modifies le fichier .json à la main, le programme se mettra à jour au prochain lancement. Guide d'évolution "Point par Point" Voici la "Roadmap" pour transformer ce code en application professionnelle : Niveau 1 : Personnalisation (Débutant) Changer les critères : Modifie la fonction determiner_activite. Par exemple, change les tranches d'âge pour correspondre au système scolaire du ou de ton pays.(chalengeur hors-Haïti ) Ajouter des membres : Utilise la fonction ajouter_membre() pour peupler ta base sans toucher au code source. Niveau 2 : Analyse de données (Intermédiaire) Statistiques : Utilise le module Matplotlib pour créer d'autres graphiques. Pourquoi pas un "Camembert" (Pie Chart) montrant la proportion Parents vs Enfants ? Tri avancé : Modifie la fonction sorted() pour trier la famille par ordre alphabétique des noms plutôt que par âge. Niveau 3 : Interface Utilisateur (Avancé) Design GUI : Utilise grid() au lieu de pack() dans Tkinter pour placer tes boutons et champs de saisie de manière plus précise (comme un tableau). Images : Essaie d'ajouter un bouton pour uploader une photo de chaque membre et l'afficher dans l'interface. Exemple de "To-Do List" pour l'utilisateur Lancer le script pour créer le fichier JSON initial. Ajouter 2 nouveaux membres via la console ou l'interface. Générer le rapport texte pour vérifier que les calculs d'âge sont bons. Ouvrir le graphique pour visualiser la hiérarchie familiale.
14 Mar 2026 → 14 Mar 2026
120min
4 participations
Participations4