WP Manifestindependent plugin directory
manifest / ai / polypress

Polypress WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

Automated RSS-to-WordPress pipeline with AI translation (Claude API). Fetches articles from any feed, translates them into French, optimizes SEO via Yoast, and publishes with images — fully configurable, multi-source ready, with debug logs and CI/CD.

★ 0stars
15release downloads
v1.3.4latest · 6mo ago

Install

Download polypress-1.3.4.zip From the v1.3.4 release on GitHub, Apr 11, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/digimarket84/polypress/releases/download/v1.3.4/polypress-1.3.4.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

Plugin WordPress d'automatisation RSS → traduction IA → publication — multi-source, configurable, prêt pour la production.


Présentation

Polypress surveille un flux Atom/RSS, traduit automatiquement chaque nouvel article de l'anglais vers le français grâce à l'API Claude (Anthropic), optimise le SEO via Yoast, télécharge les images dans la médiathèque WordPress, et publie directement — sans intervention manuelle.

Conçu initialement pour traduire les release notes Home Assistant sur GeekLabo.fr, il est architecturé pour devenir multi-source et entièrement paramétrable.


Fonctionnalités

Fonctionnalité Détail
🔄 Surveillance cron Toutes les 6h (configurable : 1h → 24h)
🤖 Traduction IA Claude Opus / Sonnet / Haiku via l'API Anthropic
🖼 Images locales Téléchargement automatique dans la médiathèque WP
🔍 SEO automatique meta_title, meta_description, slug, focus_keyword, tags via Yoast
🔗 Lien source Ajout automatique de l'article original (EN) en bas de page
⏩ Rattrapage Traitement manuel des articles historiques
🐛 Logs multi-niveaux DEBUG / INFO / WARNING / ERROR avec rotation à 5 Mo
🔒 Sécurité SSRF, CSRF, rate limiting, chiffrement clé API (libsodium)
🔧 Onglet Avancé Modèle, catégories, intervalle cron, URL source — tout configurable depuis l'admin

Installation

1. Clé API Claude

Créez votre clé sur console.anthropic.com → API Keys → Create Key.

2. Configuration WordPress

Ajoutez dans votre wp-config.php (avant /* That's all, stop editing! */) :

// Polypress — obligatoire
define('POLYPRESS_CLAUDE_API_KEY', 'sk-ant-api03-...');

// Optionnel — debug
define('POLYPRESS_DEBUG', true);
define('POLYPRESS_LOG_LEVEL', 1); // 0=DEBUG 1=INFO 2=WARNING 3=ERROR

// Optionnel — surcharger le modèle Claude
define('POLYPRESS_CLAUDE_MODEL', 'claude-opus-4-5');

Sécurité : la clé API ne doit jamais être stockée dans la base de données ni commitée dans Git. La définir dans wp-config.php la garde hors d'atteinte du code versionnés.

3. Installation du plugin

Via GitHub Releases (recommandé) :

  1. Téléchargez polypress-x.x.x.zip depuis la page Releases
  2. WordPress Admin → Extensions → Ajouter → Téléverser une extension
  3. Sélectionnez le ZIP → Installer maintenant → Activer

Via Git (développement) :

cd /var/www/html/wp-content/plugins/
git clone https://github.com/digimarket84/Polypress.git polypress

Utilisation

Premier démarrage

Après activation, rendez-vous sur Réglages → Polypress :

  1. Onglet Réglages : vérifiez que l'API Claude est marquée ✅
  2. Onglet Avancé : configurez les catégories WordPress cibles, le modèle Claude, l'intervalle cron
  3. Cliquez ⏩ Rattraper les articles 2026 pour traiter les releases historiques

Fonctionnement automatique

Le cron WordPress vérifie le flux toutes les 6h (par défaut). Chaque nouvelle release est :

  1. Récupérée depuis le flux Atom
  2. Traduite EN→FR (Claude)
  3. Optimisée SEO (Claude)
  4. Images téléchargées dans la médiathèque
  5. Publiée directement (statut publish)

Configuration avancée

Tout est accessible depuis Réglages → Polypress → 🔧 Avancé :

Paramètre Défaut Description
Modèle Claude claude-opus-4-5 Surchargeble via POLYPRESS_CLAUDE_MODEL
Niveau de log INFO Surchargeble via POLYPRESS_LOG_LEVEL
Intervalle cron 6h Toutes les 1h / 2h / 3h / 6h / 12h / 24h
Catégorie principale ID 2 Dropdown des catégories WP
Catégorie secondaire ID 4 Dropdown des catégories WP
URL flux Atom HA Blog Modifiable → adapte automatiquement la protection SSRF
Articles max / passage 3 Limite pour éviter les timeouts PHP

Priorité des réglages

wp-config.php constant  >  BDD (onglet Avancé)  >  valeur par défaut

Architecture

polypress/
├── polypress.php                            ← Point d'entrée, hooks, cron
├── uninstall.php                            ← Nettoyage complet
├── includes/
│   ├── class-polypress-pipeline.php         ← Orchestration du pipeline
│   ├── class-polypress-feed-fetcher.php     ← Fetch + parse Atom/RSS
│   ├── class-polypress-translator.php       ← API Claude (traduction + SEO)
│   ├── class-polypress-image-handler.php    ← Images → médiathèque WP
│   ├── class-polypress-publisher.php        ← wp_insert_post + Yoast + tags
│   └── class-polypress-logger.php           ← Logs multi-niveaux + rotation
├── admin/
│   ├── class-polypress-admin.php            ← Menu, settings, AJAX handlers
│   ├── settings-page.php                    ← Template admin (3 onglets)
│   └── assets/
│       ├── admin.css
│       └── admin.js
└── .github/
    └── workflows/
        ├── ci.yml                           ← Lint, PHPCS, PHPStan, sécurité
        └── release.yml                      ← ZIP + GitHub Release automatique

Pipeline de traitement

Flux Atom ──┐
            ├──► Filtrage release notes
Scraping ───┘    └──► Déduplication (URLs traitées)
                          │
                          ▼
                   wp_kses() sanitisation
                          │
                          ▼
                  [Claude #1] Traduction EN→FR
                          │
                          ▼
                  [Claude #2] JSON SEO (slug, meta, tags)
                          │
                          ▼
                  Téléchargement images → médiathèque
                          │
                          ▼
                  wp_insert_post (status: publish)
                  + Yoast meta + tags + featured image
                          │
                          ▼
                  polypress_processed_urls mise à jour

Sécurité

Menace Mesure
Injection via contenu externe wp_kses() avant Claude, wp_kses_post() avant BDD
SSRF Whitelist de domaines + wp_safe_remote_get() uniquement
CSRF check_ajax_referer() sur tous les handlers AJAX
Clé API exposée Jamais loggée, jamais affichée, stockée chiffrée (libsodium)
Abus déclenchement manuel Rate limit 3 requêtes/heure par user+IP (transients)
Upload images malveillantes Double validation MIME : wp_check_filetype() + finfo_file()

CI/CD

Workflow ci.yml (push/PR sur main ou develop)

  • PHP Lint sur PHP 7.4, 8.0, 8.1, 8.2
  • PHPCS selon les WordPress Coding Standards
  • PHPStan niveau 3
  • Scan anti-secrets (sk-ant- hardcodés)
  • PHPUnit

Workflow release.yml (push tag v*.*.*)

git tag v1.1.0
git push origin v1.1.0

→ Crée automatiquement polypress-1.1.0.zip et publie la GitHub Release.


Développement local

# Dépendances
composer install

# Lint PHP
find . -name "*.php" -not -path "./vendor/*" | xargs php -l

# PHPCS
./vendor/bin/phpcs --standard=WordPress --extensions=php .

# PHPStan
./vendor/bin/phpstan analyse --level=3 polypress.php includes/ admin/

# Tests
./vendor/bin/phpunit

Roadmap

  • [ ] Support multi-sources (plusieurs flux configurables)
  • [ ] Interface de gestion des catchup URLs
  • [ ] Prévisualisation avant publication (mode draft optionnel)
  • [ ] Support d'autres langues cibles
  • [ ] Webhook au lieu du cron (pour les sources qui le supportent)
  • [ ] Compatibilité RankMath en plus de Yoast SEO

Licence

GNU General Public License v3.0 — voir LICENSE

Copyright © 2026 Guillaume JEUDY


Crédits

Releases

10 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
v1.3.4 latest
Apr 11, 2026 6mo ago
polypress-1.3.4.zip
8
Apr 10, 2026 6mo ago
polypress-1.3.3.zip
3
Apr 10, 2026 6mo ago
polypress-1.3.2.zip
1
Apr 10, 2026 6mo ago
polypress-1.3.1.zip
0
Apr 10, 2026 6mo ago
polypress-1.3.0.zip
1
Apr 10, 2026 6mo ago
polypress-1.2.1.zip
0
Apr 10, 2026 6mo ago
polypress-1.2.0.zip
1
Apr 10, 2026 6mo ago
polypress-1.1.1.zip
0
Apr 10, 2026 6mo ago
polypress-1.1.0.zip
1
Apr 10, 2026 6mo ago
polypress-1.0.0.zip
0
A grade

Security

Polypress 1.3.4 · audited by WP Registry

No security issues found.

Audited release
1.3.4
Findings
none
Worst severity
—
Content hash
91abbbd77bc39af7efd0ad69…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.