Configuration Requise

GOGIES IDE est optimisé pour être extrêmement léger et rapide. Il s'exécute nativement sur des serveurs web standards sans liaisons d'exécution complexes Node.js sur l'hôte de production.

  • Serveur Web : Apache, Nginx, ou serveur PHP intégré.
  • Version PHP : PHP 7.4 ou supérieur (PHP 8.x recommandé).
  • Extensions PHP : curl, sqlite3, zip, et accès en écriture au dossier data/.
  • Navigateur Client : Navigateur web moderne (Chrome, Firefox, Safari, Edge) avec Javascript ES6 activé.
  • Dépendances Optionnelles de l'Agent IA : Installez ces éléments sur votre système hôte pour débloquer toutes les fonctionnalités de l'agent IA GOGIES :
    • Node.js : Débloque les outils de construction (comme npm/vite), les serveurs de développement et les environnements d'automatisation.
    • Docker : Permet des tests isolés et sécurisés du code et des services dans un bac à sable (sandbox).
    • ImageMagick : Permet à l'agent d'optimiser, de recadrer et de convertir des images pour les performances web.

Installation

Suivez ces étapes pour déployer GOGIES IDE sur votre serveur auto-hébergé :

1. Cloner le Dépôt

Clonez le dépôt directement dans le répertoire public de votre serveur web :

git clone https://github.com/alhelalat/GOGIES-AI-IDE.git /var/www/html/ide

2. Configurer les Autorisations des Répertoires

L'IDE écrit les historiques de session, les paramètres, les archives de sauvegarde et les configurations dans le répertoire data/. Accordez des droits d'écriture à l'utilisateur du serveur web (généralement www-data sur Ubuntu/Debian) :

cd /var/www/html/ide
chmod -R 775 data
chown -R www-data:www-data data
Conseil de Sécurité

Étant donné que l'IDE fournit des fonctionnalités d'exécution de terminal aux utilisateurs autorisés, vous devez lier votre serveur web à localhost (127.0.0.1) plutôt qu'à 0.0.0.0 pour empêcher tout accès externe à partir d'autres machines sur votre réseau local.

Configuration Initiale

Une fois les répertoires configurés, ouvrez votre navigateur et accédez à l'installateur intégré :

http://localhost/ide/install.php

L'assistant de configuration vous guidera à travers les étapes suivantes :

  1. Validation des Chemins : Détecte automatiquement votre répertoire d'application et vérifie les droits d'écriture sur le dossier data.
  2. Compte Administrateur : Créez votre nom d'utilisateur et mot de passe administrateur principal.
  3. Premier Espace de Travail : Créez votre espace de travail initial. Vous devez fournir un nom et le chemin absolu vers un dossier sur votre serveur dans lequel vous souhaitez coder.

Une fois terminé, l'installateur génère le fichier config.php et vous serez redirigé vers le panneau de connexion.

Gestion des Espaces de travail

Les espaces de travail vous permettent de compartimenter différents répertoires de code. Par exemple, vous pouvez créer des espaces de travail distincts pour différents projets clients ou microservices.

Pour basculer entre les espaces de travail actifs, utilisez le sélecteur situé dans le panneau de configuration en bas à gauche de l'IDE. Cela modifie vos chemins d'espace de travail actifs dans l'environnement de session et recharge automatiquement l'arborescence de l'explorateur de fichiers.

Écran de gestion des espaces de travail et des utilisateurs

Gestion de Fichiers

L'explorateur de fichiers situé sur le côté gauche de l'IDE vous permet d'interagir directement avec la structure des répertoires de l'espace de travail actif :

  • Nouveaux Fichiers/Dossiers : Cliquez sur les boutons de nouveau fichier ou de nouveau dossier en haut de l'explorateur pour créer des ressources vides.
  • Actions du Menu Contextuel : Faites un clic droit sur n'importe quel fichier ou dossier pour déclencher des actions contextuelles :
    • Rename: Renommer la ressource sélectionnée.
    • Copy: Créer une copie instantanée dans le dossier actuel.
    • Download: Télécharger des fichiers directement depuis le navigateur.
    • Decompress: Décompresser des archives zip directement sur le serveur.
    • Delete: Supprimer de manière récursive les fichiers et dossiers (nécessite une confirmation).

Éditeur de Code

L'expérience d'édition principale est construite sur Ace Editor. Elle propose la coloration syntaxique pour CSS, JS, HTML, PHP, Markdown, JSON et Python.

Les fichiers protégés en écriture ou ouverts depuis des emplacements non modifiables se chargent automatiquement en Mode Lecture seule (signalé par un badge). Le bouton d'enregistrement est masqué pour ces fichiers afin d'éviter les erreurs d'écriture.

Interface et paramètres d'Ace Editor

Autorisations Utilisateur

Les utilisateurs et les autorisations sont enregistrés dans le tableau data/users/users.php. Un administrateur dispose de l'autorisation *, qui accorde un contrôle total pour lire et écrire des fichiers, exécuter des commandes via le terminal et accéder à la console de gestion des utilisateurs.

Les comptes de développeur standard peuvent être limités à des espaces de travail spécifiques, garantissant qu'ils ne peuvent pas lire les fichiers de configuration ou accéder à des répertoires d'espace de travail qui ne leur sont pas attribués.

Gestionnaire de Base de Données

GOGIES IDE intègre un gestionnaire de base de données web qui vous permet d'inspecter et de modifier des bases de données physiques directement à côté de votre code.

Console de gestion de base de données intégrée

Bases de Données Prises en Charge

Le gestionnaire prend en charge les profils de connexion SQLite, MySQL et PostgreSQL. Les identifiants et les paramètres de connexion sont enregistrés en toute sécurité sur le serveur.

Inspection et Requêtes

  • Inspecteur de Table : Parcourez les structures de schéma, les définitions de table, les index et les configurations de clés primaires.
  • Console SQL Interactive : Écrivez et exécutez des requêtes SQL directement dans le navigateur, affichant des grilles de données formatées et des contrôles de pagination.

Sauvegarde et Restauration

L'IDE fournit des actions de sauvegarde et de restauration de haute fidélité pour sécuriser la progression de votre développement et l'état de vos bases de données.

Panneau d'historique de sauvegarde et de restauration

Sauvegardes d'Espace de Travail

Lorsque vous cliquez sur Sauvegarder l'espace de travail, GOGIES IDE exécute une routine serveur pour archiver :

  1. Tous les fichiers de code source et les configurations de répertoires de votre espace de travail actif.
  2. Vos profils de connexion aux bases de données.
  3. Les bases de données SQLite physiques ainsi que les structures et entrées de tables MySQL/PostgreSQL actives (exportées sous forme de fichiers de sauvegarde SQL).

Les résultats sont compressés dans une archive ZIP unique stockée dans le répertoire de données pour un téléchargement facile.

Restauration Facile

Pour restaurer votre système, choisissez simplement une sauvegarde dans l'historique et cliquez sur Restaurer. GOGIES IDE extraira les fichiers et réexécutera automatiquement les structures de table et les insertions de données dans des blocs transactionnels (via des transactions PDO) afin de restaurer vos bases de données à leur état exact précédent.

Agent IA GOGIES

GOGIES IDE inclut un **Agent de codage IA autonome** multipaso entièrement intégré qui code en binôme avec vous dans votre espace de travail.

Console de discussion et historique de l'agent IA autonome

Comment ça Marche

L'agent a accès à des outils représentés par des balises XML. Lorsque le modèle génère ces balises dans ses messages, l'IDE les intercepte, les traite et les exécute, puis renvoie le résultat automatiquement à l'agent.

Exécution Séquentielle d'Actions Multiples

Si l'IA génère plusieurs outils (par exemple, exécuter une commande et créer plusieurs fichiers), l'IDE les exécute séquentiellement à l'aide d'une file d'attente asynchrone. Les résultats sont agrégés et renvoyés à l'agent en un seul tour, maintenant l'exécution propre et efficace.

Règles Personnalisées (agent_rules.md)

Vous pouvez définir des règles de comportement spécifiques au projet pour l'agent. Créez simplement un fichier nommé agent_rules.md à la racine de votre espace de travail. L'IDE lira automatiquement ce fichier et ajoutera son contenu à la consigne système, indiquant à l'agent de suivre vos directives de codage, vos bibliothèques ou vos architectures.

Modes d'Approbation

Dans le menu des paramètres de l'IA en bas, vous pouvez configurer la façon dont l'IDE autorise les opérations d'écriture et l'exécution des commandes :

  • Demander (Par défaut) : L'IDE affiche des cartes d'approbation avec des aperçus de modifications (diff) et des contrôles d'attente. L'outil ne s'exécute que si vous cliquez sur "Approuver".
  • Auto-Approuver : Exécute instantanément les commandes de terminal et les modifications de fichiers pour des flux de travail autonomes plus rapides.
  • Auto-Rejeter : Bloque toutes les actions d'écriture et commandes.

Intégration des Fournisseurs d'IA (Local et Cloud)

GOGIES IDE prend en charge une grande variété de configurations de modèles d'IA, vous permettant de basculer de manière fluide entre des environnements d'exécution locaux hors ligne et des API cloud commerciales puissantes selon vos besoins de flux de travail et de confidentialité.

Configuration des paramètres de l'agent IA et du fournisseur

1. Configuration du Fournisseur d'IA Cloud

Vous pouvez connecter l'assistant de codage aux principales API d'IA commerciales en saisissant vos identifiants dans le panneau des paramètres d'IA :

  • OpenAI : Fournisseur défini sur openai, URL de l'API définie sur https://api.openai.com/v1, modèle défini sur gpt-4o (ou d'autres modèles de raisonnement OpenAI), et saisissez votre clé d'API OpenAI.
  • Anthropic : Fournisseur défini sur anthropic, URL de l'API définie sur https://api.anthropic.com, modèle défini sur claude-3-5-sonnet-latest, et saisissez votre clé d'API Anthropic.
  • Google Gemini : Fournisseur défini sur gemini, URL de l'API définie sur https://generativelanguage.googleapis.com/v1beta/openai, modèle défini sur gemini-2.5-flash, et saisissez votre clé d'API Google AI Studio.

2. Configuration du Fournisseur de LLM Local (Ollama)

Pour un développement entièrement privé et hors ligne, vous pouvez exécuter des LLM localement avec Ollama :

  1. Installer Ollama : Exécutez le script d'installation sur votre système hôte :
    curl -fsSL https://ollama.com/install.sh | sh
  2. Récupérer le Modèle de Codage : Récupérez un modèle recommandé tel que qwen2.5-coder:7b ou deepseek-coder :
    ollama pull qwen2.5-coder:7b
  3. Configurer GOGIES IDE : Dans le menu des paramètres d'IA, sélectionnez le modèle Ollama local, vérifiez que l'URL de l'API pointe vers http://localhost:11434/v1, et faites correspondre le nom du modèle à votre étiquette récupérée (par exemple, qwen2.5-coder:7b). Laissez le champ API Key vide.

Référence API

Vous pouvez interagir avec le backend de l'IDE par programmation en envoyant des requêtes POST au fichier api.php. Toutes les requêtes doivent contenir le cookie de session pour l'authentification.

Actions Disponibles

  • get_file_content : Récupère le texte source d'un fichier.
    POST api.php?action=get_file_content&path=index.php
  • save_file_content : Enregistre le texte source dans un chemin.
    POST api.php?action=save_file_content
    Body parameters: path=index.php, content=your_code
  • list_files : Récupère les fichiers et dossiers dans un chemin.
    POST api.php?action=list_files&path=assets/css