Les postes Ionic en France portent surtout sur des applications existantes à maintenir et à faire évoluer, en Angular dans la grande majorité des cas. Beaucoup ont démarré sous Cordova et ont migré, ou doivent migrer, vers Capacitor. D'autres missions préparent une réécriture vers Flutter ou le natif, et demandent de comprendre l'existant Ionic avant de le remplacer. Le profil recherché est d'abord un développeur front-end solide, capable d'ouvrir Android Studio et Xcode quand il le faut.
Deux expériences se mélangent sur les CV. Un développeur web qui a utilisé les composants Ionic dans une PWA ne connaît pas forcément le reste : plugins Capacitor, permissions, liens profonds, signature et publication sur les stores. Le cycle de vie des pages Ionic, le stockage qu'iOS peut vider ou une requête bloquée par CORS dans l'app installée montrent vite qui a livré sur téléphone.
Les versions comptent aussi. Ionic 9, sorti en août 2026, couvre Angular jusqu'à la version 22, et Ionic 8 ne reçoit plus que des correctifs jusqu'en février 2027. Capacitor 8 crée les projets iOS avec Swift Package Manager et cible Android 16. Un candidat resté sous Cordova aura une mise à niveau à faire. Le PDF contient l'entretien complet en six axes.
Ionic, Capacitor et le reste de la chaîne mobile hybride
Ionic Framework
La bibliothèque de composants d'interface (listes, onglets, modales, menus) qui reprennent les codes visuels d'iOS et d'Android, avec une navigation par pile. Elle s'utilise avec Angular, React ou Vue, et Angular domine les offres françaises. La version 9 est sortie en août 2026, la 8 reste maintenue jusqu'en février 2027.
Capacitor
Le moteur qui emballe l'application web dans un projet natif Android et iOS et expose les fonctions du téléphone en JavaScript. Les projets natifs sont versionnés dans le dépôt et modifiables à la main, alors que Cordova les régénère. Capacitor 8, sorti en décembre 2025, utilise Swift Package Manager pour les nouveaux projets iOS.
Plugins Capacitor
Chaque accès natif passe par un plugin : caméra, géolocalisation, notifications, stockage, partage. Les plugins officiels couvrent la plupart des besoins, la communauté (Capawesome, capacitor-community) le reste. Quand rien n'existe, le développeur écrit son propre plugin en Swift et en Kotlin. Demandez s'il l'a déjà fait.
Cordova
L'ancêtre de Capacitor, encore présent dans beaucoup d'applications. Capacitor accepte une bonne partie des plugins Cordova, ce qui permet de migrer par étapes. Ionic ne prend plus en charge Cordova qu'avec Angular.
Angular, React ou Vue
Le framework web qui structure l'application. Avec Ionic 9, les composants standalone deviennent la norme et Angular fonctionne par défaut sans Zone.js. Un développeur Ionic Angular doit tenir un entretien Angular à part entière : RxJS, signals, injection de dépendances, routage.
La WebView
WKWebView sur iOS, Android System WebView sur Android. Toute l'application y tourne, avec ses limites : mémoire, longues listes, stockage que le système peut vider. On la débogue avec l'inspecteur web de Safari et avec chrome://inspect.
Stores et mises à jour à chaud
La publication passe par Xcode, les certificats et profils Apple, la console Google Play et un bundle AAB. Des services comme Appflow, Capawesome Cloud ou Capgo poussent une nouvelle version du code web sans repasser par les stores, dans les limites fixées par Apple et Google. Le code natif, lui, exige toujours une nouvelle version.
PWA
La même base de code peut être servie comme application web installable, avec un service worker pour le hors-ligne. Sur iOS, les notifications web ne fonctionnent que pour une PWA ajoutée à l'écran d'accueil, depuis iOS 16.4.
Le poste Ionic est rarement un projet neuf. La plupart des applications ont plusieurs années, avec une base Angular à mettre à jour, des plugins Cordova à remplacer et des écarts de comportement entre iOS et Android. Selon le cas, la mission porte sur la reprise d'une app existante, sur sa migration de Cordova vers Capacitor, ou sur sa maintenance par une petite équipe qui fait aussi le web. Certaines missions préparent une réécriture vers Flutter ou le natif et demandent de lire le code Ionic pour en extraire les règles métier. Demandez les applications publiées sur les stores et le rôle exact du candidat dans chacune.
Les compétences à couvrir, du composant web au plugin natif
- Composants et navigation Ionic
- Capacitor et plugins natifs
- Framework web (Angular, React ou Vue)
- Stockage, sécurité et réseau
- Performance et débogage dans la WebView
- Build, signature et publication
Questions sur la pile Ionic, de la page au plugin
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · junior à confirmé
Un utilisateur modifie un élément puis revient sur la liste, qui n'est pas à jour. Pourquoi, et où rechargez-vous les données ?
Une bonne réponseion-router-outlet garde les pages précédentes dans la pile au lieu de les détruire : au retour, ngOnInit n'est pas rappelé. Il recharge dans ionViewWillEnter ou, mieux, abonne la liste à un état partagé (service avec signal ou observable) mis à jour par la page de modification. Il connaît les quatre événements de cycle de vie Ionic : ionViewWillEnter, ionViewDidEnter, ionViewWillLeave, ionViewDidLeave.
Signal d'alerte« Je force le rechargement de la page », ou la conviction que ngOnInit est appelé à chaque affichage.
Question 2 · senior
Aucun plugin ne couvre votre besoin, par exemple utiliser le SDK natif d'un fabricant de lecteurs. Comment l'intégrez-vous ?
Une bonne réponseUn plugin Capacitor, local au projet ou publié en paquet npm : une interface TypeScript enregistrée avec registerPlugin, une classe Swift dérivée de CAPPlugin et une classe Kotlin ou Java annotée @CapacitorPlugin, dont les méthodes reçoivent un PluginCall et appellent resolve ou reject. Pour un flux continu, des événements envoyés par notifyListeners. Il gère les permissions dans le plugin et prévoit une implémentation web, même minimale, pour que l'app ne plante pas dans le navigateur.
Signal d'alerteModifier un plugin existant dans node_modules, ou ajouter du code natif sans pont vers le JavaScript.
Question 3 · confirmé
En production, l'app iOS ne reçoit plus les réponses de l'API alors que tout fonctionne dans le navigateur. Que vérifiez-vous ?
Une bonne réponseD'abord CORS : l'app tourne sur sa propre origine, capacitor://localhost sur iOS et https://localhost sur Android, que le serveur doit autoriser. Ensuite les règles réseau du système : App Transport Security sur iOS bloque le HTTP non chiffré, la configuration de sécurité réseau fait de même sur Android. Il peut activer CapacitorHttp, qui fait passer fetch et XMLHttpRequest par la couche native, en sachant ce que cela change pour les cookies et les envois de fichiers. Il débogue avec l'inspecteur web de Safari branché sur l'appareil.
Signal d'alerteS'appuyer sur le proxy du serveur de développement et s'étonner qu'il n'existe plus en production, ou désactiver les protections sans comprendre la cause.
Question 4 · confirmé
Où stockez-vous les données de l'app, du jeton de session aux données consultables hors ligne ?
Une bonne réponsePas dans localStorage ni IndexedDB pour ce qui doit durer : le système peut vider le stockage de la WebView quand l'espace manque. Pour de petites valeurs, le plugin Preferences (UserDefaults, SharedPreferences). Pour des volumes structurés, SQLite par plugin. Pour un jeton ou un secret, le trousseau iOS et le Keystore Android, via un plugin de stockage sécurisé. Il évite les données personnelles en clair et efface tout à la déconnexion.
Signal d'alerteTout dans localStorage, jeton compris.
Question 5 · confirmé
Une liste de 2 000 éléments rame sur un Android d'entrée de gamme. Que faites-vous ?
Une bonne réponseMesurer d'abord avec chrome://inspect sur l'appareil, pas dans le navigateur du poste. Puis rendre moins : défilement virtuel (ion-virtual-scroll a été retiré en Ionic 7, on passe par le CDK Angular ou une autre bibliothèque), pagination ou défilement infini, track dans les boucles Angular, images redimensionnées et chargées en différé, détection de changements limitée avec OnPush ou les signals. Il évite les ombres et animations coûteuses sur chaque ligne.
Signal d'alerteTester seulement sur un iPhone récent, ou accuser Ionic sans mesurer.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
Questions de recrutement sur les profils Ionic et Capacitor
Un développeur Angular peut-il prendre un poste Ionic ?
Pour la partie interface, souvent oui : Ionic s'apprend vite quand Angular est maîtrisé. Le manque se situe côté mobile : plugins, permissions, signature, publication, débogage sur appareil, différences entre iOS et Android. Si l'application contient beaucoup de code natif ou une migration Cordova à mener, cherchez quelqu'un qui a déjà publié sur les stores. Sinon, un bon développeur Angular accompagné sur la chaîne mobile peut convenir.
Recruter sur Ionic a-t-il encore du sens face à Flutter et React Native ?
La question se pose pour un projet neuf, pas pour une application existante qui fonctionne. Beaucoup d'apps Ionic sont en production et doivent être maintenues, mises à jour, parfois migrées. Ionic reste pertinent quand l'équipe fait surtout du web ou que l'app doit aussi exister en PWA. Pour une app très animée ou très liée au matériel, les équipes regardent plutôt Flutter, React Native ou le natif, et certaines missions consistent justement à réécrire une app Ionic.
Quel test technique proposer à un développeur Ionic ?
Une petite app Ionic à compléter en direct : une liste, une page de détail, un plugin Capacitor comme la caméra ou la géolocalisation, avec le cas du refus de permission. Une heure suffit. Demandez ensuite de lancer l'app sur un émulateur ou un téléphone et de trouver une erreur volontaire avec l'inspecteur. Vous voyez la maîtrise du framework, des plugins et des outils mobiles, ce qu'un exercice dans le navigateur ne montre pas.
Comment lire un CV qui cite Ionic 3 et Cordova ?
Comme une expérience réelle mais ancienne. Ionic 3 date de 2017, et Capacitor a largement pris la place de Cordova depuis. Demandez ce que la personne a fait ensuite : une migration vers Capacitor, un passage aux composants standalone, une publication récente sur les stores. Si son dernier projet mobile date de plusieurs années, insistez sur Capacitor 8, Ionic 9 et les règles actuelles de Google Play et de l'App Store.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.





