Plan du cours
Jour 1 – Gestion des appareils multimédias
1. Permissions du navigateur avec navigator.permissions
- Accès au matériel :
- Webcam
- Microphone
- Permissions optionnelles :
- Géolocalisation
- Notifications
- Presse-papier (lecture/écriture)
- Vérification des permissions et statut
- Limitations et compatibilité des navigateurs
- Cas pratique
2. Lecture des appareils multimédias avec navigator.mediaDevices
- Énumération des appareils
- Gestion des changements d'appareil
- Cas pratique
3. Compatibilité cross-navigateur
- Utilisation de l'API :
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Stratégie de retour pour Safari
- Cas pratique
4. Gestion des appareils multimédias
- Initialisation des appareils : getUserMedia(constraints)
- Contraintes d'appareil multimédia
- Démarrage et arrêt des flux médias
- Gestion des changements d'appareil
- Cas pratique
5. Enregistrement d'appareils avec MediaRecorder
- Démarrage/arrêt du streaming et de l'enregistrement
- Téléchargement du fichier .webm
- Aperçu en temps réel de la forme d'onde
- Cas pratique
Modules optionnels :
- Sauvegarde au format .wav avec ScriptProcessorNode
- Visualisation du spectre FFT audio
- Barre de volume en décibels
- Reconnaissance vocale avec webkitSpeechRecognition
Jour 2 – Connexion peer-to-peer
1. Serveurs de signaling
- Options de canal bidirectionnel :
- WebSocket
- Socket.io
- SignalR
- Structure des messages
- Client WebRTC simplifié
- Flux complet de signaling
- Cas pratique
2. Visioconférence via WebRTC
- Architecture : Node.js + ws
- Client WebRTC : RTCPeerConnection
- Test local E2E
- Cas pratique
Fonctionnalités optionnelles :
- Raccrochage d'appel (fermeture de la connexion, arrêt des médias)
- Appels de groupe (salles multi-utilisateurs)
- Authentification simple basée sur un jeton
3. Partage d'écran
- Utilisation de getDisplayMedia()
- Architecture et options
- Cas pratique
4. Protocole Session Description (SDP)
- Introduction et contenu
- Lecture et interprétation de l'SDP
- Codecs :
- Audio & Vidéo
- Négociation et contrôle
- Stratégies de retour en cas d'échec
- Cas pratique
5. Statistiques WebRTC avec getStats()
- Interprétation des statistiques
- Graphiques en direct du débit binaire et du jitter
- Stratégies d'adaptation de la qualité
- Cas pratique
Pré requis
Nos clients témoignent (5)
J'ai apprécié le fait que Gunnar ait écrit pratiquement tout le code à la volée pendant que nous le parcourions, mais qu'il y ait beaucoup de matériel préparé à l'avance sur le lecteur Google auquel je peux me référer après la formation. Le code que Gunnar a écrit sur la base de l'échantillon de données que j'ai fourni à l'avance a également été extrêmement utile et a rendu la formation pertinente pour nos propres ensembles de données.
Ranvir - Schroders Personal Wealth
Formation - Visual Studio Code
Traduction automatique
Plusieurs exemples pour chaque module et grande connaissance du formateur.
Sebastian - BRD
Formation - Secure Developer Java (Inc OWASP)
Traduction automatique
Module3 Attaques et exploits des applications, XSS, SQL injection Module4 Attaques et exploits des serveurs, DOS, BOF
Tshifhiwa - Vodacom
Formation - How to Write Secure Code
Traduction automatique
Exemples concrets.
Kristoffer Opdahl - Buypass AS
Formation - Web Security with the OWASP Testing Framework
Traduction automatique
Les connaissances du formateur étaient excellentes, et la façon dont les séances étaient organisées permettant au public de suivre les démonstrations a vraiment aidé à ancrer cette connaissance, contrairement à simplement écouter passivement.
Jack Allan - RSM UK Management Ltd.
Formation - Secure Developer .NET (Inc OWASP)
Traduction automatique