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

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