mirror of
https://github.com/ArthurDanjou/ArtStudies.git
synced 2026-02-13 18:07:38 +01:00
3.2 KiB
3.2 KiB
Copilot Instructions for ArtStudies
Collection de travaux académiques en mathématiques (L3 → M2) utilisant Python et R.
Architecture du Projet
L3/, M1/, M2/ # Niveaux académiques (Licence 3, Master 1 & 2)
└── <Nom du Cours>/ # Ex: "Deep Learning", "Linear Models"
├── TP{n}/ # Travaux pratiques numérotés
├── Project/ # Projets finaux
└── data/ # Données locales au TP
Python - Conventions
- Gestionnaire de packages :
uv(voirpyproject.tomlracine) - Linter : Ruff avec règles strictes (
select = ["ALL"]) - Format des imports : sections personnalisées définies dans
pyproject.toml:# standard-library → third-party → data-science → ml → first-party import numpy as np # data-science group import pandas as pd from sklearn import ... # ml group - Notebooks : structures Jupyter avec cellules markdown descriptives + code
- Reproductibilité : utiliser
np.random.seed(42)pour fixer les seeds
Sous-projets avec dépendances isolées
Certains projets ont leur propre pyproject.toml (ex: M2/Reinforcement Learning/project/). Utiliser uv dans ces dossiers pour installer les dépendances spécifiques.
R - Conventions
- Projets R : fichiers
.Rprojdans chaque dossier TP/Projet - Gestion packages :
renvpour l'isolation (voir.Rprofile) - Script d'init :
M2/Data Visualisation/init.Rinstalle les packages courants - Documents : RMarkdown (
.Rmd) pour les rapports reproductibles - Linting : utiliser
lintrpour l'analyse statique etstylerpour le formatage (config:.lintrà la racine)# Vérifier le style d'un fichier lintr::lint("script.R") # Formater automatiquement styler::style_file("script.R")
SQL (M2/SQL)
Environnement Docker avec MySQL :
# Démarrer le conteneur
docker compose -f M2/SQL/docker-compose.yml up -d
# Exécuter les TPs via Make
make tp1 # Exécute scripts/TP1.sql
make tp2 # Exécute scripts/TP2.sql
make project # Exécute scripts/DANJOU_Arthur.sql
Logs générés dans M2/SQL/logs/.
Nommage des Fichiers
| Type | Convention | Exemple |
|---|---|---|
| TP numérotés | TP{n}.ipynb, TP{n}.Rmd |
TP1.ipynb, TP2.Rmd |
| Projets personnels | DANJOU_Arthur.* |
DANJOU_Arthur.sql |
| Labs thématiques | Nom descriptif complet | Lab 4 - Monte Carlo Control in Blackjack game.ipynb |
Stack Technique Principale
- Data Science : numpy, pandas, scipy, matplotlib, seaborn, plotly
- ML : scikit-learn, xgboost, catboost, tensorflow/keras, shap
- LLM/RAG : langchain, sentence-transformers, faiss-cpu
- Géospatial : geopandas, rasterio
- R : tidyverse, ggplot2, FactoMineR, caret, glmnet
Bonnes Pratiques
- Toujours vérifier si un
pyproject.tomllocal existe avant d'ajouter des dépendances - Les notebooks contiennent souvent du texte explicatif en français
- Utiliser Plotly pour les visualisations interactives, Matplotlib/Seaborn pour les exports
- Les données volumineuses ne sont pas versionnées - télécharger via le code du notebook si nécessaire