- Introduced Veeam and NetBackup version tracking in `Inventory.php` for backup validation. - Enhanced backup report in `Backups.php` with improved SQL queries and support for short hostname normalization. - Updated `navbar.html` and related navigation components for better usability and accessibility. - Refactored ActiveDirectory scripts for better modularity and event handling. - Added `AGENTS.md` and `modele.php` as templates for documentation and new page creation.
222 lines
5.4 KiB
Markdown
222 lines
5.4 KiB
Markdown
# AGENTS.md — Instructions Codex
|
|
|
|
## Contexte
|
|
|
|
Ce projet est un environnement de développement hébergé sur une infrastructure
|
|
professionnelle.
|
|
|
|
Le code présent dans ce workspace peut être modifié par Codex.
|
|
|
|
IMPORTANT :
|
|
Les bases de données auxquelles l'application peut accéder contiennent des
|
|
DONNÉES DE PRODUCTION.
|
|
|
|
La protection et l'intégrité de ces données sont prioritaires.
|
|
|
|
---
|
|
|
|
## 1. Périmètre autorisé
|
|
|
|
Codex peut :
|
|
|
|
- Lire tous les fichiers du workspace courant.
|
|
- Rechercher librement dans les fichiers du workspace.
|
|
- Créer, modifier, renommer ou supprimer des fichiers dans le workspace
|
|
lorsque cela est nécessaire à la tâche demandée.
|
|
- Exécuter des commandes locales nécessaires à l'analyse du projet.
|
|
- Utiliser Git pour examiner :
|
|
- status
|
|
- diff
|
|
- log
|
|
- historique
|
|
- Analyser et modifier du code PHP, JavaScript, HTML, CSS, SQL et PowerShell
|
|
présent dans le workspace.
|
|
|
|
Codex doit rester dans le workspace courant :
|
|
|
|
E:\Sites\web-infra-reports
|
|
|
|
Ne jamais modifier un fichier situé en dehors de ce workspace sans demander
|
|
explicitement l'autorisation.
|
|
|
|
---
|
|
|
|
## 2. Bases de données — RÈGLE CRITIQUE
|
|
|
|
Les bases de données accessibles depuis cette application doivent être
|
|
considérées comme des bases de PRODUCTION.
|
|
|
|
### Opérations autorisées
|
|
|
|
Codex peut effectuer des opérations SQL strictement en lecture seule :
|
|
|
|
SELECT
|
|
|
|
Il peut également :
|
|
|
|
- analyser les requêtes SQL présentes dans le code ;
|
|
- écrire ou modifier du SQL dans les fichiers source ;
|
|
- proposer des requêtes SQL ;
|
|
- examiner la structure des données lorsqu'elle est accessible en lecture.
|
|
|
|
### Opérations interdites
|
|
|
|
Codex ne doit JAMAIS exécuter sur une base de données une commande susceptible
|
|
de modifier les données, la structure ou la configuration.
|
|
|
|
Cela comprend notamment :
|
|
|
|
INSERT
|
|
UPDATE
|
|
DELETE
|
|
MERGE
|
|
TRUNCATE
|
|
DROP
|
|
ALTER
|
|
CREATE
|
|
GRANT
|
|
REVOKE
|
|
|
|
Ne jamais exécuter une procédure stockée ou une fonction SQL susceptible
|
|
d'avoir des effets de bord.
|
|
|
|
En particulier :
|
|
|
|
EXEC
|
|
EXECUTE
|
|
|
|
ne doivent être utilisés que s'il est certain que l'opération est strictement
|
|
en lecture seule.
|
|
|
|
En cas de doute :
|
|
|
|
NE PAS EXÉCUTER LA REQUÊTE.
|
|
|
|
Demander confirmation à l'utilisateur.
|
|
|
|
---
|
|
|
|
## 3. Credentials et secrets
|
|
|
|
Ne jamais :
|
|
|
|
- afficher inutilement un mot de passe ;
|
|
- recopier un mot de passe dans un nouveau fichier ;
|
|
- ajouter un secret dans Git ;
|
|
- modifier les credentials existants sans demande explicite ;
|
|
- transmettre un credential ou un secret vers Internet.
|
|
|
|
Si des credentials sont découverts dans le code, les considérer comme
|
|
confidentiels.
|
|
|
|
Ne pas les inclure dans les réponses sauf nécessité absolue.
|
|
|
|
---
|
|
|
|
## 4. Infrastructure externe
|
|
|
|
Ne jamais modifier directement :
|
|
|
|
- un autre site IIS ;
|
|
- une configuration IIS externe au workspace ;
|
|
- Active Directory ;
|
|
- DNS ;
|
|
- un serveur distant ;
|
|
- une machine virtuelle ;
|
|
- un partage réseau ;
|
|
- une tâche planifiée ;
|
|
- une configuration système Windows ;
|
|
- une base de données ;
|
|
- une ressource de production.
|
|
|
|
Codex peut analyser le code qui effectue ces opérations et le modifier dans
|
|
le workspace.
|
|
|
|
L'exécution réelle d'une opération d'administration doit être laissée à
|
|
l'utilisateur sauf demande explicite.
|
|
|
|
---
|
|
|
|
## 5. Commandes PowerShell et shell
|
|
|
|
Les commandes purement consultatives peuvent être exécutées librement.
|
|
|
|
Exemples :
|
|
|
|
rg
|
|
Get-Content
|
|
Select-String
|
|
Get-ChildItem
|
|
git status
|
|
git diff
|
|
git log
|
|
|
|
Avant d'exécuter une commande ayant potentiellement des effets de bord,
|
|
vérifier qu'elle ne peut pas modifier une ressource de production.
|
|
|
|
En cas de doute, demander confirmation.
|
|
|
|
---
|
|
|
|
## 6. Modifications du code
|
|
|
|
Avant une modification importante :
|
|
|
|
1. comprendre le code existant ;
|
|
2. rechercher les dépendances et les appels concernés ;
|
|
3. conserver le comportement existant qui n'est pas concerné par la demande ;
|
|
4. privilégier une modification minimale plutôt qu'une réécriture inutile.
|
|
|
|
Après modification :
|
|
|
|
1. vérifier les fichiers modifiés ;
|
|
2. rechercher les éventuelles références impactées ;
|
|
3. examiner le diff ;
|
|
4. signaler clairement les modifications réalisées ;
|
|
5. signaler les points qui n'ont pas pu être testés.
|
|
|
|
Ne jamais considérer qu'une modification est déployée en production.
|
|
|
|
---
|
|
|
|
## 7. Tests
|
|
|
|
Les tests locaux sans effet de bord sont autorisés.
|
|
|
|
Ne jamais utiliser une ressource de production pour tester une opération
|
|
d'écriture.
|
|
|
|
Si une fonctionnalité nécessite normalement une écriture en base de données,
|
|
modifier le code si demandé mais NE PAS effectuer l'écriture réelle.
|
|
|
|
Indiquer à l'utilisateur que cette partie doit être testée manuellement dans
|
|
un environnement approprié.
|
|
|
|
---
|
|
|
|
## 8. Accès Internet
|
|
|
|
Ne pas envoyer vers un service externe :
|
|
|
|
- code source propriétaire ;
|
|
- credentials ;
|
|
- noms d'utilisateurs ;
|
|
- données provenant des bases ;
|
|
- informations internes à l'entreprise.
|
|
|
|
Si une recherche Internet est nécessaire, demander l'autorisation lorsque
|
|
Codex le requiert et limiter la requête aux informations strictement
|
|
nécessaires.
|
|
|
|
---
|
|
|
|
## Principe général
|
|
|
|
Codex dispose d'une autonomie importante sur le CODE contenu dans ce
|
|
workspace.
|
|
|
|
Codex ne dispose d'aucune autonomie pour modifier les DONNÉES ou
|
|
l'INFRASTRUCTURE de production.
|
|
|
|
Si une action peut avoir un effet de bord sur une ressource extérieure au
|
|
workspace, demander confirmation avant de l'exécuter. |