Les notifications push iOS nécessitent un certificat permettant à l’application de communiquer avec le service de notifications d’Apple (APNs). Avec WPMobile.App, ce certificat est fourni sous la forme d’un fichier .pem, à installer dans les réglages du plugin WordPress.
Ce certificat n’est pas permanent. Sa durée de validité est de 13 mois, ce qui signifie qu’il doit être renouvelé régulièrement pour continuer à envoyer des notifications aux utilisateurs iPhone et iPad.
La procédure est assez simple depuis WPMobile, mais il existe une particularité importante : Apple autorise au maximum deux certificats de ce type pour un même identifiant d’application. Si les deux emplacements sont déjà utilisés, il faut commencer par révoquer un ancien certificat avant d’en générer un nouveau.
À quoi sert le certificat .pem des notifications iOS ?
Lorsqu’un site WordPress envoie une notification push vers une application iOS, le message ne part pas directement du serveur WordPress vers l’iPhone. Il passe par Apple Push Notification service, généralement appelé APNs.
Apple doit pouvoir vérifier que le serveur qui demande l’envoi est autorisé à envoyer des notifications pour l’application concernée. Le certificat fournit cette authentification.
Dans WPMobile, le fichier .pem contient les éléments nécessaires à cette connexion. Il est associé à l’identifiant de l’application iOS et doit être installé dans les réglages du plugin WordPress pour que les notifications puissent être transmises à Apple.
Ce certificat ne concerne pas l’affichage du site WordPress dans l’application, ni le certificat HTTPS du domaine. Il sert uniquement à authentifier les envois de notifications iOS.
Pourquoi le certificat expire-t-il après 13 mois ?
Les certificats APNs utilisés par WPMobile possèdent une durée de validité limitée à 13 mois. Une fois cette période écoulée, le certificat expiré ne peut plus être utilisé pour authentifier les demandes d’envoi auprès d’Apple.
Le site WordPress et l’application iOS peuvent continuer de fonctionner normalement. Les utilisateurs peuvent toujours ouvrir l’app, naviguer dans les pages et utiliser les fonctionnalités du site.
En revanche, les notifications push iOS utilisant ce certificat ne peuvent plus être envoyées correctement. Il est donc préférable de renouveler le fichier avant sa date d’expiration plutôt que d’attendre les premiers problèmes de livraison.
Ce renouvellement fait partie de la maintenance normale d’une application iOS. Il ne signifie pas que l’application est devenue obsolète ou qu’une nouvelle licence WPMobile est nécessaire.
La limite Apple : deux certificats par identifiant d’application
Apple limite à deux le nombre de certificats APNs de ce type pouvant être actifs simultanément pour un même identifiant d’application (Bundle ID).
Cette limite permet notamment de préparer le remplacement d’un certificat avant l’expiration du précédent. Il est possible d’avoir temporairement un ancien certificat encore valide et un nouveau certificat prêt à être utilisé.
Mais si deux certificats existent déjà, Apple refuse la création d’un troisième. C’est une situation assez fréquente lorsqu’une application a déjà fait l’objet d’un renouvellement ou que plusieurs certificats ont été générés au cours de sa maintenance.
Dans ce cas, WPMobile ne peut pas créer automatiquement un nouveau certificat tant qu’aucun emplacement n’est disponible chez Apple.
La bonne pratique consiste donc à vérifier les certificats existants et à révoquer celui qui n’est plus nécessaire avant de lancer le renouvellement.
Étape 1 : révoquer un ancien certificat dans Apple Developer
La première étape consiste à se connecter au compte Apple Developer utilisé pour publier l’application, puis à ouvrir la section Certificates, Identifiers & Profiles.
Dans la liste des certificats, il faut identifier les certificats Apple Push Services associés au Bundle ID de l’application concernée.
Si deux certificats sont présents, sélectionner celui qui n’est plus utilisé et le révoquer. Cette opération libère un emplacement permettant à WPMobile de générer un nouveau certificat.
Attention : révoquer le certificat actuellement utilisé par WordPress interrompt les envois de notifications qui en dépendent jusqu’à l’installation d’un certificat valide. Il est donc préférable de supprimer un ancien certificat inutilisé lorsque c’est possible.
Si les deux certificats sont encore utilisés par des systèmes différents, il faut identifier leurs usages avant toute révocation. La limite Apple s’applique à l’identifiant de l’application, pas uniquement à WPMobile.
Étape 2 : mettre à jour l’application depuis le Dashboard WPMobile
Une fois un emplacement disponible, il faut se connecter au Dashboard WPMobile.App et sélectionner l’application iOS concernée.
Depuis le Dashboard, lancer une mise à jour de l’application. Pendant cette opération, WPMobile peut générer un nouveau certificat de notifications iOS associé à l’identifiant de l’application.
Il n’est pas nécessaire de modifier le site WordPress ou de changer les réglages des notifications avant cette étape. La génération du certificat est prise en charge par WPMobile dans le cadre de la mise à jour.
Il faut cependant garder à l’esprit la limite des deux certificats : si aucun emplacement n’a été libéré, le nouveau certificat ne pourra pas être créé.
La mise à jour depuis le Dashboard sert ici à obtenir le nouveau certificat. Le renouvellement des notifications ne nécessite pas, à lui seul, de publier une nouvelle version de l’application sur l’App Store.
Étape 3 : télécharger le nouveau certificat .pem
À la fin de la mise à jour, un nouveau certificat .pem est proposé au téléchargement lorsque sa génération a pu être effectuée.
Il faut récupérer ce fichier et le conserver le temps de son installation dans WordPress. Le fichier correspond à l’application iOS sélectionnée et ne doit pas être utilisé pour une autre application possédant un Bundle ID différent.
Si aucun nouveau certificat n’est disponible, la première vérification consiste à retourner dans Apple Developer pour confirmer qu’un emplacement était effectivement libre au moment de la génération.
Il ne sert à rien de relancer plusieurs mises à jour sans vérifier ce point : WPMobile ne peut pas contourner la limite imposée par Apple.
Le fichier .pem contient des informations d’authentification sensibles. Il ne doit donc pas être publié sur le site, ajouté à un dépôt Git public ou envoyé à des personnes qui n’en ont pas besoin.
Étape 4 : installer le certificat dans le plugin WordPress
Une fois le nouveau fichier téléchargé, il reste à remplacer le certificat utilisé par le plugin WPMobile sur le site WordPress.
Dans l’administration WordPress, ouvrir le menu suivant :
WPMobile > Notifications > Réglages > iOS
Cette section permet de configurer les informations nécessaires à l’envoi des notifications vers les appareils Apple.
Il suffit d’y importer le nouveau fichier .pem, puis d’enregistrer les réglages. Le plugin utilise alors ce nouveau certificat pour authentifier les prochains envois auprès d’APNs.
Le certificat précédent n’a pas besoin de rester installé dans WordPress. L’objectif est simplement que le fichier utilisé par le plugin soit valide et corresponde à l’application iOS publiée.
Étape 5 : envoyer une notification de test
Après le remplacement du certificat, il est conseillé d’effectuer un envoi de test vers un iPhone sur lequel l’application est installée et les notifications autorisées.
Ce test permet de vérifier que le nouveau certificat est correctement pris en compte et que la communication avec APNs fonctionne.
Si la notification n’arrive pas, plusieurs éléments doivent être vérifiés : le certificat correspond-il au bon identifiant d’application ? Le fichier a-t-il bien été enregistré dans les réglages WordPress ? Les notifications sont-elles autorisées sur l’iPhone utilisé pour le test ?
Il faut également distinguer un problème de certificat d’un problème de notification propre à l’appareil ou à l’utilisateur. Le fonctionnement général des notifications est détaillé dans l’article consacré aux notifications push dans une application WebView.
Faut-il republier l’application sur l’App Store ?
Non. Le renouvellement du certificat .pem utilisé pour envoyer les notifications ne nécessite pas de publier une nouvelle version de l’application sur l’App Store.
Le certificat est utilisé côté serveur, depuis WordPress, pour communiquer avec APNs. Tant que l’identifiant de l’application reste le même et que sa configuration de notifications est correcte, il suffit de remplacer le certificat dans le plugin.
Il faut donc distinguer deux opérations : mettre à jour l’application depuis le Dashboard WPMobile pour générer un nouveau certificat, et publier une nouvelle version de l’application sur l’App Store.
La première est nécessaire dans cette procédure. La seconde ne l’est pas uniquement pour renouveler le certificat de notifications.
Cette distinction est également importante pour comprendre la maintenance d’une application mobile WordPress : toutes les interventions techniques ne nécessitent pas une nouvelle release publique.
Quand faut-il renouveler le certificat ?
Le mieux est d’anticiper le renouvellement avant la fin des 13 mois. Cela évite une interruption des notifications et permet de prendre le temps de vérifier les certificats existants dans Apple Developer.
Il n’est pas nécessaire de renouveler le certificat à chaque mise à jour de WordPress, du plugin ou de l’application. Tant que le fichier est valide et que les notifications fonctionnent, il peut continuer à être utilisé.
En pratique, la procédure complète tient en quatre opérations : libérer un emplacement chez Apple si nécessaire, mettre à jour l’application depuis WPMobile, télécharger le nouveau .pem et l’importer dans les réglages iOS du plugin WordPress.
Une fois le certificat installé et testé, les notifications peuvent continuer à fonctionner sans modification du contenu WordPress et sans nouvelle publication sur l’App Store.
