Guide
Tutoriel sur Capacitor+ Core
Utilisation de Capacitor+ (@capacitor-plus) Packages
Capacitor+ est une branche automatique et toujours synchronisée de Capacitor entretenu par Capgo. Il fournit une substitution directe pour les packages officiels Capacitor avec un avantage clé : Les PR de la communauté et les correctifs sont fusionnés plus rapidement.
Pourquoi Capacitor+ existe
L'équipe Ionic maintient Capacitor avec leurs propres priorités et calendrier de publication. Cela signifie que les contributions de la communauté - corrections de bogues, améliorations et fonctionnalités - peuvent attendre des mois ou même des années pour être fusionnées. Certains ne sont jamais intégrés.
Capacitor+ résout ce problème en :
- Fusionner les PR à partir de Forks - Les PR précieux bloqués dans la file d'attente de l'amont sont fusionnés activement
- Synchronisation continue - Chaque changement de l'amont Capacitor est automatiquement récupéré, testé et vérifié
- Lancements rapides - Lorsque les changements passent par CI, ils sont automatiquement publiés à npm sous l'étendue
@capacitor-plusscope - Communauté d'abord - Vos contributions comptent et sont prioritaires
- Vérifié en matière de sécurité - Chaque modification est analysée par l'IA pour les vulnérabilités de sécurité, les changements de rupture et les risques de stabilité
Packages disponibles
| Package | Description |
|---|---|
@capacitor-plus/core |
Bibliothèque de runtime de base |
@capacitor-plus/cli |
Interface de 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
Initialisez ensuite votre projet :
npx cap init
npx cap add android
npx cap add ios
Migration de l'official Capacitor
Pour migrer un projet existant de l'official 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
Puisque Capacitor+ est un remplacement en un seul coup avec le même API, aucune modification code n'est requise. Vos imports restent les mêmes :
// 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 │
└─────────────────────┘ └──────────────────┘ └──────────────────┘ └─────────────────┘
- Synchronisation quotidienne : Une action GitHub récupère les dernières modifications depuis
ionic-team/capacitor - Création de PR : Les modifications sont proposées sous forme de demandes de tirage vers le
plusbranche - Vérification CI: Exécution complète du jeu de tests (lint, tests unitaires, build iOS, build Android)
- Claude Code Review: Analyse de sécurité approchée par l'IA qui vérifie :
- Vulnérabilités de sécurité (injection, XSS, etc.)
- Changements API brisants
- Risques de plantage et problèmes de stabilité
- Préoccupations concernant l'intégrité et la confidentialité des données
- Modèles code malveillants
- Auto-Merge: Seulement si CI passe ET Claude approuve (aucun problème détecté)
- Auto-Publish: Une nouvelle version est publiée sur npm sous
@capacitor-plus/*
Révision de la sécurité
Tout synchronisme upstream est analysé pour :
| Vérifier | Description |
|---|---|
| Sécurité | context : Page/zone : Page de produit/taux d'entreprise. Rôle : Étiquette de l'IHM. Vu dans : page enterprise.astro. Clé de message `enterprise_hero_security_label` (Étiquette de sécurité de l'héros de l'entreprise). |
| Injection de commande, XSS, parcours de chemin, secrets de code durcis, etc. | Changements de rupture |
| APIs supprimées/renommées, signatures modifiées, changements de format de configuration | Stabilité |
| context : Page/zone : Page de produit/taux d'entreprise. Rôle : Étiquette de l'IHM. Vu dans : page enterprise.astro. Clé de message `enterprise_hero_stability_label` (Étiquette de stabilité de l'héros de l'entreprise). | Scénarios de perte de données, violations de la vie privée, stockage non sécurisé |
| Code Intégrité | Stockage code obscurci, appels réseau suspects, backdoors |
Si des problèmes sont détectés, le PR est signalé pour une revue manuelle et ne sera PAS fusionné automatiquement.
Voulez-vous que votre PR soit fusionné ?
Avez-vous un PR bloqué dans le dépôt officiel Capacitor ? Voici comment le faire passer dans Capacitor+ :
- Ouvrez une issue dans le Capacitor+ dépôt en faisant référence à votre PR upstream
- Ou soumettez le PR directement au
plusbranch - Lequipe la reviendra, exécutera la CI et la fusionnera si elle passe
C'est ainsi que vous et les autres pouvez bénéficier de votre travail immédiatement, sans attendre le cycle de publication upstream.
Avantages
- contextPage/zone : page de marketing des solutions Capgo. Rôle : étiquette UI. Vu dans : page solutions/cordova-to-capacitor.astro. Clé de message `solutions_cordova_to_capacitor_benefits_label` (Solutions Cordova To Capacitor Benefits Label).
- Obtenez les PR bloqués maintenant: Fixes et fonctionnalités de la communauté qui attendent upstream sont fusionnés
- Restez à Jour: Obtenez les correctifs upstream dès qu'ils passent la CI
- Premier sur la Sécurité: Chaque changement est examiné pour les vulnérabilités et les risques de stabilité
- Remplacement en un coup de poing: Même API que Capacitor, mais avec un champ d'application de package différent
- Votre Voix Compte: Soumettez vos propres PR ou demandez des PR upstream spécifiques pour être fusionnés
Exemple : Utilisation de Capacitor+ avec des Plugins
Tous les plugins Capacitor officiels fonctionnent sans heurts 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 également 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' });
C'est tout ! Vous avez maintenant une version mise à jour plus rapide de Capacitor avec des améliorations communautaires fusionnées plus rapidement. Vos applications bénéficieront de correctifs de bogues et de fonctionnalités sans attendre le cycle de mise à jour officiel.
Continuez à partir de Utilisation de Capacitor+ (@capacitor-plus) Packages
Si vous utilisez Utilisation de Capacitor+ (@capacitor-plus) Packages pour planifier le travail de plugin natif, connectez-l’avec Capacitor+ pour les détails d'implémentation dans Capacitor+ Répertoire de plugins Capgo pour le flux de travail du produit dans le Répertoire de plugins Capgo Capacitor Plugins par Capgo for the implementation detail in Capacitor Plugins by Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajouter ou mettre à jour des plugins, et Alternatives de plugins d'entreprise Ionic pour le flux de travail du produit dans les Alternatives de plugins d'entreprise Ionic.