ChatGPT â Introduction (dev web)
Survole et clique une rubrique pour ouvrir le guide détaillé.
1) Quâest-ce que ChatGPT ?
ChatGPT est une interface conversationnelle basée sur un Large Language Model (LLM) de type Transformer. Il prédit des tokens (morceaux de mots) un à un selon le contexte.
Chronologie express
- 2017 : Transformer (self-attention).
- 2018â2020 : GPT-1/2/3 (few-shot).
- 2022 : InstructGPT & RLHF â suivi dâinstructions.
- 2023â2024 : GPT-4/4o, multimodal, function calling.
Pipeline (vue dev)
- Tokenisation â embeddings.
- Empilement de couches Transformer (attention + MLP).
- Décodage
tokenâtoken(temperature, top-p, stop). - Outils (function calling) & RAG pour relier des donnĂ©es rĂ©elles.
Note : pas de mĂ©moire âlong termeâ par dĂ©faut. On la reconstruit cĂŽtĂ© app (vector store/RAG).
RAG vs Fine-tuning
RAG = indexer vos docs/code â rechercher les passages pertinents â les injecter au prompt. IdĂ©al quand la connaissance change souvent.
Fine-tuning = rĂ©-entraĂźner le modĂšle sur vos exemples pour fixer un style/format. PrĂ©fĂ©rez RAG pour la âconnaissanceâ, FT pour le ton/structure.
{
"query": "Créer un modÚle Django Article",
"retrieved_context": ["doc interne âŠ", "snippet de code âŠ"]
}2) Pourquoi dans le dev web ?
- Productivité : boilerplate, CRUD, tests, doc.
- Prototypage : scaffolding Django/React/Tailwind.
- Debug/Refactor : explication stack trace, patch minimal.
Recette âScaffold Djangoâ
RĂLE: Architecte Django
OBJECTIF: ModĂšle Article + Admin + ListView + URL + Template
CONTRAINTES:
- Bootstrap 5 seulement
- Donne les chemins exacts de fichiers
- Si >120 lignes, arrĂȘte-toi et demande validation
SORTIE: étapes + fichiers + commandes3) Limites & contournements
Hallucinations
- Exiger chemins de fichiers et preuves (grep).
- RAG pour ancrer sur vos sources.
Données figées / actualité
- Outillage web/retrieval + revue humaine.
Contexte limité
- Découper par tùches courtes.
- Reset régulier + résumé de contexte.
4) Prompting (patrons)
RĂLE: [ex. Architecte Django senior]
OBJECTIF: [ce que tu veux]
CONTEXTE: stack, versions, structure dossier, conventions
CONTRAINTES:
- Donne noms/chemins de fichiers
- Fournis un diff si tu modifies du code
- ArrĂȘte-toi > 120 lignes et demande validation
SORTIE: étapes + code par fichier + commandes
VĂRIFICATION: tests Ă exĂ©cuter / points de contrĂŽle- TempĂ©rature 0â0.3 pour le code.
- Few-shot : donner 1 bon exemple Ă imiter.
- Sortie JSON quand on parse cÎté back.
5) Exemples concrets
A. Debug Django (UNIQUE email)
- Script de déduplication avant contrainte.
- Migration
unique=True - Test qui prouve lâIntegrityError sur doublon.
# exemple de test (simplifié)
def test_email_unique(db, django_user_model):
django_user_model.objects.create(username="u1", email="a@a.com")
with pytest.raises(IntegrityError):
django_user_model.objects.create(username="u2", email="a@a.com")B. Formulaire Contact (honeypot + throttle)
# models.py (extrait)
class ContactMessage(models.Model):
name = models.CharField(max_length=120)
email = models.EmailField()
message = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
honeypot = models.CharField(max_length=120, blank=True)
ip = models.GenericIPAddressField(null=True, blank=True)
class Meta:
indexes = [models.Index(fields=["created_at", "ip"])]6) Architecture dâassistant
- Backend Django : orchestrateur LLM (température/outils autorisés).
- RAG : vector store (FAISS/pgvector) sur docs & code.
- Tooling : exécution de tests, lecture repo read-only, génération de diff.
- Observabilité : logs, coût tokens, latence, succÚs tests.
- SĂ©curitĂ© : secrets en vault, filtrage prompts, allow-list dâoutils.
7) Check-list projets longs
- 1 issue = 1 conversation. Reset rĂ©gulier + rĂ©sumĂ© dâĂ©tat.
- Rappeler stack/versions/conventions au début.
- Valider par Ă©tapes (modĂšle â admin â migration â test â vue â template).
- Exiger un diff unifié pour toute modif.
8) Prochaines briques
- Pages âPrompt Engineeringâ, âContexteâ, âBonnes pratiques Dev Webâ.
- Basculer cette page sur contenu DB (voir modĂšle ci-dessous).
- Importer du contenu (JSON) + images/vidéos + snippets code.
