View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Vidéos

Ouvrir le menu Fermer le menu
  • Collections
  • Toutes les vidéos
  • À propos

Plus de vidéos

  • À propos
  • Résumé
  • Code
  • Filtrez et acheminez le trafic réseau avec NetworkExtension

    Découvrez les API du framework NetworkExtension qui donnent à votre app la puissance et la flexibilité nécessaires pour étendre les fonctionnalités réseau de base du système, telles que l'implémentation de filtres de contenu réseau, la création et la gestion de configurations VPN, et bien plus encore. Sur iOS, iPadOS et macOS 26, vous pouvez désormais créer des filtres de contenu avancés, capables de prendre des décisions relatives au trafic en utilisant l'URL complète, et non plus seulement le nom d'hôte, sans compromettre la confidentialité et la sécurité. Nous commencerons par une vue d'ensemble des principaux cas d'utilisation du framework NetworkExtension, y compris les relais réseau et les VPN. Ensuite, nous nous pencherons sur la nouvelle API de filtrage d'URL et ses composants clés, notamment Private Information Retrieval, Privacy Pass, et bien plus encore.

    Chapitres

    • 0:00 - Bienvenue
    • 1:48 - Présentation de NetworkExtension
    • 3:21 - Accéder aux ressources distantes
    • 8:40 - Filtrer le contenu
    • 10:54 - Créer des filtres d’URL

    Ressources

    • verdict(for:)
    • NEHotspotManager
    • NEURLFilterManager
    • TN3165: Packet Filter is not API
    • TN3120: Expected use cases for Network Extension packet tunnel providers
    • PIRService
    • Filtering traffic by URL
    • Network Extension
      • Vidéo HD
      • Vidéo SD

    Vidéos connexes

    WWDC25

    • Intégrez la confidentialité dans votre processus de développement

    WWDC19

    • Network Extensions for the Modern Mac
  • Rechercher dans cette vidéo…
    • 22:15 - Use participation API to check URLs before sending requests

      // Use participation API to check URLs before sending requests
      
      import NetworkExtension
      
      func checkURL(url: URL) async throws -> Bool {
        var passRequest : Bool = true
      
        let verdict = await NEURLFilter.verdict(for: url)
      
        if verdict == .deny {
          passRequest = false
        }
        return passRequest
      }
    • 25:01 - Configure and manage URL Filter

      // Configure and manage URL Filter
      
      import NetworkExtension
      
      let manager = NEURLFilterManager.shared
      
      try await manager.loadFromPreferences()
      
      try manager.setConfiguration(
          pirServerURL: URL(string:"https://pir.example.com")!,
          pirPrivacyPassIssuerURL: URL(string:"https://privacypass.example.com")!,
          pirAuthenticationToken: "1234",
          controlProviderBundleIdentifier: "com.example.myURLFilter.extension")
      
      manager.prefilterFetchInterval = 86400 // fetch every 1 day
      manager.shouldFailClosed = false
      manager.localizedDescription = "Alice's URL Filter"
      manager.isEnabled = true
      
      try await manager.saveToPreferences()
    • 26:41 - Implement NEURLFilterControlProvider protocol

      // Implement NEURLFilterControlProvider protocol
      
      import NetworkExtension
      
      class URLFilterControlProvider: NEURLFilterControlProvider {
      
        func fetchPrefilter() async throws -> NEURLFilterPrefilter? {
              
          // Fetch your Bloom filters data from your app bundle or from your server
          let data = NEURLFilterPrefilter.PrefilterData.temporaryFilepath(fileURL)
          let result = NEURLFilterPrefilter(data: data,
                                            bitCount: numberOfBits,
                                            hashCount: numberOfHashes,
                                            murmurSeed: murmurSeed)
          return result
        }
      }
    • 0:00 - Bienvenue
    • Découvrez Network Extension, un framework qui permet de créer des apps pour personnaliser la mise en réseau sur les plateformes Apple. Sous iOS et macOS 26, ce framework propose des VPN, des relais et des filtres de contenu, ainsi que de nouvelles fonctionnalités de filtrage basées sur les URL.

    • 1:48 - Présentation de NetworkExtension
    • Le framework Network Extension permet aux apps iOS et macOS de personnaliser la mise en réseau. Cela inclut la gestion du Wi-Fi, l’interaction avec les points d’accès, les notifications push locales pour les réseaux restreints, la sécurité DNS, le filtrage de contenu et l’accès sécurisé aux ressources à distance.

    • 3:21 - Accéder aux ressources distantes
    • L’accès à distance sécurisé permet aux utilisateurs de se connecter en toute sécurité aux systèmes internes à partir d’emplacements externes ou de protéger le trafic personnel sur des réseaux non sécurisés. Network Extension propose deux approches principales pour la tunnellisation du trafic : les relais réseau et les VPN basés sur l’IP. Les relais réseau, utilisant le protocole MASQUE, sont optimisés pour les performances et conviennent à la tunnellisation du trafic TCP ou UDP vers des apps spécifiques, telles que les apps d’entreprise hébergées dans le cloud. Vous pouvez configurer des relais à l’aide de 'NERelayManager' ou via un profil MDM. Les VPN basés sur l’IP sont davantage adaptés à l’extension des réseaux d’entreprise aux employés, à la mise en place d’un accès complet au réseau ou aux organisations hautement réglementées qui ont besoin d’envoyer tout le trafic via le réseau d’entreprise. Les particuliers peuvent également les utiliser pour protéger leur vie privée sur les réseaux non sécurisés. Vous pouvez créer des tunnels VPN basés sur l’IP à l’aide de l’API NEVPNManager, en tirant parti de protocoles intégrés comme IKEv2 ou IPsec, ou de protocoles personnalisés. Network Extension permet aux apps d’appliquer des routes VPN, en veillant à ce qu’elles soient prioritaires, et prend en charge les configurations VPN à tunnel fractionné et à tunnel complet avec des exceptions configurables. Network Extension est l’API recommandée et prise en charge pour la création d’apps VPN. L’utilisation d’autres méthodes est fortement déconseillée et peut entraîner des problèmes de compatibilité. Migrez votre app VPN vers Network Extension dès que possible.

    • 8:40 - Filtrer le contenu
    • L’API de filtrage de contenu vous permet de créer des pare-feux personnels et des apps de surveillance du trafic d’entreprise. Elle permet aux apps d’inspecter les flux de trafic et de fournir des verdicts 'allow' ou 'drop'.

    • 10:54 - Créer des filtres d’URL
    • Dans iOS 26, vous pouvez créer un filtre d’URL pour que les apps qui bloquent des ressources spécifiques sur Internet s’étendent à l’ensemble du système. Cette technologie est particulièrement utile pour les apps de contrôle parental, les écoles et les entreprises afin de restreindre l’accès à des contenus inappropriés ou non liés au travail. Le filtre d’URL utilise des techniques cryptographiques avancées pour protéger la confidentialité des utilisateurs. Le système utilise une combinaison de quatre technologies clés : filtres de Bloom, Private Information Retrieval (PIR), Privacy Pass et Oblivious HTTP Relay. Votre app ne s’exécute pas dans le chemin de filtrage et n’a pas accès au trafic d’URL. En outre, ni Apple ni votre serveur n’ont accès au trafic d’URL ni aux informations d’identité. Les filtres d’URL sont pris en charge sur les appareils gérés et non gérés. Les filtres d’URL utilisent un relais OHTTP hébergé par Apple, dont vous devez configurer l’application et l’utilisation pour les apps signées pour la distribution. Les builds signés par le développement sont exemptés de cette obligation. Si vous compilez une app qui n’utilise pas WebKit ou URLSession, transmettez chaque URL à l’API NEURLFilter et respectez le verdict renvoyé. Pour les déploiements d’entreprise, le profil de configuration du filtre d’URL peut être transféré via la Gestion des appareils mobiles sur des appareils gérés.

Developer Footer

  • Vidéos
  • WWDC25
  • Filtrez et acheminez le trafic réseau avec NetworkExtension
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines