*p5.brush
p5.js 환경에서 자연스러운 텍스처를 탐구하는 아티스트·디자이너·취미자를 위한 다목적 라이브러리
모든 사이트에서 프랑스어·영어 맞춤법·문법을 무료로 교정해 주는 확장 프로그램, 계정 없이 100% 로컬
Extension gratuite qui corrige l’orthographe et la grammaire en français et en anglais sur tous les sites : e-mails, réseaux sociaux, formulaires. Libre, sans compte, 100 % locale.
플러그인JavaScript · HTMLGitHub @BenjiBurn온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Free extension to correct in your inputs
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Correcteur d’orthographe et de grammaire libre, gratuit et 100 % local pour le navigateur. FreeCorrector souligne les fautes directement dans les champs de texte des sites web, comme le font les correcteurs du commerce, mais sans abonnement, sans compte et sans envoyer une seule ligne de vos textes sur Internet : toute l’analyse tourne dans votre navigateur. ➜ Installer FreeCorrector pour Firefox (addons.mozilla.org) · Site officiel : lapigeonnerie.fr/freecorrectorREADME 전문 보기 ↗
Correcteur d’orthographe et de grammaire libre, gratuit et 100 % local pour le navigateur.
FreeCorrector souligne les fautes directement dans les champs de texte des sites web, comme le font les correcteurs du commerce, mais sans abonnement, sans compte et sans envoyer une seule ligne de vos textes sur Internet : toute l’analyse tourne dans votre navigateur.
➜ Installer FreeCorrector pour Firefox (addons.mozilla.org) · ➜ pour Chrome, Edge et Brave (Chrome Web Store) · ➜ pour Thunderbird (addons.thunderbird.net) · Site officiel : lapigeonnerie.fr/freecorrector
<textarea>, les champs texte et les éditeurs riches
(contenteditable : Gmail, Outlook, Discord, Notion…)
connect-src 'self')
interdit au navigateur toute requête vers Internet depuis l’extensionLes moteurs de correction sont Grammalecte, le correcteur grammatical libre de référence pour le français, et Harper pour l’anglais (WebAssembly). FreeCorrector ajoute par-dessus ses propres règles et son classement des suggestions.
| Navigateur | Paquet | Store |
|---|---|---|
| Firefox 140+ | dist/freecorrector-<version>-firefox.zip | addons.mozilla.org ✅ publié |
| Chrome, Edge, Brave, Vivaldi (116+) | dist/freecorrector-<version>-chromium.zip | Chrome Web Store ✅ publié |
| Opera | dist/freecorrector-<version>-chromium.zip | Opera add-ons (en cours de validation) |
| Thunderbird 140+ (fenêtre de rédaction) | dist/freecorrector-<version>-thunderbird.zip | addons.thunderbird.net ✅ publié |
| Safari | à convertir sur macOS avec Xcode (xcrun safari-web-extension-converter dist/chromium) | App Store |
Les paquets se construisent avec Node.js (aucune dépendance) :
npm run build # ou : node scripts/build.js [firefox|thunderbird|chromium]
Sous Chromium, l’arrière-plan d’une extension MV3 est un service worker, qui ne peut pas lancer
de Web Worker : le moteur y tourne dans un document hors écran (src/chromium/). Sous Firefox, il
tourne directement dans la page d’arrière-plan. Le reste du code est commun.
Thunderbird reprend l’arrière-plan de Firefox. Il n’y a pas de pages web à corriger : les scripts
de contenu sont enregistrés dans la fenêtre de rédaction des messages (src/thunderbird/). Là,
le calque des soulignements vit dans une shadow root du <body> : Thunderbird envoie tout le
document, y compris ce qui suit <body>, mais jamais le contenu d’une shadow root. La citation
d’une réponse, la ligne « X a écrit : » et la signature ne sont pas corrigées.
Firefox (140 ou plus récent) :
about:debugging#/runtime/this-firefoxsrc/manifest.json (ou dist/firefox/manifest.json)Le module reste chargé jusqu’à la fermeture de Firefox. Après une modification du code, cliquer
sur Recharger dans about:debugging.
Chrome, Edge, Brave, Opera, Vivaldi :
npm run buildchrome://extensions (ou edge://extensions, brave://extensions…)dist/chromiumThunderbird (140 ou plus récent) :
node scripts/build.js thunderbirddist/thunderbird/manifest.jsonEnsuite, cliquer sur l’icône FreeCorrector puis Page de test, ou aller sur n’importe quel
site et cliquer dans un champ de texte. Les fichiers locaux (file://) ne sont pas corrigés :
les navigateurs n’y injectent pas les extensions par défaut.
Avec Node.js, web-ext permet de lancer un Firefox de test
qui recharge l’extension automatiquement, et de valider le paquet Firefox :
npx web-ext run --source-dir src
npx web-ext lint --source-dir dist/firefox
src/
manifest.json Manifest V3 (base Firefox ; adapté pour Chromium au build)
background.js Arrière-plan Firefox
chromium/ Arrière-plan Chromium : service worker + document hors écran
thunderbird/compose.js Thunderbird : scripts de contenu dans la fenêtre de rédaction
engine/
host.js Pilote les moteurs (workers), répartit les paragraphes par langue
language.js Détection français / anglais par paragraphe
english.js Moteur anglais (Harper) : conversion, classement, règles
english-rules.js Règles maison anglaises (your/you're, loose/lose, contractions…)
english-worker.js Worker (module ES) du moteur anglais
grammalecte-worker.js Fait tourner Grammalecte dans un Web Worker
suggestions.js Reclasse les suggestions selon le contexte
rules.js Règles maison : homophones et accords que Grammalecte rate
sentence-rules.js Majuscule en début et ponctuation en fin de phrase
data/ Fréquence des 50 000 mots français et anglais les plus courants
content/ Scripts injectés dans les pages
field.js Base commune des champs + textarea/input (calque miroir)
rich-field.js Éditeurs riches contenteditable (soulignements par Range)
ui.js Shadow DOM : bulle de suggestions et panneau des fautes
styles.js CSS du shadow DOM
main.js Détection des champs, réglages
popup/ Menu de la barre d’outils
options/ Page d’options
lib/ Réglages et styles partagés
editor/ Page « Correcteur » : grande zone de texte et liste des fautes
demo/demo.html Page de test avec des fautes (développement uniquement : absente des
paquets publiés, le bouton du menu n’apparaît qu’en développement)
vendor/grammalecte/ Moteur Grammalecte 2.3.0 (sous-ensemble non modifié)
vendor/harper/ Moteur Harper 2.10.0 (harper.js, binaire WebAssembly)
scripts/build.js Construit dist/firefox, dist/thunderbird et dist/chromium (+ zips pour les stores)
tests/
run.js Fait tourner le moteur sous Node et le note sur les corpus
fr-corpus.js Corpus de fautes courantes (homophones, accords, accents…)
fr-holdout.js Second corpus, pour vérifier que les réglages se généralisent
en-corpus.js Corpus de fautes anglaises courantes
fr-blind.js, en-holdout.js Corpus écrits après les réglages, pour une mesure honnête
fr-blind2-4.js, en-blind2-4.js Corpus écrits avant chaque nouvelle passe de réglages
clean-messages.js Messages du quotidien corrects : aucune alerte ne doit sortir
stress.mjs Textes extrêmes : pas de plantage, pas de lenteur
Le script de contenu s’attache à chaque champ texte que l’utilisateur sélectionne. Il superpose au
champ un « miroir » : une copie transparente du texte, avec la même police, les mêmes marges et le
même défilement, dans laquelle chaque faute est entourée d’un <span> souligné. Le texte du champ
reste intact, le miroir ne capte pas la souris. Tout vit dans un shadow DOM fermé, donc le CSS des
sites ne le touche pas.
Après une pause de frappe (600 ms), le texte est envoyé au script d’arrière-plan, qui le transmet à Grammalecte dans un Web Worker. Les positions renvoyées (en indices UTF-16) correspondent directement à la valeur du champ. Pendant la frappe, les soulignements existants sont décalés plutôt qu’effacés, pour éviter le clignotement.
Les suggestions sont ensuite reclassées selon le contexte (src/engine/suggestions.js). Chaque
candidat est remis dans la phrase, où les fautes précédentes sont déjà corrigées, et la phrase
est revérifiée. Les candidats qui ne laissent plus de faute passent en tête, puis ceux qui se
prononcent comme le mot tapé. Pour les verbes, les formes homophones sont ajoutées aux
candidats : « je vien te parlé » donne « viens », puis « parler », et « il faut que tu vien »
donne « viennes ». Une faute qui n'existait qu'à cause d'une faute précédente n'est plus
signalée : dans « il ma dit », seul « ma » est souligné.
Deux règles de phrase complètent Grammalecte (src/engine/sentence-rules.js). La première
signale un paragraphe qui commence par une minuscule. La seconde signale un paragraphe d'au moins
trois mots sans ponctuation finale, et propose « . », « ! » ou « ? », avec « ? » en premier pour
une question. Le point manquant n'est pas signalé tant que le curseur est en fin de phrase,
pour ne pas gêner la frappe. Ces deux règles ne s'appliquent jamais aux champs de recherche, et
une option permet de les désactiver.
Les corrections passent par document.execCommand("insertText"), ce qui conserve l’historique
d’annulation (Ctrl+Z) et déclenche un vrai évènement input, compris par React, Vue, etc.
npm test (ou node tests/run.js) fait tourner le vrai moteur sur les corpus et affiche le taux
de fautes détectées, le taux de bonnes suggestions en première position et les fausses alertes
sur des phrases correctes. À lancer après chaque modification du moteur.
npm run stress (ou node tests/stress.mjs) soumet aux deux moteurs des textes extrêmes (émojis,
code, URL, paragraphe de 28 000 caractères, mot de 5 000 lettres, Unicode exotique) et vérifie
qu'aucun ne plante, ne place mal un soulignement ou ne dépasse son budget de temps.
node tests/lang.js vérifie la détection de la langue sur des textes courts : titres de tickets
en anglais sans mot outil (« Bodies list incoherent display »), français plein d'anglicismes.
contenteditable (Gmail, Outlook, Discord, Notion, éditeurs Quill, ProseMirror…)Créé par BenjiBurn.
FreeCorrector est un logiciel libre distribué sous licence GNU GPL v3 (voir LICENSE).
Il intègre Grammalecte © Olivier R., également sous GPL v3, sans modification
(src/vendor/grammalecte/), Harper © Automattic sous licence Apache 2.0 (src/vendor/harper/),
et la liste de fréquence
FrequencyWords de Hermit Dave, sous licence
CC BY-SA 4.0 (src/data/).