SPB Git

spb/uqo_cours

Public
27.4 KB · 477 lines latex
1% ------------------------------------------------------------------------------2\section{Le fichier CLAUDE.md : quatorze exemples}3\label{sec:claudemd}4% ------------------------------------------------------------------------------56\begin{enbref}7\texttt{CLAUDE.md} est le fichier que Claude Code lit \emph{avant tout autre chose}, à chaque session. Il contient ce que l'agent ne peut pas deviner : les conventions du cours, les fichiers à ne pas toucher, comment vérifier, ce qui vous revient. Ce chapitre explique où il vit (global, dossier, local, sous-dossier, importations), comment l'écrire (court, précis, vérifiable) et donne quatorze fichiers complets à copier : profil personnel, TP de comparaison, bordereau de coût, analyse de ventes, rapport, révision, statistiques en R, travail d'équipe, tuteur, et plus.8\end{enbref}910\subsection{Où vit la mémoire}1112Claude Code assemble ses instructions à partir de plusieurs fichiers, du plus général au plus local ; les plus locaux précisent ou l'emportent \parencite{cc_memory}.1314\begin{figure}[!htb]15\centering16\begin{tikzpicture}[c/.style={draw=uqoBleu,thick,rounded corners=3pt,text width=12.4cm,minimum height=1.0cm,align=left,font=\small\sffamily,inner xsep=10pt,inner ysep=5pt}]17  \node[c,fill=black!5,draw=uqoGris,anchor=north west] (m) at (0,0) {\textbf{\faIcon{building}~Géré par l'organisation}\quad{\footnotesize politiques imposées par un employeur ; absent d'un ordinateur personnel}\\ \texttt{/Library/Application Support/ClaudeCode/CLAUDE.md} {\footnotesize (macOS)}};18  \node[c,fill=uqoBleu!12,below=0.15cm of m.south west,anchor=north west] (u) {\textbf{\faIcon{user}~Vous, partout}\quad{\footnotesize langue, style, règles de sécurité personnelles (exemple~\ref{ex:global})}\\ \texttt{\textasciitilde/.claude/CLAUDE.md}};19  \node[c,fill=uqoOr!15,draw=uqoOr!80!black,below=0.15cm of u.south west,anchor=north west] (p) {\textbf{\faIcon{folder}~Le dossier du travail}\quad{\footnotesize conventions du cours, fichiers protégés, vérifications ; partagé et versionné}\\ \texttt{./CLAUDE.md}};20  \node[c,fill=uqoOr!15,draw=uqoOr!80!black,below=0.15cm of p.south west,anchor=north west] (l) {\textbf{\faIcon{user-lock}~Le dossier, pour vous seulement}\quad{\footnotesize vos préférences, votre valeur de $B$ ; ignoré par Git}\\ \texttt{./CLAUDE.local.md}};21  \node[c,fill=uqoTeal!12,draw=uqoTeal,below=0.15cm of l.south west,anchor=north west] (s) {\textbf{\faIcon{folder-open}~Un sous-dossier}\quad{\footnotesize chargé seulement quand l'agent y travaille (exemple~\ref{ex:sousdossier})}\\ \texttt{./donnees/CLAUDE.md}};22  \node[c,fill=uqoViolet!10,draw=uqoViolet,below=0.15cm of s.south west,anchor=north west] (i) {\textbf{\faIcon{file-import}~Importations}\quad{\footnotesize un fichier de conventions partagé entre plusieurs TP, inclus dans n'importe lequel des fichiers ci-dessus}\\ \texttt{@../conventions\_IMM1033.md}};23  \draw[flb,line width=1.2pt] ([xshift=0.45cm]m.south east) -- ([xshift=0.45cm]i.north east) node[midway,right,etiq,align=left] {du général\\ au particulier};24\end{tikzpicture}25\caption{Les emplacements de la mémoire de Claude Code, du plus général au plus local}26\label{fig:memoire}27\end{figure}2829Trois façons de les modifier : ouvrir le fichier dans n'importe quel éditeur de texte ; taper \texttt{/memory} dans une session pour choisir lequel ouvrir ; ou commencer une requête par \texttt{\#} pour ajouter une ligne au fichier du dossier sans quitter la conversation. La commande \texttt{/init} génère un premier brouillon après avoir exploré le dossier : bon point de départ, mais toujours trop long ; taillez-le.3031\subsection{Comment l'écrire}3233La documentation d'Anthropic est directe : un \texttt{CLAUDE.md} est lu à chaque tour, donc chaque ligne coûte du contexte, et « un fichier trop long fait que Claude en ignore la moitié » \parencite{cc_bestpractices}. Six règles.3435{\small\Needspace{9\baselineskip}36\begin{tabularx}{\textwidth}{E{3.2cm}XX}37\caption{Six règles d'écriture d'un bon CLAUDE.md}\label{tab:regles-claudemd}\\38\rowcolor{uqoBleu} \hc{Règle} & \hc{Pourquoi} & \hc{Exemple} \\39\endfirsthead40\captionsuite{Six règles d'écriture d'un bon CLAUDE.md}41\rowcolor{uqoBleu} \hc{Règle} & \hc{Pourquoi} & \hc{Exemple} \\42\endhead43\suitepage{3}44\endfoot45\finTableau46\endlastfoot47Court & Tout est relu à chaque tour ; au-delà d'une page, l'agent en oublie. & 20 à 40 lignes pour un TP. \\48\rowcolor{uqoBgClair}49Ce qu'il ne peut pas deviner & Il lit très bien les fichiers ; il ne connaît pas les conventions du cours. & « Profit entrepreneurial calculé à part, en \% du total direct + indirect. » plutôt que « Il y a une feuille Bordereau. » \\50Impératif et vérifiable & Une règle floue (« sois prudent ») ne change rien ; une règle testable change le comportement. & « Ne jamais coller de valeur à la place d'une formule. Vérifier : changer B en D9, H26 doit changer. » \\51\rowcolor{uqoBgClair}52Le pourquoi, en une ligne & Le modèle applique mieux une règle dont il comprend l'objectif. & « Le terrain n'est pas déprécié : convention du cours, énoncé §2. » \\53Le partage des rôles & Sans cela, l'agent fait tout, et vous ne pouvez plus défendre la copie. & « Les formules de calcul sont à ma charge ; tu les vérifies contre l'énoncé. » \\54\rowcolor{uqoBgClair}55Pas de doublon avec l'énoncé & Le PDF est là ; le résumer dans \texttt{CLAUDE.md} coûte du contexte deux fois. & « \texttt{enonce.pdf} fait autorité sur toute convention. » et rien d'autre. \\56\end{tabularx}57}5859\begin{piege}[Les quatre erreurs qui reviennent]60Un \texttt{CLAUDE.md} de trois pages généré par \texttt{/init} et jamais relu ; des évidences (« fais du bon travail », « sois précis ») ; des descriptions feuille par feuille que l'agent lirait mieux dans le classeur ; et l'oubli de dire ce qui est \emph{à vous}. Dans les quatre cas, l'agent fait « du code correct » avec des conventions génériques, et la copie ne survit pas à l'entretien de vérification.61\end{piege}6263\subsection{Galerie : quatorze fichiers à copier}6465Chaque exemple est complet et utilisable tel quel après avoir remplacé les valeurs entre crochets. Les numéros de lignes ne font pas partie du fichier.6667% ------------------------------------------------------------------ 168\subsubsection{Votre profil, partout : \texttt{\textasciitilde/.claude/CLAUDE.md}}69\label{ex:global}7071Ce fichier est lu dans \emph{tous} vos dossiers. Il ne doit contenir que ce qui est vrai partout : votre langue, votre niveau, vos règles de sécurité personnelles. Rien sur un TP précis.7273\begin{fichier}[\textasciitilde/.claude/CLAUDE.md --- profil personnel d'un étudiant du baccalauréat]74\begin{Verbatim}[commandchars=§¡¿,numbers=left]75§fk¡# Qui je suis¿76Étudiant(e) au baccalauréat en administration, profil évaluation immobilière (UQO).77Je programme peu : explique chaque commande shell ou script en une phrase avant de78l'exécuter. Réponds en français (Québec) ; les termes techniques anglais entre parenthèses79à la première occurrence.8081§fk¡# Comment travailler avec moi¿82- Commence toujours en lecture seule et propose un plan avant d'écrire.83- Petites étapes : une modification, une preuve (sortie, valeur), puis la suivante.84- Quand tu n'es pas sûr, dis-le ; ne devine jamais un chiffre réglementaire ou une source.85- Montre les preuves brutes (valeurs de cellules, sorties de commandes), pas des résumés.8687§fk¡# Sécurité et confidentialité (non négociable)¿88- Ne lis jamais en dehors du dossier de travail courant.89- Aucun accès Web sans que je le demande explicitement dans la requête.90- Si un fichier contient un nom de personne réelle, une adresse civique, un code permanent91  complet ou une clé d'accès, arrête-toi et signale-le avant de continuer.9293§fk¡# Style¿94- Tableaux Markdown pour comparer ; listes courtes ; pas de préambule ni de conclusion polie.95- Nombres au format canadien-français dans les textes que tu rédiges : 1 275 $, 12,4 %.96\end{Verbatim}97\end{fichier}9899% ------------------------------------------------------------------ 2100\subsubsection{TP2 d'IMM1003 : grille de comparaison dans Excel}101\label{ex:tp2}102103\begin{fichier}[TP2\_comparaison/CLAUDE.md --- méthode de comparaison, gabarit Excel chaîné]104\begin{Verbatim}[commandchars=§¡¿,numbers=left]105§fk¡# Contexte¿106TP2 d'IMM1003 (UQO) : grille d'ajustement pour un bungalow d'Aylmer, 5 comparables.107Je rédige et je calcule ; tu assistes (structure, vérification, mise en forme).108109§fk¡# Fichiers¿110- enonce.pdf : fait autorité sur toute convention. Ne le modifie jamais.111- gabarit.xlsx : original, ne jamais écraser. On travaille sur gabarit_travail.xlsx.112- Accueil!D9 = B (dernier chiffre de mon code permanent). Ma valeur : [B].113114§fk¡# Conventions du cours (priment sur toute convention générique)¿115- Ajustements transactionnels d'abord, en séquence (conditions de vente, financement,116  date) ; puis ajustements physiques. On ajuste le comparable vers le sujet.117- Seuils d'alerte : 15 % brut, 25 % net. Pas de moyenne simple en réconciliation.118- Arrondi final au 5 000 $ ; intermédiaires au dollar.119120§fk¡# Partage des rôles¿121- À moi : le sens et le montant de chaque ajustement, la réconciliation, l'interprétation.122- À toi : formules de totaux brut/net et drapeaux (Grille!I12:J16), mise en forme123  conditionnelle, graphique du Dashboard, vérifications.124125§fk¡# Vérifier¿126- La chaîne : changer Accueil!D9 (B=2 puis B=9) et rapporter Grille!H26. Les deux127  valeurs doivent différer.128- Aucune valeur collée à la place d'une formule en Grille!C12:J26.129- Après toute écriture : lister les cellules modifiées et leurs formules exactes.130\end{Verbatim}131\end{fichier}132133% ------------------------------------------------------------------ 3134\subsubsection{TP2 d'IMM1033 : bordereau de coût neuf}135\label{ex:cout}136137Le \emph{Guide IA} (annexe C) donne la version complète. Voici la variante courte, qui importe les conventions depuis un fichier partagé entre les trois TP du cours (exemple~\ref{ex:imports}).138139\begin{fichier}[TP2\_bordereau/CLAUDE.md --- bordereau par composantes, avec importation]140\begin{Verbatim}[commandchars=§¡¿,numbers=left]141§fk¡# Contexte¿142TP2 d'IMM1033 : bordereau de coût de remplacement neuf d'un quadruplex locatif,143méthode par composantes. Je rédige et je valide ; tu assistes.144145§fk¡# Conventions du cours¿146§fs¡@../conventions_IMM1033.md¿147148§fk¡# Fichiers¿149- enonce.pdf fait autorité. gabarit.xlsx : ne jamais écraser ; copie datée obligatoire.150- Accueil!D9 = B = [B].151152§fk¡# Partage des rôles¿153- À moi : coûts unitaires (avec source), quantités, formules par composante, dépréciation.154- À toi : structure du tableau, totaux et sous-totaux, contrôle de cohérence, mise en forme.155156§fk¡# Vérifier¿157- Chaîne : B=2 puis B=9 dans D9 → valeur conclue différente.158- Profit entrepreneurial : une seule fois, à part, sur (directs + indirects).159- Chaque coût unitaire a une source (nom du guide, édition, page ou URL + date).160\end{Verbatim}161\end{fichier}162163% ------------------------------------------------------------------ 4164\subsubsection{Un fichier de conventions partagé, importé par \texttt{@}}165\label{ex:imports}166167Placez-le un niveau au-dessus des dossiers de TP (ici \texttt{IMM1033/conventions\_IMM1033.md}). Chaque \texttt{CLAUDE.md} l'importe par la ligne \texttt{@../conventions\_IMM1033.md} ; vous le corrigez à un seul endroit \parencite{cc_memory}.168169\begin{fichier}[IMM1033/conventions\_IMM1033.md --- importé par les CLAUDE.md des trois TP]170\begin{Verbatim}[commandchars=§¡¿,numbers=left]171§fk¡## Conventions IMM1033 (méthodes du coût) — ne pas remplacer par des conventions génériques¿172- Unités : pieds carrés (pi²) ; coûts en dollars canadiens courants, date précisée.173- Coût de remplacement (équivalent utilitaire), sauf mention « reproduction » dans l'énoncé.174- Coûts directs et indirects listés séparément ; profit entrepreneurial calculé À PART,175  en pourcentage du total (directs + indirects), jamais inclus dans les indirects.176- Aucune dépréciation appliquée au terrain.177- Dépréciation : physique (curable / incurable, courte / longue durée de vie),178  fonctionnelle (curable / incurable), externe. Une composante n'est dépréciée qu'une fois.179- Arrondi final de la valeur conclue au 5 000 $ ; intermédiaires au dollar.180- Toute donnée de coût ou de marché a une source primaire (guide, édition, page ou URL + date).181  Ne jamais inventer un coût unitaire, un facteur de localisation ou un taux.182\end{Verbatim}183\end{fichier}184185% ------------------------------------------------------------------ 5186\subsubsection{Analyse de trente ventes en Python}187\label{ex:ventes}188189\begin{fichier}[analyse\_ventes/CLAUDE.md --- projet d'exploration de données (pandas)]190\begin{Verbatim}[commandchars=§¡¿,numbers=left]191§fk¡# Contexte¿192Exploration de 30 ventes de bungalows (Aylmer, 2025-2026) exportées d'un portail,193avant de choisir 5 comparables pour le TP2 d'IMM1003. Python 3.12, pandas, matplotlib.194195§fk¡# Fichiers¿196- data/ventes_brutes.csv : export original, LECTURE SEULE. Toute transformation écrit197  dans data/ventes_propres.csv et est documentée dans NOTES.md (colonne, règle, lignes touchées).198- analyse.py : le script ; il doit tourner de bout en bout avec `python3 analyse.py`.199- figures/ : graphiques PNG, un par question.200201§fk¡# Règles d'analyse¿202- Prix au pied carré = prix / superficie habitable (pas terrain). Le nommer prix_pi2.203- Médiane et écart interquartile par secteur, jamais la moyenne seule.204- Signaler les anomalies (prix_pi2 < 150 ou > 600, date hors 2025-2026, doublons)205  dans un tableau ; ne JAMAIS les supprimer sans me le demander.206- Dates au format ISO ; montants en dollars entiers ; pas d'arrondi avant le résultat final.207208§fk¡# Partage des rôles¿209- À toi : le script, les graphiques, les statistiques descriptives, les contrôles.210- À moi : décider quelles ventes retenir et pourquoi ; l'interprétation de la tendance.211212§fk¡# Vérifier¿213- Après chaque exécution : afficher les 3 premières lignes et le nombre de lignes.214- Pour 3 identifiants que je nomme, imprimer les valeurs brutes et calculées côte à côte.215\end{Verbatim}216\end{fichier}217218% ------------------------------------------------------------------ 6219\subsubsection{Rédaction d'un rapport en Markdown ou Word}220\label{ex:rapport}221222\begin{fichier}[rapport\_evaluation/CLAUDE.md --- rédaction assistée, jugement réservé]223\begin{Verbatim}[commandchars=§¡¿,numbers=left]224§fk¡# Contexte¿225Rapport narratif d'évaluation (travail de session IMM1003) rédigé en Markdown dans226rapport.md, converti en Word/PDF par pandoc. Données dans data/, figures dans figures/.227228§fk¡# Ce que tu peux faire¿229- Structure du document (sections attendues d'un rapport narratif), mise en forme,230  tableaux à partir de mes données, insertion des figures, cohérence des chiffres entre231  sections (une valeur conclue en section 6 = celle reprise en section 8), orthographe.232- Relire une section et signaler : affirmation sans source, chiffre sans démarche,233  convention du cours non respectée, phrase générique.234235§fk¡# Ce que tu ne fais pas¿236- Rédiger l'analyse, l'interprétation, la réconciliation ou l'opinion de valeur.237  Si je te le demande, refuse et propose plutôt des questions à me poser.238- Inventer une source, une norme, une décision, une donnée de marché.239240§fk¡# Sources¿241- Toute donnée citée a une entrée dans sources.md (organisme, titre, URL, date consultée).242  Si une phrase de rapport.md cite un chiffre absent de sources.md, signale-le.243244§fk¡# Format¿245- Français, ton professionnel, phrases courtes. Nombres : 612 000 $, 5,5 %.246- Ne réécris jamais un paragraphe entier : propose la modification, je l'applique.247\end{Verbatim}248\end{fichier}249250% ------------------------------------------------------------------ 7251\subsubsection{Réviser pour l'examen}252\label{ex:revision}253254\begin{fichier}[revision\_intra/CLAUDE.md --- dossier d'étude, mode tuteur]255\begin{Verbatim}[commandchars=§¡¿,numbers=left]256§fk¡# Contexte¿257Révision de l'intra d'IMM1003 (séances 1 à 6). Mes notes : notes/*.md (une par séance).258Rien de ce que nous produisons ici n'entre dans une remise (niveau 2 du cours).259260§fk¡# Ta posture : tuteur, pas répondeur¿261- Pose une question à la fois ; attends ma réponse ; corrige ENSUITE, à partir de mes262  notes seulement. Si mes notes ne permettent pas de trancher, dis « tes notes ne le263  précisent pas » au lieu d'inventer.264- Commence par l'application (cas concret à Gatineau), pas par la définition.265- Quand je me trompe, ne donne pas la bonne réponse tout de suite : donne un indice,266  puis un deuxième, puis la réponse avec la référence à la séance.267268§fk¡# Suivi¿269- Tiens à jour erreurs.md : date, notion, mon erreur, la règle. Relis-le au début de270  chaque session et recommence par les notions où j'ai échoué.271272§fk¡# Interdit¿273- Générer des « résumés » de mes notes : je les fais moi-même (c'est ça qui fait apprendre).274- Aller chercher sur le Web des définitions : le cours a ses conventions.275\end{Verbatim}276\end{fichier}277278% ------------------------------------------------------------------ 8279\subsubsection{Statistiques en R (cours quantitatifs)}280\label{ex:r}281282\begin{fichier}[regression\_hedonique/CLAUDE.md --- projet R]283\begin{Verbatim}[commandchars=§¡¿,numbers=left]284§fk¡# Contexte¿285Régression hédonique sur 400 ventes (Gatineau) pour un travail de méthodes quantitatives.286R 4.4, tidyverse, fixest. Scripts dans R/, données dans data/, sorties dans output/.287288§fk¡# Conventions¿289- Un script par étape : 01_import.R, 02_nettoyage.R, 03_modeles.R, 04_tableaux.R ;290  `Rscript R/00_tout.R` doit tout rejouer sans intervention.291- Jamais de setwd() ; chemins relatifs via here::here().292- Prix en log ; superficie en log ; effets fixes de secteur et de trimestre.293- Erreurs-types robustes (HC1) par défaut ; le dire dans chaque tableau.294295§fk¡# Partage des rôles¿296- À toi : code, tableaux de régression (modelsummary), diagnostics (VIF, résidus).297- À moi : le choix des variables, l'interprétation des coefficients, la conclusion.298299§fk¡# Vérifier¿300- Après un modèle : afficher n, R², et le coefficient de log(superficie) avec son IC.301  Repère du cours : élasticité de l'aire ≈ 0,5 ; si l'estimation en est loin, signale-le302  au lieu de l'expliquer.303\end{Verbatim}304\end{fichier}305306% ------------------------------------------------------------------ 9307\subsubsection{Travail d'équipe : \texttt{CLAUDE.md} partagé et \texttt{CLAUDE.local.md} personnel}308\label{ex:equipe}309310Le fichier \texttt{CLAUDE.md} est versionné dans le dépôt de l'équipe ; chaque membre ajoute un \texttt{CLAUDE.local.md} (ignoré par Git) pour ses réglages à lui \parencite{cc_memory}.311312\begin{fichier}[travail\_equipe/CLAUDE.md --- commun aux trois membres]313\begin{Verbatim}[commandchars=§¡¿,numbers=left]314§fk¡# Contexte¿315Travail de session en équipe de trois (IMM1033) : étude de faisabilité d'un projet316résidentiel. Dépôt Git partagé. Chaque membre a un sous-dossier : marche/, couts/, finance/.317318§fk¡# Règles communes¿319- Ne modifie que les fichiers du sous-dossier de la personne qui te parle320  (voir CLAUDE.local.md) ; propose une note dans A_DISCUTER.md pour le reste.321- Un commit par tâche, message en français : « couts: ajoute la ventilation par composante ».322- Hypothèses partagées dans hypotheses.md (une ligne par hypothèse, source, date) : c'est323  la seule source de vérité pour les taux, les coûts unitaires et le calendrier.324325§fk¡# Vérifier¿326- Avant tout commit : `python3 verif/coherence.py` doit passer (mêmes hypothèses partout).327\end{Verbatim}328\end{fichier}329330\begin{fichier}[travail\_equipe/CLAUDE.local.md --- propre à un membre, non versionné]331\begin{Verbatim}[commandchars=§¡¿,numbers=left]332Je suis [Prénom], responsable du sous-dossier couts/. Mon B = [B].333Je travaille sur macOS ; ouvre les fichiers Excel avec openpyxl, pas avec Excel.334Réponds en français ; tutoiement.335\end{Verbatim}336\end{fichier}337338% ------------------------------------------------------------------ 10339\subsubsection{Un sous-dossier avec ses propres règles}340\label{ex:sousdossier}341342Un \texttt{CLAUDE.md} placé dans un sous-dossier n'est chargé que lorsque l'agent lit ou modifie des fichiers de ce sous-dossier \parencite{cc_memory}. Utile quand un dossier mêle données brutes (à protéger) et rapport (à éditer).343344\begin{fichier}[projet/donnees/CLAUDE.md --- règles spécifiques aux données brutes]345\begin{Verbatim}[commandchars=§¡¿,numbers=left]346§fk¡# Ce dossier contient des données brutes¿347- brut/ est en LECTURE SEULE : aucun fichier n'y est créé, modifié ni supprimé.348- Toute version nettoyée va dans propre/ avec le même nom + suffixe _propre, et une ligne349  dans propre/JOURNAL.md : date, fichier source, transformation, nombre de lignes avant/après.350- Les fichiers de brut/ viennent de portails (APCIQ, SCHL, Ville de Gatineau) : la licence351  interdit de les redistribuer ; ne les copie jamais hors de ce dossier.352\end{Verbatim}353\end{fichier}354355% ------------------------------------------------------------------ 11356\subsubsection{Mode apprentissage : l'agent qui vous laisse écrire}357\label{ex:tuteur}358359À combiner avec le style \emph{Learning} (§\ref{sec:styles}) : l'agent écrit la structure, vous écrivez les formules qui comptent.360361\begin{fichier}[TP3\_revenu/CLAUDE.md --- méthode du revenu, apprentissage actif]362\begin{Verbatim}[commandchars=§¡¿,numbers=left]363§fk¡# Contexte¿364TP3 d'IMM1003 : méthode du revenu, triplex de Hull. Objectif : que J'APPRENNE à monter365un état des revenus et dépenses normalisé. Tu es un tuteur, pas un exécutant.366367§fk¡# Règles d'apprentissage¿368- Pour toute cellule de calcul (RBP, vacance, RBE, chaque dépense, RNE, TGA, valeur),369  laisse un marqueur TODO(moi) avec une phrase qui décrit ce que la formule doit faire ;370  je l'écris. Tu vérifies ensuite ma formule contre la description et l'énoncé.371- Tu peux écrire : en-têtes, mise en forme, cellules de source, formules de total simple.372- Quand je te demande « donne-moi la formule », réponds par une question qui m'aide à la373  trouver. Après deux échecs de ma part, donne-la avec l'explication.374375§fk¡# Conventions du cours¿376- RNE avant service de la dette. Taux d'inoccupation : celui de la SCHL pour la RMR de377  Gatineau (source + date en Accueil), même si tous les logements sont loués.378- Ratio de dépenses attendu 35-45 % du RBE pour un triplex ; en dehors, me le signaler.379- TGA extrait de ventes comparables (pas d'un tableau générique).380\end{Verbatim}381\end{fichier}382383% ------------------------------------------------------------------ 12384\subsubsection{Nettoyage de données publiques}385\label{ex:donnees}386387\begin{fichier}[tableau\_de\_bord/CLAUDE.md --- TP1, indicateurs de marché de Gatineau]388\begin{Verbatim}[commandchars=§¡¿,numbers=left]389§fk¡# Contexte¿390TP1 d'IMM1003 : tableau de bord du marché résidentiel de Gatineau. Sources téléchargées391dans sources/ (APCIQ, SCHL, Banque du Canada, Statistique Canada), tableau de bord dans392tableau_de_bord.xlsx (gabarit du cours, chaîné à Donnees).393394§fk¡# Règles¿395- Chaque indicateur importé garde : valeur, période, unité, organisme, URL, date de396  consultation (colonnes fixes de Donnees). Une ligne sans URL et date est refusée.397- Ne jamais taper une valeur « de mémoire » : si un fichier de sources/ ne la contient pas,398  dis-le et arrête-toi ; je vais la chercher.399- Uniformiser : dates ISO, montants en $ courants, taux en % avec deux décimales,400  périodes en fin de trimestre. Documenter chaque conversion dans TRANSFORMATIONS.md.401402§fk¡# Vérifier¿403- Pour chaque indicateur : afficher la valeur brute lue dans le fichier source et la404  valeur écrite dans Donnees, côte à côte.405\end{Verbatim}406\end{fichier}407408% ------------------------------------------------------------------ 13409\subsubsection{Un dossier de notes LaTeX ou Markdown}410\label{ex:notes}411412\begin{fichier}[notes\_IMM1033/CLAUDE.md --- prise de notes structurée]413\begin{Verbatim}[commandchars=§¡¿,numbers=left]414§fk¡# Contexte¿415Mes notes de cours d'IMM1033 en Markdown, un fichier par séance (S01.md … S14.md),416compilées en PDF par pandoc. Glossaire dans glossaire.md.417418§fk¡# Règles¿419- Ne réécris jamais mes notes ; tu peux corriger l'orthographe, uniformiser les titres420  (## Notion, ### Exemple, ### Piège) et proposer des liens entre séances.421- Quand une notion apparaît sans définition dans glossaire.md, propose une entrée422  À PARTIR DE MES NOTES ; si elles ne suffisent pas, écris « à compléter en classe ».423- Génère, à ma demande, 5 questions d'application par séance dans questions/SXX.md,424  sans réponse ; les réponses vont dans questions/SXX_reponses.md seulement si je le demande.425\end{Verbatim}426\end{fichier}427428% ------------------------------------------------------------------ 14429\subsubsection{Un petit site Web (portfolio de stage)}430\label{ex:site}431432\begin{fichier}[portfolio/CLAUDE.md --- site statique HTML/CSS]433\begin{Verbatim}[commandchars=§¡¿,numbers=left]434§fk¡# Contexte¿435Portfolio personnel : site statique (HTML, CSS, un peu de JavaScript), sans framework,436déployé sur GitHub Pages. Pages : index.html, projets.html, contact.html.437438§fk¡# Règles¿439- Pas de dépendance externe (ni CDN ni bibliothèque) ; tout dans css/ et js/.440- Accessibilité : alt sur chaque image, contraste AA, navigation au clavier.441- Aucune donnée personnelle au-delà de mon prénom et de mon courriel UQO ; aucun nom de442  client ni d'immeuble réel dans les projets décrits (cas du cours seulement).443- Avant de commiter : ouvrir les trois pages avec `python3 -m http.server` et me donner444  l'URL ; je vérifie moi-même dans le navigateur.445\end{Verbatim}446\end{fichier}447448\subsection{Quoi mettre où : le tableau récapitulatif}449450{\small\Needspace{9\baselineskip}451\begin{tabularx}{\textwidth}{L{3.6cm}XX}452\caption{Où placer chaque type d'instruction}\label{tab:ou-placer}\\453\rowcolor{uqoBleu} \hc{Fichier} & \hc{Y mettre} & \hc{Ne pas y mettre} \\454\endfirsthead455\captionsuite{Où placer chaque type d'instruction}456\rowcolor{uqoBleu} \hc{Fichier} & \hc{Y mettre} & \hc{Ne pas y mettre} \\457\endhead458\suitepage{3}459\endfoot460\finTableau461\endlastfoot462\texttt{\textasciitilde/.claude/CLAUDE.md} & Langue, niveau, style, règles de sécurité personnelles valables partout. & Quoi que ce soit propre à un cours ou à un TP. \\463\rowcolor{uqoBgClair}464\texttt{./CLAUDE.md} & Conventions du cours, fichiers protégés, partage des rôles, vérifications ; ce qui se partage avec l'équipe. & Votre valeur de $B$ si le dossier est partagé ; vos préférences d'affichage. \\465\texttt{./CLAUDE.local.md} & Vos réglages personnels dans un dossier partagé : $B$, système d'exploitation, tutoiement. & Des règles dont l'équipe a besoin (elles seraient invisibles pour elle). \\466\rowcolor{uqoBgClair}467\texttt{./sous-dossier/CLAUDE.md} & Règles qui ne valent que là : données brutes en lecture seule, format d'un dossier de figures. & Les conventions générales (déjà dans le fichier parent). \\468Fichier importé par \texttt{@} & Conventions communes à plusieurs TP d'un même cours. & Tout ce qui change d'un TP à l'autre. \\469\rowcolor{uqoBgClair}470Ligne \texttt{\#} en session & Une règle découverte en travaillant (« le gabarit utilise des virgules décimales »). & Des paragraphes : relisez et rangez ensuite avec \texttt{/memory}. \\471\end{tabularx}472}473474\begin{astuce}[Demandez à l'agent de relire son propre CLAUDE.md]475En fin de TP, une requête utile : « Relis CLAUDE.md. Quelles règles t'ont servi ? Lesquelles n'ont jamais été utiles ? Qu'aurait-il fallu y écrire pour éviter l'erreur de la cellule I14 ? » Vous obtenez un fichier plus court et plus juste pour le TP suivant.476\end{astuce}477
Files · c71fcb40713c92e0fe96d7767538023ec09c7b28
Menu

Theme