Plan du cours
Gestion des appareils multimédias
1. Autorisations des navigateurs avec navigator.permissions
- Accès au matériel :
- Webcam
- Microphone
- Autorisations optionnelles :
- Géolocalisation
- Notifications
- Presse-papiers (lecture/écriture)
- Interrogation des autorisations et état
- Limites et compatibilité entre navigateurs
2. Lecture des appareils multimédias avec navigator.mediaDevices
- Énumération des appareils
- Gestion des changements d'appareils
3. Compatibilité inter-navigateurs
- Utilisation des API :
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Stratégie de repli pour Safari
4. Gestion des appareils multimédias
- Initialisation de l'appareil : getUserMedia(constraints)
- Contraintes des appareils multimédias
- Démarrage et arrêt des flux multimédias
- Gestion des changements d'appareils
5. Enregistrement des appareils avec MediaRecorder
- Démarrage/arrêt du streaming et de l'enregistrement
- Téléchargement de fichier .webm
- Prévisualisation de l'onde en temps réel
Modules complémentaires :
- Enregistrement au format .wav via ScriptProcessorNode
- Visualisation du spectre FFT audio
- Barre de volume en décibels
- Reconnaissance vocale avec webkitSpeechRecognition
Connexion pair-à-pair
1. Serveurs de signalisation
- Options de canal bidirectionnel :
- WebSocket
- Socket.io
- SignalR
- Structure des messages
- Client WebRTC simplifié
- Flux de signalisation complet
2. Chat vidéo via WebRTC
- Architecture : Node.js + ws
- Client WebRTC : RTCPeerConnection
- Tests locaux de bout en bout
Fonctionnalités optionnelles :
- Raccrochage (fermeture de la connexion, arrêt du média)
- Appels de groupe (salles multi-utilisateurs)
- Authentification simple par jeton
3. Partage d'écran
- Utilisation de getDisplayMedia()
- Architecture et options
4. Protocole de description de session (SDP)
- Introduction et contenu
- Lecture et interprétation du SDP
- Codecs :
- Audio & Vidéo
- Négociation et contrôle
- Stratégies de repli
5. Statistiques WebRTC avec getStats()
- Types de statistiques
- Interprétation des statistiques
- Graphiques du débit binaire et de la gigue en direct
- Stratégies d'adaptation de la qualité
6. L'ensemble des sujets
- Études de cas pratiques
Pré requis
Ce cours s'adresse principalement aux développeurs front-end et full-stack, aux architectes techniques et aux ingénieurs qui développent des fonctionnalités de communication en temps réel via le navigateur, telles que le chat vidéo, le partage d'écran ou le streaming audio. Les participants doivent posséder des connaissances solides en JavaScript et en technologies web. Une expérience préalable avec Node.js et les communications basées sur WebSocket est un plus mais n'est pas obligatoire.
Nos clients témoignent (3)
J'ai vraiment apprécié d'apprendre sur les attaques par IA et les outils disponibles pour commencer à pratiquer et à utiliser activement pour les tests de sécurité. J'ai acquis beaucoup de connaissances que je n'avais pas au début, et le cours a répondu à mes attentes. Ma partie préférée de la formation était le navigateur Comet, et j'ai été impressionné par ce qu'il pouvait faire. C'est assurément quelque chose que je vais explorer davantage. Globalement, c'était un excellent cours et j'ai beaucoup apprécié d'apprendre le Top 10 OWASP GenAI.
Patrick Collins - Optum
Formation - OWASP GenAI Security
Traduction automatique
Pratique, exercices, assistance et interrogations en présentiel.
Jose Paulos - INESC TEC
Formation - Tailwind CSS
Traduction automatique
Que chaque leçon technique soit accompagnée de plusieurs exercices pratiques pour bien maîtriser les concepts.
Andrei-Calin Bajea
Formation - OWASP Top 10 2025
Traduction automatique