APK vs AAB — lequel vous faut-il vraiment ?
Avant de convertir, clarifiez la cible. Un APK et un AAB ne sont pas interchangeables — chacun a un usage spécifique.
| Format | Cas d'usage | Installable directement ? |
|---|---|---|
| .apk | Sideload, Amazon Appstore, Samsung Galaxy Store, tests sur appareil | Oui |
| .aab | Google Play Console (requis depuis août 2021) — Play génère des APK optimisés par appareil | Non (Play Store uniquement) |
SaasToStore génère les deux formats depuis un seul build. Vous recevez le .apk et le .aab dans le même email.
Méthode 1 : Trusted Web Activity (TWA) — la voie recommandée par Google
Une Trusted Web Activity encapsule votre PWA dans Chrome sur Android. L'app exécute votre URL web réelle — pas de duplication de code, pas de base de code mobile séparée. C'est la méthode que Google documente officiellement pour publier des PWA sur Google Play, et elle produit l'app Android la plus légère possible (souvent sous 1 Mo).
Prérequis pour un build TWA
- HTTPS — obligatoire. Les URLs HTTP sont rejetées par le runtime TWA
- Web manifest — doit inclure
name,start_url,display: "standalone",theme_coloret des icônes ≥ 512×512 - Service worker — fortement recommandé. Contrôle le comportement hors ligne et qualifie pour l'exigence de fonctionnalité minimale de Google Play
- Digital Asset Links — SaasToStore les configure automatiquement via le fichier
/.well-known/assetlinks.json - Score PWA ≥ 70 — vérifié par Lighthouse ou le vérificateur intégré de SaasToStore
Limitations du TWA à connaître
- L'app nécessite que Chrome soit installé sur l'appareil (c'est le cas sur 99 % des téléphones Android)
- La barre de navigation (barre d'URL) est masquée uniquement si les Digital Asset Links sont correctement vérifiés
- Pas d'accès aux APIs Android natives au-delà de ce qu'expose le navigateur via le standard PWA
- La taille de l'app dépend du moteur de rendu de Chrome, pas du code bundlé — le démarrage est instantané
Méthode 2 : Capacitor — quand votre PWA n'a pas de service worker
Capacitor (by Ionic) encapsule votre web app dans un composant WebView natif. Contrairement à un WebView brut, Capacitor génère une app Android correctement signée et conforme aux politiques qui passe l'examen de fonctionnalité minimale de Google Play. Il ne nécessite pas de service worker, ce qui en fait l'alternative pour les apps Bubble, les sites Webflow sans support SW, et toute URL qui obtient un score inférieur à 70.
Quand choisir Capacitor plutôt que TWA
TWA vs Capacitor — comparaison côte à côte
| Fonctionnalité | TWA | Capacitor |
|---|---|---|
| Nécessite un service worker | Oui (recommandé) | Non |
| Score PWA minimum | ≥ 70 | Aucun |
| Taille du fichier app | ~800 Ko | ~4 Mo |
| APIs Android natives | Via les APIs navigateur uniquement | Via plugins (caméra, GPS, etc.) |
| Risque rejet Play Store | Très faible (méthode officielle) | Faible (WebView conforme aux politiques) |
| Fonctionne sur Bubble / Softr / Framer | Dépend du service worker | Oui, toujours |
| Mode hors ligne | Contrôle complet SW | Cache fallback |
PWA vers APK en 5 minutes — étape par étape
SaasToStore exécute les deux pipelines côté serveur. Vous n'installez rien en local.
Vérifier votre score PWA (gratuit, sans compte)
Allez sur la page d'accueil de SaasToStore et collez votre URL. Le vérificateur effectue un audit équivalent à Lighthouse en ~10 secondes : HTTPS, complétude du manifest, service worker, tailles des icônes. Vous verrez votre score et le type de build recommandé.
Créer un projet et configurer l'identité de votre app
Connectez-vous, créez un nouveau projet, confirmez l'URL. Définissez votre nom d'app (affiché sur le Play Store, 30 caractères max), l'identifiant de package (ex. com.votreentreprise.app — ne peut pas être modifié après la première publication), et le code de version initial (commencer à 1).
Uploader votre icône 512×512
PNG, carré, sans coins arrondis (Android gère le masque). Si vous n'en avez pas, le générateur IA de SaasToStore crée une icône à partir d'une description textuelle en moins de 30 secondes.
Sélectionner TWA ou Capacitor, lancer le build
Le vérificateur recommande automatiquement. Vous pouvez modifier. Cliquez sur « Lancer le Build ». Le pipeline s'exécute sur le serveur SaasToStore — analyse du manifest, génération du keystore, compilation, signature de l'APK. Pas de file d'attente.
Recevoir votre .apk et .aab par email
Le build se termine en 2 à 5 minutes. Vous recevez un email avec trois pièces jointes : le .aab signé (pour Google Play), le .apk signé (pour sideload/stores alternatifs), et le fichier keystore chiffré (conservez-le — vous en aurez besoin pour chaque mise à jour).
Checklist de conformité PWA avant la conversion
Exécutez cette checklist dans les DevTools de votre navigateur (onglet Lighthouse) ou avec le vérificateur gratuit de SaasToStore :
- ✓Site servi en HTTPS avec certificat valide
- ✓manifest.json lié dans <head> avec name, start_url, display: standalone
- ✓Au moins une icône ≥ 512×512 PNG dans le manifest
- ✓theme_color défini (utilisé pour la couleur de la barre Android)
- ✓Service worker enregistré et contrôlant la portée (onglet Application → Service Workers)
- ✓Page de fallback hors ligne (ou au minimum une stratégie cache-first)
- ✓App se charge en < 5 secondes sur une connexion 4G
- ✓Pas de contenu mixte (ressources HTTP sur des pages HTTPS)
Erreurs courantes et comment les corriger
Erreur : « App rejetée — fonctionnalité minimale (politique 4.3) »
Cause : WebView brut sans service worker ni fonctionnalités PWA significatives. Correction : Utilisez le mode TWA de SaasToStore avec un manifest validé et un service worker. Le mode Capacitor de SaasToStore passe également la 4.3 par conception.
Erreur : « Échec de vérification des Digital Asset Links »
Cause : Le fichier assetlinks.json est manquant ou l'empreinte SHA-256 ne correspond pas au build. Correction : SaasToStore génère et héberge automatiquement l'assetlinks.json — ou fournit le contenu exact à ajouter à votre répertoire /.well-known/.
Erreur : « keystore introuvable lors de la mise à jour »
Cause : Rebuild avec un nouveau keystore. Correction : Utilisez toujours le même projet SaasToStore pour les mises à jour. Le keystore original est chiffré, stocké et réutilisé automatiquement à chaque rebuild. Un nouveau keystore = Google Play rejette la mise à jour.
Avertissement : « Chrome non installé » sur l'appareil
Contexte : TWA nécessite Chrome. Sur 99 % des appareils Android, il est pré-installé. Si vous ciblez un appareil OEM spécifique qui exclut Chrome (rare, uniquement entreprise), utilisez le mode Capacitor.
Distribuer votre APK au-delà de Google Play
Le .apk signé que vous recevez fonctionne sur n'importe quel canal de distribution Android :
- Amazon Appstore — compte gratuit, upload APK, examen sous ~24h. 170M+ utilisateurs Fire TV + tablette
- Samsung Galaxy Store — compte gratuit, upload APK. Pré-installé sur chaque appareil Android Samsung
- Sideload direct — partagez le fichier .apk via un lien, un QR code ou email. Les utilisateurs activent « installer depuis des sources inconnues » une seule fois
- MDM Entreprise — poussez l'APK via des outils de Mobile Device Management pour une distribution interne uniquement