Repository navigation
Releases: Atelier-4F-digital/coquille-revue
Releases · Atelier-4F-digital/coquille-revue
Release list
Coquille Revue 2.6.0
Breaking changes
- WP-CLI in English, with no alias for the 2.5.0 names (WP-CLI refuses unknown options):
applyoptions:--toutes→--all,--ignorer-alertes→--alerts-reviewed,--texte=<fichier>→--text-file=<file>,--champ=<champ>→--field=<field>.locateoutput:present_sur_la_page→found_on_page,alertes→alerts; inoccurrences,champ→field,nombre→count,forme→form,ligne→line,modifiable→writable, typefichier→file, formsexacte→exact,typographie simplifiée→straight_quotes,insécables en →nbsp_entity.applyreport:applique→applied,champ→field,forme→form,avant→before,apres→after.- Help texts and messages are in English, and never translated.
- JSON export (admin button and
wp coquille-revue list):_avertissement→_warning,alertes→alerts. Alerts are fixed codes:web_address,code_or_command,invisible_characters,mixed_scripts,instruction_or_authority,long_addition,added_symbols,unreadable_text, still followed by the code points involved (invisible_characters (U+200B),added_symbols (U+0022)). Thesourcevalues are codes:logged_in_user,registered_unverified(a logged-in account without a role on the site),anonymous_unverified. - Markdown export: the instructions for Claude Code, the introduction and the data block are in English and never translated (
author:instead ofauteur:, area linezone: x=… y=… width=… height=…); each annotation heading shows its type, mode and source codes. The title, the date line and the footer are in fixed English too: the whole file is never translated. - Rules for Claude Code (exports): rewritten in English, never translated, so that a translation can never weaken them.
- Claude Code plugin 2.6.0:
/coquille-revue:apply-reviewis in English (it answers in the user's language) and stops when the export comes from a WordPress plugin older than 2.6.0 (no_meta.plugin_versionkey, or noalertskey). Update the WordPress plugin and the Claude Code plugin together. - Stored values: an anonymous visitor who gives no name is stored with an empty author name (it was
Anonyme), shown as “Anonymous” in the language of the screen; the database upgrade emptiesAnonymeon existing rows of visitors. The original text recorded for an area without text is(zone without text)(it was(zone sans texte direct)). - Public credit off by default: the “plugin by Atelier 4F Digital” link is no longer shown in the visitors' review bar, and pages no longer carry an HTML comment with the plugin name and version. A per-site setting (off by default) shows the credit in the information popover of the pencil button; the credit stays on the admin page and in the exports and README files.
- WordPress 6.2 minimum (it was 5.8): every SQL query passes the table name through the
%iplaceholder of$wpdb->prepare(), introduced in that version. - Keyboard shortcut: Ctrl+Shift+R (the browser's hard reload) is no longer taken over. Review mode is toggled with Alt+Shift+C (Option+Shift+C on Mac), for logged-in users only, and never while typing in a field.
- REST API: the
platformfield, ignored by the server, is no longer declared nor sent by the script (an older script that still sends it is accepted). Every field is validated (type, length, allowed values) before it is sanitized: a value of the wrong type (an array instead of a string, for example) gets a 400 error instead of crashing PHP; a field that is too long gets 400, no longer 413. The original text and the suggestion must be at least 2 characters long.PATCH /annotation/{id}/statusrequires thestatusparameter (it defaulted toapplied).GET /annotationsis paginated:per_page(at most 100, 100 by default) andpage, with the totals in theX-WP-TotalandX-WP-TotalPagesheaders. Itscreated_atandapplied_atfields are in the site time zone, like the exports (they were the raw database value), and the newcreated_at_gmtandapplied_at_gmtfields give them in UTC, likedateanddate_gmtin the WordPress API. - WP-CLI
apply --type=optiononly changes text options of the site:blogname,blogdescription,widget_*,theme_mods_*,options_*(ACF), a list that thecoquille_revue_cli_writable_optionsfilter can extend.locatetells for each option whether it iswritable.locateandapplyrefuse an original text shorter than 2 characters. - Thank-you email: a generic message, with none of the text typed by the visitor (no name, title or excerpt), with the date, the site name and a link to the home page. The sender is the WordPress one (
wp_mail_fromandwp_mail_from_namefilters): no moreFromorReply-Toset to the administrator's address. - Injection test kit renamed:
tests/injection/insert-cases.php,export-cases.php,delete-cases.phpandcases.json(keyscategory,expectedandlanguage).
Added
- Translation-ready interface: every text shown to visitors and administrators, sent by email or returned by the REST API is an English source string of the
coquille-revuetext domain, loaded oninitfrom thelanguages/folder (Domain Path). The folder ships thecoquille-revue.pottemplate and a complete French translation (.po,.moand.l10n.php). The script's texts are passed in thei18nkey of its configuration block. _meta.plugin_versionkey in the JSON export, read by the Claude Code plugin.- 13 new prompt injection cases in
tests/injection/cases.json(30 cases in all): 11 in English, and 2 (French and English) with an instruction hidden in invisible Unicode “Tag” characters.insert-cases.phpalso publishes a page that holds the original texts, one paragraph block per line written as typed (apostrophes kept, no<br>), and points the annotations to it;delete-cases.phpdeletes it. - Per-site “Thank-you email” setting (on by default) on the admin page, for the site's administrators only. When it is off, visitors are no longer asked for their email, the email is not stored, and the privacy texts are adapted. The
coquille_revue_notify_contributorfilter ($enabled,$row) decides annotation by annotation. - Admin page: 50 annotations per page with pagination, alerts under each suggestion (the same alerts as in the exports for Claude Code), full original text and suggestion on hover, confirmation before “Applied” when a thank-you email is about to be sent. When an annotation is set to “Applied” but its thank-you email is held back by the daily limit, or the site cannot send it, a warning says so instead of “Status updated.”;
wp coquille-revue statussays so too. - Per-site “Credit” setting (off by default), for the site's administrators only. Both site settings (thank-you email and credit) are saved by a single form.
coquille_revue_load_overlayfilter (boolean): returnfalseto keep the review interface off a page.coquille_revue_rate_limitsfilter: an array of positive integers,ip_5min(5 by default),ip_hour(10),site_hour(30) anduser_5min(60); a missing or invalid value keeps its default. The admin page shows the limits in force.- Uninstall: deleting the plugin from the Plugins screen removes the annotations table, the settings and the scheduled tasks, on every site of the network (
uninstall.php). Deactivating keeps everything. readme.txtin English for the WordPress.org directory (description, privacy, FAQ, changelog).- WordPress.org directory assets and demos, in
wporg-assets/(left out of the zip, likedocs/):- an original icon (
icon.svg,icon-128x128.png,icon-256x256.png) and banner (banner.svg,banner-772x250.png,banner-1544x500.png); - five screenshots in English (
screenshot-1.pngtoscreenshot-5.png: the bubble with a correction, the information popover of the pencil, the admin page, the Markdown export for Claude Code, the bubble on a phone), captioned inreadme.txtand shown inREADME.en.md; the same scenes in French indocs/screenshots/fr/, shown inREADME.md; - two Try it in WordPress Playground demos linked from the README files:
blueprints/blueprint.jsoninstalls the latest release, turns on public mode and opens a sample page to review;blueprint-fr.json, linked from the French README, does the same on a site in French with a French sample page.
- an original icon (
- Releases also carry
coquille-revue.zip(fixed name), so thatreleases/latest/download/coquille-revue.zipalways points to the latest version. - Development tools, left out of the zip (see
CONTRIBUTING.md):- Composer development dependencies with exact versions and a lock that installs on PHP 7.4 to 8.4: PHP_CodeSniffer with WordPress Coding Standards 3 and PHPCompatibilityWP, PHPUnit 9.6 and the PHPUnit Polyfills.
phpcs.xml.dist: security, database and WordPress API rules, prefixes, text domain, WordPress 6.2 and PHP 7.4 minimum (0 errors, 0 warnings).- PHPUnit integration tests (
tests/phpunit/) with the WordPress test suite: REST API, personal data, CSV, thank-you email, alerts, Markdown and JSON exports, WP-CLI commands (every refusal ofapply, through a WP-CLI stand-in declared in the test bootstrap), admin actions and page, loading of the files, database upgrade, and site isolation on multisite. Theisolatedgroup (trusted proxy header, uninstall) runs in a pass of its own.bin/install-wp-tests.shinstalls the test suite without svn;bin/test-local.shruns the tests on Windows with the PHP and MySQL of Local, on a dedicated database (it refuses aWP_TESTS_BASEpath with spaces, which the installer does not quote, and writes itsphp.iniat every run). - GitHub Actions (
.github/workflows/ci.yml): PHP syntax from 7.4 to 8.4, PHPCS, JavaScript and shell syntax, PHPUnit (PHP 7.4 with WordPress 6.2, PHP 8.3 w...
Coquille Revue 2.5.0 — première version publique
Première version publique de Coquille Revue : relire un site WordPress directement sur ses pages, puis appliquer les corrections avec Claude Code, avec votre accord.
Installation de l'extension : téléchargez coquille-revue-2.5.0.zip ci-dessous, puis dans WordPress Extensions > Ajouter une extension > Téléverser une extension.
Plugin Claude Code (facultatif) :
claude plugin marketplace add Atelier-4F-digital/coquille-revue
claude plugin install coquille-revue@atelier-4f-digitalPuis /coquille-revue:apply-review --url=https://votre-site.fr dans le dossier du site (WP-CLI requis, aucun mot de passe WordPress).
Points forts
- Bouton crayon sur les pages : sélection de texte ou de zone, correction, suggestion ou question. Mode privé par défaut, mode public avec anti-spam.
- Administration : onglets par statut, exports CSV/JSON/Markdown, e-mail de remerciement au contributeur.
- Multisite cloisonné, droits stricts, données personnelles jamais transmises à Claude Code, conformité RGPD (purges automatiques, outils d'export et d'effacement).
- Commandes WP-CLI
wp coquille-revue list | locate | apply | status: le texte des visiteurs ne passe jamais par une ligne de commande. - Règles anti-injection de prompt éprouvées par un test de 17 annotations piégées (
tests/injection/).
Détails : CHANGELOG.md · English: README.en.md