Archives

Python et Django : mise en oeuvre

28 juin 2015

Python

  • Introduction
  • Les types de données
  • Structures de contrôle et fonctions
  • Les modules et les classes
  • Python 2.7 / Python 3
  • Utiliser Python pour des scripts serveur
  • TP : écrire un script serveur

Django

  • Introduction
  • Les modèles
  • Les URLs et les vues
  • Les templates
  • Le backend
  • TP : faire un premier site en Django

L’authentification avec Django

  • Fonctionnement général
  • Les formulaires automatiques
  • Personnaliser l’authentification
  • La protection Cross Domain
  • TP : sécuriser mon site Web

La gestion de la langue avec Django

  • Fonctionnement général
  • Templates, classes et vues
  • Les fichiers de langue .po et .mo
  • La génération des fichiers de langue et le tag fuzzy
  • TP : internationaliser mon site Web

Mise en production d’un site Django

  • Fichier de settings
  • Debug et logs
  • Déploiement avec WSGI
  • Bases de données
  • Fichiers statiques
  • Les hébergeurs de sites Django
  • TP : configuration du serveur avec apache ou nginx

HTML5: développement de sites web

28 juin 2015

Introduction

  • Introduction
  • Les nouvelles fonctionnalités
  • Nouveautés pour les formulaires
  • Les balises audio et vidéo
  • SVG et Canvas

CSS3

  • Rappels sur les CSS
  • CSS display, float, absolute, relative et flexbox
  • Les prefixes CSS
  • LESS et SASS
  • Ressources
  • TP : mise en forme de mon site Web

Responsive Web Design

  • Introduction
  • Les media queries
  • Des images responsives
  • TP : rendre mon site responsive

Bootstrap CSS

  • Présentation
  • Avantages et inconvénients de Bootstrap
  • Personnaliser son thème Bootstrap
  • TP : faire un site responsive avec Bootstrap

Polices d’icônes

  • Pourquoi utiliser des polices d’icônes ?
  • Font Awesome
  • Faire sa propre police avec Fontastic
  • TP : utiliser Font Awesome dans son site Web

Choisir son framework JavaScript

  • JavaScript
  • Le framework historique : jQuery
  • Les nouveaux framework : AngularJS, ReactJS, Ember, Handlebars
  • Choisir le framework adapté à son projet
  • Bonnes pratiques
  • TP : mise en oeuvre de fonctions JavaScript

Le Web mobile

  • Historique et contraintes
  • Les pièges à éviter
  • Les ressources
  • Le Web mobile de demain

Développer vos applications multimedia avec WebRTC

28 juin 2015

Présentation

  • Les solutions actuelles : ActiveX, Java, Flash
  • Standardisation WebRTC / RTCWeb
  • Architecture générale

Signalisation

  • Principes (JSEP)
  • HTTP polling et les WebSocket
  • Description de sessions – SDP

Flux médias

  • Approche peer-to-peer
  • Protocoles utilisés – SRTP, DTLS, SCTP
  • Flux audio, vidéo, data et DTMF
  • Multiplexage des flux

Gestion des flux audio/video – MediaStream

  • HTML5 / CSS3 – video, audio, canvas
  • L’API MediaStream
  • Les pseudo-caméras de Chrome
  • TP : Mise en place de l’environnement
  • TP : Accès à la caméra, affichage du retour caméra

Gestion des connections (RTCPeerConnection)

  • Génération des offres/réponses SDP
  • TP : Etablissement d’appel multimédia
  • TP : Prise en main du protocole de signalisation
  • TP : Gestion du SDP (RTCPeerConnection)

Transfert des données / DTMF

  • Les API RTCDataChannel et RTCDTMFSender
  • TP : Ajout de la fonction chat
  • TP : Emission de DTMF (Analyse avec Wireshark)

Modification des caractéristiques média

  • APIs MediaStreamTrack et MediaStreamConstraints
  • TP : Désactivation des flux à l’émission/réception
  • TP : Modification de la résolution – Bande passante
  • TP : Sélection des codecs, de la caméra et du micro

Statistiques WebRTC

  • Visualisation sous Chrome et exploitation en Javascript

Traversée des NAT

  • Types de NAT- STUN, TURN, ICE
  • TP : Mise en œuvre de STUN/TURN
  • TP : Visualisation des tests de connectivité sous Wireshark
  • TP : Utilisation forcée du relai TURN

SIP et WebRTC

  • Principes et architectures
  • TP : Déploiement d’un visiophone WebRTC / SIP

Déployer vos services téléphoniques avec WebRTC

28 juin 2015

Introduction

  • Rappel sur les contextes :
    • des réseaux de télécommunications
    • du monde du Web
  • Les solutions actuelles : ActiveX, Java, Flash
  • L’évolution vers WebRTC / RTCWeb
  • Architecture
  • Nouveaux usages

Signalisation

  • Standards (SIP ou XMPP/Jingle) ou propriétaires
  • Le protocole WebSocket
  • Description de session – SDP

Flux médias

  • Approche peer-to-peer
  • Protocole temps-réel – SRTP, DTLS, SCTP
  • Multiplexage des flux audio/vidéo et RTP/RTCP
  • Flux de données – (RTCDataChannel API)
  • Codecs audio et vidéo

Traversée des NAT

  • Signalisation :
    • Ping Pong TCP
    • Spécifique aux protocoles (SIP, …)
  • Flux médias : ICE, STUN, TURN
  • Tests de connectivité

Interopérabilité avec les réseaux opérateurs

Applicatif WebRTC

  • HTML5 / CSS3
  • JavaScript
    • WebSocket API
    • MediaStream API
    • JSEP & RTCPeerConnection API

TP/Démonstrations

  • Récupération du retour caméra
  • Etablissement d’un appel vidéo navigateurs (RTCPeerConnection API)
  • Utilisation du chat
  • Statistiques de qualité audio/vidéo
  • Impacts de STUN et TURN
  • Création et visualisation d’une WebSocket
  • SIP sur WebSocket

Android : l’essentiel pour réussir son projet

28 juin 2015

Présentation d’Android

  • Historique
  • Partenaires et concurrents
  • Android en chiffres
  • Les plateformes matérielles
  • Les fonctionnalités majeures
  • Introduction au développement
  • Versions du système

Android : Système d’exploitation et environnement d’exécution

  • Anatomie de la plateforme
  • Ressources humaines pour le développement
  • Environnement de développement : capacités et limites
  • Principes fondamentaux et composants d’une application
  • Ressources et gestion des configurations
  • Stockage des données
  • Google Play Services

Google Play

  • Plateforme de distribution
  • Statistiques du marché
  • Fragmentation
  • Conseils pour la publication
  • Les autres plateformes de distribution

Ergonomie

  • Anatomie d’une application et design patterns
  • Introduction à Material Design
  • Recommandations ergonomiques

Choix du matériel et gestion de flotte

  • Définir un cahier des charges pour acquérir une flotte
  • Choix des plateformes matérielles et logicielles
  • Mises à jour et applications disponibles
  • Sécurité et gestion de flotte

Monétisation des applications

  • Les différents modes de monétisation
  • Faire connaître son application

Cycle de vie de l’application : conseils et astuces

  • Avant le développement
  • Durant le développement
  • Publication de l’application
  • La publication n’est pas la fin

SIPp : Conception de scripts

28 juin 2015

Contexte d’utilisation

  • Les entités SIP
  • Rappel sur le protocole SIP
  • SDP et les flux RTP/RTCP

Présentation

  • Qu’est-ce que SIPp ?
  • Caractéristiques de SIPp
  • Principes et options de SIPp
  • Documentation, FAQ, mailing list

TP n°1 : Enregistrement SIP (REGISTER)

  • Installation de SIPp
  • Les paramètres de la ligne de commande
  • Les principaux mots clés (variables internes)
  • Ecriture du script d’enregistrement
  • Installation de Wireshark pour analyser le call flow
  • L’utilisation de variables injectées depuis un fichier CSV

TP n°2 : Appel sortant / appel entrant (INVITE)

  • Présentation du call flow SIP à réaliser
  • Ecriture du script
  • Les nouveaux keywords
  • Fonctions dédiées VoIP de Wireshark
  • Intégration continue

TP n°3 : Réalisation d’un test de charge

  • Génération de log
  • Mise en place du test de charge
  • Mode multi-socket

TP n°4 : Simulation de flux audio/vidéo

  • Présentation des options «rtp_echo» et «pcapplay»
  • Réalisation d’un script «rtp_echo»
  • Réalisation d’un script «pcapplay»

TP n°5 : Fonctions avancées

  • Branchement conditionnel
  • Interconnexion de scripts SIPp

TP n°6 : SIPp et la sécurité

  • TLS
  • HTTP digest et AKAv1

Android : Développement d’applications

28 juin 2015

L’ouvrage « Cookbook Développement Android 4 » sera remis à chaque participant en complément du support de cours.

Introduction à Android

  • Présentation : historique, partenaires, concurrence et chiffres clés
  • Plateformes matérielles : terminaux disponible et caractéristiques techniques
  • Plateforme logicielle : fonctionnalités majeures, versions du système et fragmentation
  • Plateforme de distribution et statistiques du marché
  • Architecture de la plateforme et environnement de développement
  • TP : installer l’environnement de développement, créer un projet et configurer un émulateur
  • Architecture d’un projet, ressources et gestion des configurations
  • Anatomie d’une application : composants et AndroidManifest

L’interface graphique

  • Interface utilisateur : anatomie d’une application et design patterns
  • Vues et hiérarchie de vues : l’utilisation du langage XML et les différents layouts
  • Taxonomie des éléments graphiques et gestion des événements
  • TP : créer une interface utilisateur simple, ajouter un gestionnaire d’événements
  • Typographie et internationalisation
  • TP : internationaliser une application
  • Les différents types de menus
  • TP : créer un menu d’options et un menu contextuel « flottant »
  • Toasts et notifications
  • TP : ajouter une gestion basique des erreurs

Activity & Intent

  • Implémenter une Activity : cycle de vie, sauvegarde et restauration d’état
  • Démarrer et faire communiquer plusieurs Activity grâce aux Intents
  • TP : gérer la navigation vers des Activity secondaires, récupérer un contact depuis le répertoire du terminal
  • Implémenter un Fragment : philosophie, cycle de vie, transactions et communication avec une Activity
  • TP : créer un Fragment, faire communiquer Fragment et Activity

Les données persistantes

  • Les différentes options de stockage
  • Le framework des préférences
  • Les bases de données SQLite
  • TP : créer une base de données, insérer des éléments dans la base
  • Implémenter un ContentProvider : insertion, mise à jour, suppression et requête des données
  • TP : créer un ContentProvider
  • Requêter un CursorLoader et implémenter un Adapter
  • TP : afficher une liste de contacts
  • TP : créer un écran de préférences

Personnalisation graphique

  • Composants personnalisés, styles et typographie
  • Taxonomie des Drawable
  • TP : changer l’apparence d’un bouton, modifier l’apparence des éléments d’une liste

Introduction aux services et alarmes

  • Implémenter un Service : philosophie, types et cycle de vie
  • Programmer des alarmes
  • Ecouter le système à l’aide d’un BroadcastReceiver
  • TP : créer un BroadcastReceiver pour capter l’arrivée d’un SMS, afficher une Notification

Accès distants et multithreading

  • Librairies disponibles pour requêter et traiter un contenu distant
  • TP : appeler un web service de météo, afficher la météo du jour dans une WebView
  • Mise en œuvre du multithreading à l’aide d’un Thread ou d’une AsyncTask
  • TP : mettre en œuvre un processus asynchrone, indiquer le chargement à l’utilisateur

Débugger ses applications

  • Débugger une application : traces, mode debug et points d’arrêts
  • Outils complémentaires : hierarchyviewer, layoutopt, monkey, traceview, lint
  • TP : ajouter des logs et des points d’arrêts, débugger son application, utiliser les outils du SDK

Autres applications

  • Les AppWidgets
  • Les live wallpapers

Autres composants

  • Gestion des appels et des messages
  • Gestion de la connectivité
  • Gestion des médias
  • Animations
  • TP : utiliser le lecteur multimédia, sélectionner une image depuis la galerie, prendre une photo via la caméra du téléphone
  • Google Maps : intégration, mise en oeuvre, reverse geocoding
  • TP : utiliser l’API Google Maps
  • Gestion des capteurs

Optimisation du code et des ressources

Recommandations ergonomiques

ESR Groupe H69
Lomaco
image_et_reseau
broadpeak
technicolor
nokia-logo
SFR
Monaco Telecom_550x550
adventiel
Icosnet
Motorola
sierra_wireless
BureauVeritas
Thales
Astellia
Bouygues E&S
athemium
CGI
Extia
Italtel
alten
GFI
DGAC
SII
orange
assystem-logo
ADP
neosoft
NETENSIA
capgemini
HubOne
NIJI
t&t
SopraSteria
ineo
la poste
setelia
Keolis
XURA 90H
Deltadore
econocom
davidson
AIRBUS
DCNS
sagemcom
CMB ARKEA
akio
TuffigoRapidex
Savelec
actility
Modis
cirpack
VA SOLUTIONS2
Groupama-logo
axione
intel
AXIANS
Sofrecom
Viibe