La WWDC26 de juin 2026 a défini Siri AI comme un Siri nouveau : il lit l’écran, cherche le contexte personnel, fait le travail d’une app à l’autre et va sur le web pour la connaissance du monde. En septembre, iOS 27 est dans la fenêtre de sortie publique et les développeurs peuvent déjà exercer App Intents et App Schemas dans les bêtas. Beaucoup d’équipes entendent encore « Siri bavarde mieux ». Le vrai changement est l’entrée. On peut laisser votre icône fermée et laisser un agent système trouver vos objets et exécuter vos actions. Sans cette couche, l’app devient une île invisible dans Siri, Spotlight et les flux inter-apps. Cet article ne récapitule pas le catalogue de sessions. Il répond à une question de planning : qu’exposer maintenant, quelle couche d’abord, comment accepter le travail.
Pourquoi iOS 27 change vraiment le travail d’app
Le conflit entre l’ancien et le nouveau chemin est concret. L’ancien chemin est UI d’abord : ouvrir l’app, taper, suivre la navigation que vous avez dessinée. Le nouveau chemin est intent d’abord : parler au système ou toucher un résultat Spotlight ; Siri AI choisit votre AppEntity et votre App Intent et n’affiche l’UI que si besoin. Les phrases Shortcuts, les domaines SiriKit limités et l’ancien « réveiller puis ouvrir » existent encore. Ils ne suffisent plus. Siri AI veut des catégories que le système connaît déjà — événements, messages, médias, sessions de navigation — pas un vocabulaire privé de mots de réveil.
Trois faits en ont fait un sujet de planning 2026. D’abord, la génération suivante d’Apple Intelligence a plié la conscience à l’écran, la recherche de contexte personnel et les actions inter-apps dans une seule boucle d’agent ; les apps tierces ne sont plus un garnissage Shortcuts. Ensuite, la WWDC26 a lié App Schemas, IndexedEntity, IntentValueQuery, Interaction Donations et OwnershipProvidingEntity en une surface testable, plus un croquis de keynote. Enfin, en septembre 2026 le déploiement côté utilisateur reste échelonné par langue et région. L’anglais arrive d’abord en bêta. iOS et iPadOS sont d’abord indisponibles dans l’UE, tandis que Mac, Apple Watch et Apple Vision Pro peuvent utiliser Siri AI dans une langue prise en charge. La Chine continentale reste dans un processus réglementaire. Vous pouvez construire l’intégration maintenant. Vous ne pouvez pas écrire une fiche store qui dit que chaque utilisateur iOS 27 de la planète peut convoquer votre app le premier jour.
Les seuils d’appareil appartiennent à la fiche d’acceptation. Siri AI et Apple Intelligence atterrissent sur iPhone 16 et suivants, iPhone 15 Pro et 15 Pro Max, iPad mini A17 Pro, iPad et Mac M1 ou plus récents, et les Apple Watch plus récentes appariées. Si le téléphone de démo est plus ancien, vous mesurez un trou de capacité, pas un échec produit. Xcode, simulateurs et régressions appareil exigent encore macOS. Comment les équipes choisissent un builder est dans la comparaison Xcode Cloud contre Mac distant.
Comment Siri AI, App Intents et les agents s’empilent vraiment
Si vous aplatissez les trois noms dans un seul backlog, le planning va tressauter. Suivez l’ordre que le système appelle vraiment. Manquez une couche et il ne reste qu’une démo.
| Couche | Ce que vous livrez | Ce que le système en fait | Si elle manque |
|---|---|---|---|
| Entité | AppEntity : ce que c’est, comment l’identifier, quelles propriétés afficher | Comprend la catégorie ; pilote sélecteurs, confirmations, cartes de résultat | Siri lance l’app mais ne peut pas dire quel enregistrement |
| Action | AppIntent alignés sur les schémas, groupés par domaine | Mappe le langage naturel sur une action exécutable et gère la clarification | Il ne reste que des phrases custom ; les flux inter-apps ne s’accrochent pas |
| Découverte | IndexedEntity / Spotlight, ou IntentValueQuery | Trouve des objets par le sens ou par des critères structurés | Il faut réciter un id interne ou ouvrir l’app d’abord |
| Contexte et confiance | Conscience à l’écran, Interaction Donations, OwnershipProvidingEntity | Continue depuis le visible et confirme avant les effets de bord | L’agent devine, ou mute des données partagées sans point de contrôle |
Siri AI est l’agent système. Il possède la langue, la clarification, la confirmation et la décision de quitter l’app pour le savoir web. Votre app n’entraîne pas un Siri privé. Elle devient une surface d’outils pour cet agent. La forme colle au function calling cloud — le modèle choisit un outil, le runtime applique l’effet de bord — mais le protocole est App Intents et le processus est le vôtre sur l’appareil. Pour la comparaison inter-éditeurs, voir qu’est-ce que le Function Calling.
Ne traitez pas la découverte comme un interrupteur unique. Playlists, événements locaux et brouillons appartiennent à IndexedEntity pour que l’index sémantique de Spotlight les trouve par le sens, pas seulement par mot-clé. Les gros catalogues, boutiques serveur et calendriers distants qui bougent vite appartiennent à IntentValueQuery : le système envoie une recherche structurée, vous renvoyez les entités. Tout le SKU ne atterrit pas sur l’appareil. Le schéma de recherche système d’iOS 17 s’appelle maintenant .system.searchInApp. Même si quelqu’un dit seulement « montre les playlists de course dans cette app », vous pouvez le poser sur votre propre UI de recherche plutôt que sur une carte générique.
La conscience à l’écran dit à l’agent quel objet est visible. Les Interaction Donations disent ce que la personne vient de faire dans l’UI. Les chemins Siri et Shortcuts sont déjà connus ; ne les redonnez pas. Donner trop souvent et le système vous ignore. Pour les écritures, surtout les entités partagées, adoptez OwnershipProvidingEntity pour forcer une confirmation sur un événement public. Les entités sont privées par défaut, donc la confirmation peut être sautée. C’est un risque, pas un bonus.
import AppIntents
import CoreSpotlight
struct EventEntity: AppEntity, IndexedEntity {
static var typeDisplayRepresentation: TypeDisplayRepresentation = "Event"
static var defaultQuery = EventQuery()
var id: String
var title: String
var startDate: Date
var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(title: "\(title)")
}
}
struct OpenEventIntent: AppIntent {
static var title: LocalizedStringResource = "Open Event"
@Parameter(title: "Event")
var event: EventEntity
@MainActor
func perform() async throws -> some IntentResult {
NavigationManager.shared.open(event)
return .result()
}
}
// After a local write, keep Spotlight's semantic index in sync
try await CSSearchableIndex.default().indexAppEntities([event])
Ce n’est pas un projet complet. Cela fige trois faits : l’objet a un id stable et un nom d’affichage ; l’ouverture prend une entité plutôt que du texte libre ; une écriture locale rafraîchit Spotlight tout de suite. L’adoption de schémas, le dialogue custom, ShowsSnippetView et les chaînes pleine / de soutien de ProvidesDialog vont à la deuxième itération. Ne les liez pas à « le système peut-il seulement trouver ceci ».
Le poli des versions 27 est réel et doit rester hors de la première carte. Les vues snippet portent votre identité visuelle dans Siri. Les demandes de dialogue demandent un libellé optionnel manquant au lieu de faire échouer l’intent. Les annotations d’entité sur notifications, Now Playing et alarmes permettent d’agir sur un contenu déjà vu ailleurs. Rien de cela ne remplace un modèle d’entité correct. Si l’objet ne peut pas être identifié, le plus joli snippet reste une impasse.
Comparer les quatre entrées avec les mêmes colonnes
La coupure est l’entrée, pas quel modèle sonne plus malin. Les apps tierces font face à quatre chemins à la fois. Gardez les colonnes identiques, sinon le tableau de décision est du théâtre.
| Chemin | Entrée | Exécution | Contexte | Pour qui |
|---|---|---|---|---|
| App Intents + App Schemas | Siri, Spotlight, Shortcuts, certaines cartes système | Ouvrir, créer, mettre à jour, transférer entre apps ; effets de bord dans votre processus | Entités, objets à l’écran, contexte personnel, index sémantique | Apps grand public et productivité qui doivent apparaître dans l’agent système iOS 27 |
| Phrases Shortcuts / anciennes automations | App Raccourcis, certains Lock Screen et widgets | Chaînes d’actions écrites par l’utilisateur | Sémantique faible ; phrases et emplacements de paramètres | Utilisateurs Shortcuts existants, outils internes, compatibilité de transition |
| Anciens domaines SiriKit | Domaines historiquement ouverts | Intents fixes dans un domaine | Listes blanches de domaine ; mauvais pour des objets arbitraires | Voix, paiements ou voyage déjà sur de vieux domaines — compatibilité, pas le chemin principal |
| Function calling LLM auto-hébergé | Votre UI de chat ou agent serveur | API privées, bases, computer use | Votre mémoire de session et catalogue d’outils | Produits qui quittent les appareils Apple, touchent un réseau privé ou un modèle non Apple |
Les quatre chemins s’empilent ; ils ne s’annulent pas. L’agent système couvre « la personne est déjà sur iPhone et veut parler une tâche ». Un agent auto-hébergé couvre « navigateur, bureau ou votre propre bot ». Traitez App Intents comme le schéma d’outils de l’écosystème Apple et le function calling cloud comme le schéma transversal. Pointez les deux catalogues vers les mêmes actions métier pour qu’iOS puisse replanifier un événement que le web peut aussi replanifier.
Coût et droits diffèrent même quand les verbes se ressemblent. App Intents roule sur le quota Apple Intelligence de l’utilisateur et sur les chemins on-device ou Private Cloud Compute ; vous ne payez pas une facture de tokens à Apple pour un intent de création, mais vous héritez de la dispo régionale et de limites quotidiennes sur certaines fonctions génératives. Une boucle auto-hébergée facture des tokens, a besoin d’un runtime isolé si elle écrit le disque ou pilote un navigateur, et peut atteindre un VPC que Siri ne verra jamais. Les mélanger sans allowlist, c’est comment un agent « aide » en supprimant un calendrier partagé parce que l’outil cloud avait un verbe plus large que l’App Intent.
Choisir selon la scène
| Si vous | choisissez | Pourquoi |
|---|---|---|
| êtes calendrier, tâches ou notes avec surtout des objets locaux | AppEntity + schéma + IndexedEntity | Siri doit trouver « la revue mardi prochain », pas un titre exact |
| êtes commerce ou média avec un énorme catalogue serveur | Index mince + IntentValueQuery + searchInApp | Vous ne pouvez pas verser chaque SKU dans Spotlight |
| êtes messagerie ou collab avec effets de bord sociaux | Actions schéma + donations + confirmation de propriété | Envoyer un message ou éditer un événement partagé doit montrer une carte de confirmation |
| dépendez déjà de power users Shortcuts | Garder Shortcuts ; attacher le même intent à un schéma | L’ancienne entrée reste ; la nouvelle réutilise le même perform() |
| avez la valeur sur Windows, le web ou une API privée | Function calling d’abord ; iOS n’expose que des entités en lecture | L’agent système n’atteint pas votre VPC ; ne promettez pas une commande vocale partout |
| avez une large base iPhone UE, ou la Chine continentale comme marché d’origine | Traiter Siri comme un plus ; garder l’UI comme chemin principal | En septembre 2026 ces capacités utilisateur sont encore tranchées par la politique |
Stacks recommandés
A — Indie ou app de productivité verticale : allez profond sur un domaine de schéma — calendrier, notes ou médias. Une entité, deux actions (ouvrir et créer), un index local, vert dans Shortcuts, puis Siri. ShowsSnippetView custom attend la deuxième itération. Acceptez sur le plus bas iPhone 16 ou 15 Pro supporté. La voix simulateur ne suffit pas.
B — Petite équipe produit : planifiez la couche entité et la couche action comme cartes séparées. Carte un : Spotlight trouve l’objet par le sens et l’ouverture atterrit sur le bon détail. Carte deux : créer et mettre à jour passent par un schéma et montrent une confirmation. Carte trois : conscience à l’écran et donations UI. Gelez l’ordre de test : tests unitaires App Intents, forme Shortcuts, index Spotlight, Siri de bout en bout. Tournez-les sur une image Mac pour que « ça marche sur mon portable » ne cache pas un entitlement d’index manquant.
C — Entreprise ou multi-surfaces : l’agent système iOS expose des lectures et des ouvertures à bas risque. Les écritures passent par une passerelle API auditée et votre propre agent. Calendriers partagés et documents publics doivent déclarer la propriété. Limites de compte et de livraison dans le centre d’aide ; coût mensuel sur les tarifs Mac mini. S’il faut une boîte Xcode et régression permanente, partez de si le M6 Mac mini convient aux développeurs.
Pièges
- Traiter Siri AI comme une peau de chat : vous ajoutez une UI de conversation sans entités, donc « décale cette commande à vendredi » n’a rien à saisir.
- Remplacer les schémas par des phrases custom : les phrases peuvent truquer une démo Shortcuts ; elles n’accrochent pas le contexte inter-apps ou à l’écran à un domaine déjà connu.
- Verser tout le catalogue dans Spotlight : l’index gonfle, la surface vie privée grandit, la réindexation fige l’avant-plan. Les données distantes vont dans IntentValueQuery.
- Ne jamais donner l’UI, ou la donner sans cesse : le système n’apprend jamais qu’un contact préfère votre app — ou il vous ignore et pollue la politique de confirmation.
- Promettre la voix à toute la planète : anglais d’abord, pas d’iOS UE tôt, processus Chine inachevé. Matériel de démo et texte store doivent être régionaux.
Plan d’action : sept étapes
- Listez cinq actions orales avec de vrais effets de bord. Supprimez les verbes vides comme « ouvrir Réglages ».
- Donnez à chaque objet un
AppEntityavec un id stable, un titre et une date ou un état clé.DisplayRepresentationporte image et sous-titre. - Alignez ouvrir et créer sur le App Schema correspondant.
perform()ne fait que naviguer ou écrire. Langue et clarification restent au système. - Indexez les entités locales dans Spotlight et rafraîchissez à la création, mise à jour et suppression. Les listes distantes pointent vers IntentValueQuery.
- Marquez les objets à l’écran sur les détails. Donnez quand l’UI envoie, crée ou démarre vraiment une navigation.
- Activez la confirmation pour les écritures et entités publiques. Prouvez la forme des paramètres dans Shortcuts, lancez Siri de bout en bout, verrouillez la logique avec App Intents Testing.
- Gardez Xcode, l’appareil le plus bas supporté et le script de régression sur un nœud Mac reproductible. Vider DerivedData en fin de session empêche un cache local tiède de se faire passer pour un succès.
FAQ
Siri AI est-il disponible dans toutes les langues au lancement d’iOS 27 ?
Non. En septembre 2026 le déploiement reste par langue et région. L’anglais arrive d’abord en bêta. iOS et iPadOS sont d’abord indisponibles dans l’UE. La Chine continentale est encore en processus réglementaire. Construisez maintenant ; séparez les promesses par région.
Siri peut-il encore ouvrir mon app sans App Intents ?
L’icône oui. Comprendre les objets, enchaîner des actions inter-apps ou partir de l’écran, beaucoup moins. Sans entités ni schémas, l’app reste une île dans Siri et Spotlight.
App Intents et Shortcuts, c’est la même chose ?
Non. Shortcuts est la surface d’automatisation utilisateur. App Intents est le protocole appelable. Siri AI a besoin d’intents alignés sur les schémas, pas d’une nouvelle pile de phrases.
Faut-il tout mettre dans l’index Spotlight ?
Indexez les entités locales, stables et privées. Les données massives, serveur ou très changeantes passent par IntentValueQuery pour ne pas verser tout le catalogue sur l’appareil.
Les apps tierces doivent-elles entraîner leur propre modèle Siri ?
Non. Langue, clarification et confirmation restent au système. Vous livrez des entités exécutables, des actions, un index à jour et des frontières de droits.
Conclusion
Siri AI d’iOS 27 change le développement d’apps. Il change l’entrée et le protocole, pas un mandat de reconstruire chaque écran en fenêtre de chat. Décrivez d’abord les entités et les actions de schéma ; ajoutez ensuite index, contexte à l’écran et confirmation. Shortcuts et le function calling auto-hébergé s’empilent — ils ne remplacent pas l’agent système. Écrivez la capacité utilisateur par région. Posez l’acceptation sur un appareil et un Mac que vous pouvez reproduire. Les nœuds distants sont sur la page de location et la page tarifs ; les questions de compte vont au centre d’aide.
Pour aller plus loin
- CI/CD iOS d’équipe : Xcode Cloud contre Mac distant →
- Qu’est-ce que le Function Calling : OpenAI, Gemini, Claude →
- Le M6 Mac mini convient-il aux développeurs ? Xcode et inférence locale →
Le SDK iOS 27 et les tests appareil exigent un Mac reproductible
Le chemin de recette est Xcode, puis Shortcuts, Spotlight, puis Siri. Cette chaîne est liée à macOS et aux appareils. Un Mac distant isole DerivedData par session pour retester l’intégration Siri, pas seulement la compiler.