Guide
Comment utiliser Capacitor+ Core dans Capacitor
Utiliser les packages Capacitor+ (@capacitor-plus)
Capacitor+ est un fork automatisé et toujours synchronisé de Capacitor maintenu par Capgo. Il remplace directement les packages Capacitor officiels avec un avantage majeur : community PRs and fixes are merged faster.
Pourquoi Capacitor+ existe
L'équipe Ionic maintient Capacitor selon ses propres priorités et son calendrier de release. Cela signifie que les contributions de la communauté — correctifs de bugs, améliorations et fonctionnalités — peuvent attendre des mois, voire des années, avant d'être fusionnées. Certaines ne sont jamais intégrées.
Capacitor+ résout ce problème en :
- Fusionnant les PR des forks - Les PR précieuses bloquées dans la file d'attente upstream sont fusionnées activement
- Synchronisation continue - Chaque changement provenant de Capacitor upstream est automatiquement récupéré, testé et vérifié
- Releases rapides - Lorsque les changements passent la CI, ils sont automatiquement publiés sur npm sous le
@capacitor-plusportée - Community-First - Vos contributions comptent et sont prioritaires
- Sécurité vérifiée - Chaque changement est analysé par IA pour détecter les vulnérabilités, les breaking changes et les risques de stabilité
Packages disponibles
| Package | Description |
|---|---|
@capacitor-plus/core |
Bibliothèque runtime principale |
@capacitor-plus/cli |
Interface en ligne de commande |
@capacitor-plus/android |
Runtime Android |
@capacitor-plus/ios |
Runtime iOS |
Installation
Nouveau projet
Pour un nouveau projet, utilisez simplement les packages Capacitor+ au lieu des officiels :
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # for Android
npm install @capacitor-plus/ios # for iOS
Ensuite, initialisez votre projet :
npx cap init
npx cap add android
npx cap add ios
Migration depuis Capacitor officiel
Pour migrer un projet existant de Capacitor vers Capacitor+ :
# Remove official packages
npm uninstall @capacitor/core @capacitor/cli @capacitor/android @capacitor/ios
# Install Capacitor+ packages
npm install @capacitor-plus/core @capacitor-plus/cli
npm install @capacitor-plus/android # if using Android
npm install @capacitor-plus/ios # if using iOS
Comme Capacitor+ est un remplacement direct avec le même API, aucun changement de code n'est requis. Vos imports restent identiques :
// These imports work the same with Capacitor+
import { Capacitor } from '@capacitor/core';
import { registerPlugin } from '@capacitor/core';
Comment ça marche
┌─────────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ ionic-team/ │ │ CI/CD │ │ Claude Code │ │ npm publish │
│ capacitor │────▶│ Pipeline │────▶│ Security Review │────▶│ @capacitor-plus│
│ (upstream) │ │ (daily sync) │ │ (AI analysis) │ │ packages │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Sync quotidienne : Une action GitHub récupère les derniers changements de
ionic-team/capacitor - Création de PR : Les changements sont proposés sous forme de pull requests vers le
plusbranche - Validation CI: Exécution de la suite de tests complète (lint, tests unitaires, build iOS, build Android)
- Revue Claude Code: Analyse de sécurité complète par IA vérifiant :
- Les vulnérabilités de sécurité (injection, XSS, etc.)
- Les changements API cassants
- Les risques de crash et problèmes de stabilité
- L'intégrité des données et la confidentialité
- Les patterns code malveillants
- Auto-merge: Uniquement si la CI réussit ET si Claude approuve (aucun problème détecté)
- Auto-Publish: Une nouvelle version est publiée sur npm sous
@capacitor-plus/*
Revue de sécurité
Chaque synchronisation amont est analysée pour :
| Vérifier | Description |
|---|---|
| Sécurité | Injection de commandes, XSS, path traversal, secrets codés en dur, etc. |
| Breaking changes | API supprimées ou renommées, signatures modifiées, changements de format de config |
| Stabilité | Déréférencements de null, exceptions non gérées, race conditions, fuites de mémoire |
| Data Safety | Scénarios de perte de données, atteintes à la vie privée, stockage non sécurisé |
| Intégrité de l'Code | code obfusqué, appels réseau suspects, backdoors |
Si des problèmes sont détectés, la PR est signalée pour une revue manuelle et ne sera PAS fusionnée automatiquement.
Vous voulez que votre PR soit fusionnée ?
Une PR est bloquée dans le repo officiel de Capacitor ? Voici comment l'intégrer à Capacitor+ :
- Ouvrir une issue dans l' Repo Capacitor+ faisant le lien avec votre PR upstream
- Ou soumettez directement la PR aux
plusbranche - L'équipe l'examinera, lancera la CI et la mergera si elle passe
Ainsi, vous et d'autres pouvez bénéficier de votre travail immédiatement, sans attendre le cycle de release upstream.
Avantages
- Récupérez les PR bloquées maintenantLes correctifs et fonctionnalités de la communauté en attente côté upstream sont mergés
- Restez à jourRecevez les correctifs upstream dès qu'ils passent la CI
- La sécurité d'abordChaque modification est examinée pour détecter d'éventuelles vulnérabilités ou risques de stabilité
- Releases vérifiées: Seuls les changements validés par les tests CI ET la revue de sécurité IA sont publiés
- Remplacement direct: Même API que Capacitor, avec un scope de package différent
- Votre avis compte: Soumettez vos propres PR ou demandez la fusion de PR upstream spécifiques
Exemple : Utiliser Capacitor+ avec des plugins
Tous les plugins Capacitor officiels fonctionnent parfaitement avec Capacitor+ :
import { Capacitor } from '@capacitor/core';
import { Camera, CameraResultType } from '@capacitor/camera';
import { Geolocation } from '@capacitor/geolocation';
// Everything works exactly the same
const platform = Capacitor.getPlatform();
const photo = await Camera.getPhoto({
resultType: CameraResultType.Uri
});
const position = await Geolocation.getCurrentPosition();
Les plugins Capgo fonctionnent aussi parfaitement avec Capacitor+ :
import { CapacitorUpdater } from '@capgo/capacitor-updater';
import { ScreenOrientation } from '@capgo/capacitor-screen-orientation';
// Use Capgo plugins with Capacitor+
await CapacitorUpdater.notifyAppReady();
await ScreenOrientation.lock({ orientation: 'portrait' });
Et voilà ! Vous disposez désormais d'une version de Capacitor mise à jour plus rapidement, avec des améliorations communautaires fusionnées plus vite. Vos apps bénéficieront de correctifs et de fonctionnalités sans attendre le cycle de release officiel.
Continuer avec l'utilisation des packages Capacitor+ (@capacitor-plus)
Si vous utilisez Utiliser les packages Capacitor+ (@capacitor-plus) pour planifier le travail sur les plugins natifs, connectez-l’à Capacitor+ pour les détails d'implémentation dans Capacitor+, Capgo Répertoire des plugins pour le workflow produit dans Capgo Plugin Directory, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajout ou mise à jour de plugins, et Alternatives aux plugins Ionic Enterprise pour le workflow produit dans Alternatives aux plugins Ionic Enterprise.