Cite viewer
Le cite viewer est une page web locale montrant le brouillon de l'utilisateur (ou une section de celui-ci). Chaque citation est un lien, souligné d'une couleur selon son statut. Cliquer sur une citation affiche la page citée de la source, avec le langage cité ou utilisé surligné, une note indiquant si le passage soutient la phrase, un lien qui ouvre la source complète à cette page, et une boîte de notes où l'utilisateur peut taper une correction.
Le viewer ne remplace pas la lecture des arrêts, et ne remplace pas un citateur (KeyCite ou Shepard's). Il rend la lecture rapide et enregistre si chaque passage soutient la phrase qui le cite.
Deux règles qui ne changent jamais
- Ne publiez jamais le viewer et ne l'hébergez nulle part. Il contient le brouillon de l'utilisateur et, avec les liens vers le dossier, il pointe vers des éléments du dossier. Il reste sur l'ordinateur de l'utilisateur comme un fichier qu'il ouvre en double-cliquant. Ne proposez jamais d'en faire un lien partageable. Si l'utilisateur demande quand même à le publier, avertissez-le d'abord de la confidentialité des documents.
- Ne modifiez jamais le brouillon. Le viewer signale les problèmes ; il ne les corrige pas. Ne modifiez le brouillon que lorsque l'utilisateur le demande séparément.
Où il se place
Il fonctionne mieux sur un brouillon dont le texte est établi et dont les citations ont déjà été vérifiées et passées dans un citateur, et avant la relecture finale. Si l'utilisateur le demande plus tôt, dites-le en une ligne, puis construisez-le s'il le veut quand même.
Avant de commencer
Demandez, en un court bloc, uniquement ce que l'utilisateur n'a pas déjà dit :
- Quel brouillon. Demandez-lui de le joindre, ou de nommer le fichier.
- Périmètre : tout le document, ou des sections nommées. Demandez cela même si le brouillon est court ; ne décidez jamais vous-même du périmètre.
- Sources : « Dois-je récupérer les décisions depuis Westlaw pour vous, ou allez-vous placer vous-même les PDF dans un dossier ? » (Utilisateurs Westlaw : voir étape 3. Utilisateurs Lexis ou autres : étape 3a.)
- Citations du dossier : « Voulez-vous aussi des liens vers les citations du dossier ? Si oui, quel dossier sur votre ordinateur contient le dossier, et comment le citez-vous ? Donnez-moi un exemple de citation de votre brouillon (par exemple, 12 R.R. 41, ROA.1234, Dkt. 52 at 3, ou JA 123). » N'importe quel dossier fonctionne (Dropbox, OneDrive ou un dossier simple), car le viewer lie les fichiers là où ils se trouvent et ne copie rien. Si l'utilisateur dit non, les citations du dossier apparaissent comme « Source non chargée ».
Demander le viewer est le feu vert pour enregistrer le dossier du viewer et, après l'avertissement sur les coûts à l'étape 3, pour récupérer les sources.
Étapes
1. Construire le tableau des citations
Convertissez le brouillon en texte. Parcourez le périmètre dans l'ordre et listez chaque citation : citations complètes, citations abrégées, id., supra, lois, sources secondaires et citations du dossier. Pour chacune, enregistrez :
- un identifiant (c1, c2, etc.) et la citation exacte telle qu'écrite ;
- l'autorité à laquelle elle renvoie (résoudre id. et les citations abrégées vers l'autorité complète) ;
- le pincite ou les pincites ;
- la proposition, et tout langage cité, de la phrase qu'elle soutient ;
- si la citation repose sur un élément spécifique de la source (un attendu, un test, une citation) ou ne fait que nommer l'affaire dans son ensemble (voir étape 6).
Notez toute déclaration juridique dans le périmètre qui n'a pas de citation. La page les marque aussi.
Si le brouillon utilise une citation abrégée ou supra sans citation complète nulle part, ne devinez pas en silence. Soit fournissez la citation en la marquant « connaissance générale, non vérifiée », soit laissez-la de côté et signalez-la.
2. Construire la liste des sources
Une entrée par autorité : la citation du recueil (« 466 U.S. 668 »), la citation WL pour les décisions non publiées, le code et l'article pour les lois, et « volume abréviation première-page » pour les articles. Séparez les entrées par des points-virgules, jusqu'à 100. Laissez de côté les citations du dossier et tout ce que Westlaw ne contient pas ; listez-les pour le rapport.
3. Récupérer les sources depuis Westlaw (Find & Print)
- Avant de récupérer quoi que ce soit, dites une fois à l'utilisateur que les demandes Find & Print peuvent être facturées selon son plan Westlaw, et ne continuez qu'après confirmation.
- Ouvrez Westlaw dans le navigateur et demandez à l'utilisateur de se connecter comme il le fait habituellement : connexion d'un cabinet, portail d'une faculté de droit, ou identifiant Thomson Reuters. Dites-lui que si la page que vous avez ouverte n'est pas celle qu'il utilise habituellement, il peut aller sur sa page de connexion habituelle dans la même fenêtre de navigateur. Ne saisissez jamais de mots de passe ; une fois qu'il est connecté, faites le reste.
- Allez dans Find & Print et collez la liste.
- Paramètres : Cases → opinion only (pas de headnotes) ; Statutes → statutory text only ; laissez « Substitue par les images du recueil » décoché, car la pagination par astérisque doit être du texte ; Delivery → Download ; Format → PDF ; As → Multiple files (ZIP) ; désactivez la mise en page sur deux colonnes.
- Soumettez. Si Westlaw rejette certaines citations, retirez-les, continuez et signalez-les.
- Lorsque le téléchargement est prêt, cliquez sur le bouton Download de Westlaw. Le navigateur affiche alors sa propre fenêtre de sauvegarde, que vous ne pouvez pas presser. Dites à l'utilisateur qu'elle arrive et demandez-lui de cliquer sur Save (ou Download) dans cette fenêtre. Le ZIP atterrit dans son dossier Downloads.
3a. Sources fournies par l'utilisateur
Demandez à l'utilisateur de placer un PDF par autorité dans un dossier et de vous indiquer quel dossier. PDF texte uniquement ; si un PDF est un scan sans texte, demandez une version texte.
4. Obtenir les PDF
Demandez l'accès au dossier où le téléchargement a atterri (ou le dossier de l'étape 3a). Décompressez dans un dossier de travail en dehors du dossier Downloads. Faites correspondre chaque PDF à son autorité, et signalez ceux qui ne sont pas revenus.
5. Extraire les passages cités
Les PDF Westlaw marquent les pages par astérisque dans le texte : *688 pour le recueil principal, **2055 et *** pour les recueils parallèles, et *1, *2 pour les citations WL. Supprimez les marqueurs parallèles, divisez le texte sur les marqueurs à astérisque simple, et prenez le texte de chaque page pincitée, ainsi que les derniers centaines de caractères de la page précédente, afin qu'une phrase commençant sur la page antérieure soit lisible en entier. Trouvez la page PDF où chaque marqueur apparaît, pour le lien « ouvrir la source complète » (#page=N). Supprimez les en-têtes et pieds de page. Utilisez le script à la fin de ce fichier. Lorsqu'un pincite n'est pas une page par astérisque (pages de revues de droit, sous-sections de lois, ou PDF provenant d'un autre service), trouvez le passage en recherchant le langage cité ou utilisé.
5a. Citations du dossier (uniquement si l'utilisateur les a choisies)
- À partir de l'exemple de citation de l'utilisateur, déterminez quelle partie de la citation nomme le fichier (un volume, un numéro de document ou de dossier, une annexe) et quel numéro nomme la page (une page de transcription imprimée, une page de dossier tamponnée telle que ROA.1234, une page d'en-tête du tribunal, ou une page d'annexe). Le dossier peut être un fichier ou plusieurs.
- Listez les fichiers du dossier dans le dossier de l'utilisateur et faites correspondre chaque citation à son fichier (par exemple, « Vol. 39 » ou « RR39 » à 39 R.R. ; « ECF 52 » à Dkt. 52 ; un dossier tamponné consécutif pour les citations ROA). Si la correspondance n'est pas claire, montrez votre mappage à l'utilisateur et demandez avant de continuer.
- Lisez uniquement les pages citées. Trouvez chaque page citée par le numéro que la citation utilise, tel qu'il apparaît sur la page elle-même, jamais par le nombre de pages PDF ; les deux correspondent rarement. Lorsqu'une page porte deux numéros (une page d'en-tête du tribunal et la page propre du document, par exemple), et que l'exemple de l'utilisateur ne tranche pas lequel la citation signifie, demandez. Si vous ne trouvez pas le numéro, marquez la citation « à vérifier » et dites-le.
- Pour chaque citation du dossier, enregistrez les deux numéros : le numéro de page que la citation utilise et la page PDF sur laquelle il tombe.
- Liez chaque citation du dossier au fichier où elle se trouve, avec un lien relatif depuis le fichier HTML du viewer vers le fichier du dossier sur l'ordinateur de l'utilisateur, à la page PDF. Par exemple, lorsque le dossier du viewer et le dossier se trouvent tous deux dans Downloads : ../volume.pdf#page=N. Construisez le lien à partir des chemins réels sur l'ordinateur de l'utilisateur (tels qu'ils apparaissent dans la liste des dossiers), jamais à partir de chemins dans votre propre espace de travail. N'utilisez pas d'adresses file:/// complètes ; les navigateurs les refusent souvent. Ne copiez rien dans le dossier du viewer.
- Le dossier doit être des PDF textuels sur l'ordinateur de l'utilisateur. Un fichier stocké uniquement en ligne (un fichier cloud non téléchargé, ou un coffre de documents accessible via un site web) ne peut pas être lié ; dites-le à l'utilisateur.
6. Vérifier chaque citation
Lisez chaque passage par rapport à la phrase qu'il soutient. Attribuez un statut :
- ok — Soutenu. Le passage dit ce que dit la phrase. Toute citation correspond exactement, ou les crochets rendent compte de chaque changement. Utilisez ok, sans extrait, uniquement pour une citation qui nomme une affaire dans son ensemble dans une phrase textuelle, faisant partie de la phrase elle-même, sans reposer sur un passage particulier (Bluebook R. 3.2(a)). Une phrase ou une proposition de citation qui soutient une proposition repose toujours sur un élément spécifique et a besoin d'un pincite, même lorsqu'elle cite plusieurs affaires à la fois. La note d'une citation d'affaire entière indique « Nomme l'affaire dans son ensemble ; pas de pincite nécessaire (Bluebook R. 3.2(a)). »
- check — À vérifier. La citation ne correspond pas, le passage ne soutient qu'une partie de la phrase, le pincite est erroné, ou la phrase décrit la source de manière inexacte. Dites exactement ce qui cloche et donnez la correction (le bon pincite, ou la correction entre crochets).
- pin — Pas de pincite. Une citation à un élément spécifique sans pincite. Montrez la page sur laquelle le texte proche s'appuie. Lorsqu'il n'est pas clair si la phrase repose sur un élément spécifique, utilisez check et dites-le, afin que l'utilisateur décide.
- none — Source non chargée. Tout ce qui n'est pas dans les PDF ou le dossier du dossier. Nommez ce que l'utilisateur devrait ajouter.
Les notes disent uniquement ce que dit la source. Mettez « Inférence : » avant tout ce qui va au-delà. Signalez uniquement les problèmes de fond : une erreur de citation, un mauvais pincite, un attendu exagéré ou mal caractérisé, un fait que la page du dossier ne soutient pas. Ignorez les simples fautes de frappe. Surlignez les mots exactement utilisés dans chaque extrait.
7. Construire la page
Enregistrez un dossier dans le dossier Downloads de l'utilisateur (ou là où il demande), nommé d'après le brouillon plus « cite-viewer » et la date. Il contient :
- le fichier HTML ;
- un dossier sources/ avec les PDF des décisions. (Les fichiers du dossier restent là où ils sont.)
Règles de la page :
- Brouillon à gauche, panneau de passage à droite ; sur un écran étroit, ils s'empilent.
- Une légende en haut donne le nombre pour chaque statut, plus « Texte rouge pointillé = déclaration juridique sans citation. »
- Affichez le texte du brouillon exactement tel qu'écrit.
- Surlignez les passages en bleu clair. Texte aligné à gauche, police serif.
- Fonctionne en mode clair et sombre.
- Cliquer sur une citation affiche le badge de statut, la citation telle qu'écrite, la note, chaque extrait avec son en-tête de page et un lien « Ouvrir la source complète ↗ », puis la boîte de notes.
- Chaque en-tête d'extrait nomme la page dans les deux numérotations, afin que l'utilisateur puisse confirmer la page sans ouvrir le fichier : pour une décision, « 466 U.S. at 694 · PDF page 7 » ; pour le dossier, « 12 R.R. 45 · PDF page 10. »
- Les déclarations juridiques non citées sont également cliquables. En cliquant sur l'une d'elles, on affiche un badge « Aucune citation », la déclaration telle qu'écrite, une note d'une ligne (par exemple, « Énonce une règle juridique ; ajoutez une citation ou supprimez-la »), et la boîte de notes.
Boîte de notes. Sous chaque panneau de signalement (citations et déclarations non citées), une zone de texte intitulée « Votre note (par exemple, la correction souhaitée). » Les notes se sauvegardent automatiquement dans le navigateur pour ce fichier. Encapsulez chaque sauvegarde et chargement dans try/catch, afin que la page fonctionne même si le navigateur bloque le stockage. Un signalement avec une note reçoit un petit point dans le brouillon. Un bouton « Copier toutes les notes » en haut copie chaque note sous forme de liste numérotée dans l'ordre du brouillon, chaque ligne commençant par la citation telle qu'écrite (ou « Non cité : » et les premiers mots de la déclaration), afin que l'utilisateur puisse coller la liste dans Claude ou la conserver à côté de Word. Dites une fois à l'utilisateur que les notes ne vivent que dans ce navigateur sur cet ordinateur ; la liste copiée est la copie de sécurité.
8. Vérifier la page
Ouvrez la page et cliquez sur au moins une citation de chaque statut, et une déclaration non citée. Confirmez que les extraits affichent le langage surligné et les deux numéros de page, que la note se trouve en haut du panneau, que chaque signalement a une boîte de notes, et que « Copier toutes les notes » fonctionne.
Les liens vers le dossier nécessitent une vérification séparée, car vous ne pouvez pas cliquer sur un lien sur l'ordinateur de l'utilisateur. Pour chaque lien vers le dossier, déterminez où il pointe depuis le fichier HTML du viewer sur l'ordinateur de l'utilisateur et confirmez, en listant ce dossier, que le fichier s'y trouve. Demandez ensuite à l'utilisateur de cliquer sur un lien vers le dossier et de vous dire s'il s'est ouvert à la bonne page. Tant qu'il n'a pas confirmé, ne rapportez pas les liens vers le dossier comme fonctionnant ; rapportez-les comme « liés, pas encore confirmés. »
9. Rapport
Court, point le plus fort en premier :
- Où se trouve le dossier et comment ouvrir le viewer : « Ouvrez le viewer dans Google Chrome (clic droit sur le fichier HTML, choisissez Ouvrir avec, puis Google Chrome). L'auteur l'a testé sur un Mac avec Chrome, et cela fonctionne. Safari bloque les liens vers le dossier. L'auteur a testé les liens vers le dossier avec des citations de dossier de type Texas (12 R.R. 41) mais pas encore avec d'autres formats. L'auteur ne l'a pas testé sur un PC Windows. Chrome devrait également y fonctionner, et Microsoft Edge peut-être, mais l'auteur n'a essayé ni l'un ni l'autre. »
- Comptes par statut.
- Chaque élément « à vérifier » en une ou deux lignes, avec sa correction.
- Les citations sans pincite, les déclarations non citées, les sources non chargées ou rejetées, et tous les fichiers du dossier qui n'ont pas pu être liés.
- Si les liens vers le dossier sont confirmés (voir étape 8).
- Deux façons de travailler : discuter de chaque signalement avec Claude, qui tient une liste et apporte les modifications après l'approbation de l'utilisateur ; ou travailler dans Word avec le viewer ouvert à côté, en tapant les corrections dans les boîtes de notes. Dites que « Copier toutes les notes » est un bouton dans le viewer que seul l'utilisateur peut presser, et qu'il peut coller la liste copiée dans ce chat.
Script
star_extract.py : étant donné un PDF et une liste de pages par astérisque, il retourne le texte de chaque page, la fin de la page précédente et la page PDF où chaque marqueur apparaît.
import re, subprocess, sys, json
def pdf_pages(pdf):
info = subprocess.run(['pdfinfo', pdf], capture_output=True, text=True).stdout
n = int(re.search(r'Pages:\s+(\d+)', info).group(1))
return [subprocess.run(['pdftotext', '-f', str(i), '-l', str(i), pdf, '-'],
capture_output=True, text=True).stdout for i in range(1, n + 1)]
def clean(t):
t = re.sub(r'WESTLAW\s*©.*?For Educational Use Only[^\n]*\n', '', t, flags=re.S)
t = re.sub(r'\*\*\*?\d+\s?', '', t) # supprimer les marqueurs de recueils parallèles
t = re.sub(r'-\n(?=[a-z])', '', t)
return re.sub(r'\s+', ' ', t)
def segments(pages):
parts
…
[tronqué pour la traduction]