Introduction

Le développement assisté par intelligence artificielle est aujourd’hui largement dominé par des solutions cloud, souvent opaques, dépendantes d’une connexion Internet et peu maîtrisables. PyGenius s’inscrit à contre-courant de cette tendance : il s’agit d’un IDE Python local, autonome, open et extensible, qui intègre une IA locale via Ollama, tout en conservant une approche simple, pédagogique et pragmatique.

PyGenius n’a pas vocation à remplacer des environnements lourds comme PyCharm ou VS Code, mais à proposer une alternative légère, contrôlée et orientée productivité, idéale pour le prototypage, l’apprentissage et l’expérimentation.


Objectifs du projet

PyGenius a été conçu autour de plusieurs objectifs clairs :

1. Rester 100 % local

  • Aucun appel à des API cloud
  • Aucune fuite de code ou de données
  • Fonctionne hors ligne
  • Maîtrise totale de l’environnement

L’IA repose exclusivement sur Ollama, exécuté localement sur la machine de l’utilisateur.


2. Simplifier le développement Python

PyGenius automatise les tâches répétitives et sources d’erreurs :

  • Création automatique d’environnements virtuels
  • Gestion isolée des dépendances par projet
  • Terminal directement connecté au venv
  • Sauvegarde et restauration automatiques des sessions

L’utilisateur peut se concentrer sur le code, pas sur la configuration.


3. Intégrer l’IA de manière utile et contrôlée

Contrairement à un simple chatbot, l’IA de PyGenius :

  • Connaît le contexte réel du projet (fichiers ouverts)
  • Peut modifier automatiquement le code
  • Respecte un format strict et détectable
  • Ne modifie jamais un fichier sans backup préalable

L’IA devient un assistant de développement, pas une boîte noire.


Intérêts et cas d’usage

PyGenius est particulièrement adapté aux situations suivantes :

  • Prototypage rapide de scripts Python
  • Apprentissage de Python avec assistance IA
  • Développement de petits outils ou utilitaires
  • Expérimentation d’algorithmes
  • Tests de bibliothèques ou d’API
  • Travail sur des machines modestes

Il est aussi très pertinent pour les utilisateurs souhaitant comprendre ce que fait réellement l’IA, et garder la main sur chaque modification.


Fonctionnalités principales

Gestion des projets

  • Chaque projet correspond à un dossier isolé
  • Création automatique dans un répertoire projets/
  • Environnement virtuel .venv dédié par projet
  • Historique de chat et session propres à chaque projet

Éditeur de code intégré

  • Onglets multiples
  • Numéros de lignes
  • Coloration syntaxique Python (Pygments)
  • Undo / Redo
  • Sauvegarde automatique
  • Fermeture individuelle des fichiers

Explorateur de fichiers

  • Vue arborescente complète du projet
  • Navigation récursive
  • Ouverture par double-clic
  • Dossiers système ignorés (.venv, __pycache__)

Terminal intégré

  • Exécution de commandes système
  • Utilisation automatique du venv
  • Support de pip, python, commandes shell
  • Capture temps réel de la sortie

IA locale via Ollama

  • Sélection du modèle depuis l’interface
  • Streaming des réponses
  • Animation de réflexion
  • Mesure des temps (réflexion / génération)

Mise à jour automatique du code

L’IA peut proposer des modifications de code en utilisant un format strict :

### FICHIER : script.py
```python
code complet ici

PyGenius détecte ce format, crée une sauvegarde et met à jour le fichier ouvert.

---

## Comment utiliser PyGenius

### 1. Installation des dépendances

```bash
pip install customtkinter ollama pygments

Installer Ollama depuis le site officiel et télécharger au moins un modèle compatible (ex : qwen2.5-coder).


2. Lancer l’application

python app.py

Au démarrage :

  • Ollama est vérifié et démarré si nécessaire
  • Les projets existants sont chargés
  • La configuration précédente est restaurée

3. Créer un projet

  • Cliquer sur + Nouveau Projet
  • Donner un nom
  • Le venv est créé automatiquement

4. Créer et éditer des fichiers

  • + Nouveau Fichier
  • Édition dans un onglet
  • Sauvegarde automatique

5. Utiliser l’IA

  • Saisir une question ou une demande dans le chat
  • L’IA reçoit le contexte des fichiers ouverts
  • Elle peut expliquer, corriger ou réécrire le code

6. Lancer un script

  • Sélectionner le script principal
  • Cliquer sur 🚀 Lancer
  • La sortie apparaît dans le terminal intégré

Dépendances techniques

Python

  • Python 3.9 ou supérieur

Bibliothèques

  • customtkinter
  • ollama
  • pygments

Outils externes

  • Ollama installé localement
  • Modèles IA compatibles Ollama

Choix techniques et philosophie

  • Simplicité avant tout : pas de framework lourd
  • Lisibilité du code : architecture claire
  • Sécurité : backups systématiques
  • Responsabilité : aucune action cachée de l’IA

PyGenius est conçu pour être compris, modifié et étendu facilement.


Améliorations et extensions possibles

Fonctionnalités IDE

  • Support multi-langages
  • Debugger intégré
  • Auto-complétion intelligente
  • Linting (ruff, pylint)
  • Gestion Git intégrée

IA

  • Plusieurs IA simultanées
  • Rôles IA configurables
  • Mémoire longue durée par projet
  • Analyse statique du code

UX / UI

  • Recherche globale dans le projet
  • Split d’éditeur avancé
  • Thèmes personnalisés
  • Raccourcis clavier étendus

Distribution

  • Packaging Windows / Linux / macOS
  • Version portable
  • Fichier d’installation automatisé

Public visé

  • Développeurs Python
  • Étudiants et autodidactes
  • Makers et bidouilleurs
  • Utilisateurs souhaitant une IA locale

Conclusion

PyGenius est un IDE Python moderne, local et intelligent, pensé pour ceux qui veulent coder efficacement tout en gardant le contrôle.

Il démontre qu’il est possible d’intégrer une IA puissante sans dépendance cloud, avec une approche responsable, transparente et productive.

PyGenius n’est pas seulement un outil : c’est une base saine pour explorer l’avenir du développement assisté par IA, en toute liberté.

SOURCE

Python
Catégories : Non classé

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *