DEVELOPPEMENT - Autres (Android, Linux embarqué, C, Perl, Subversion,...)

 Introduction à Cordova

  • Kesako
  • Les atouts de Cordova
  • Ecosysteme
  • Les plateformes supportées

Plugins

  • Créer un plugin Cordova
  • Les plugins utiles

Utiliser Cordova

  • L'organisation de projets Cordova 
  • Développer avec Cordova
  • La sécurité
  • Truc et astuces

API utiles pour Cordova

  • Les évènements
  • Les notifications
  • La géolocalisation
  • Les contacts
  • Caméra

Le Stockage mobile

  • LocalStorage
  • SessionStorage
  • WebSQL
  • SQLite

Usage Courant

  • Organiser ses projets Cordova
  • Les bonnes pratiques
  • Plugins utiles
  • Truc et Astuce

L’architecture Hibernate

  • Vue en couche
  • Cycle de vie et gestion de sessions
  • Intégration 

Configurer Hibernate

  • APIs
  • Les sessions
  • Les connexions JDBC
  • SQL
  •  Les caches
  • Rappel XML
  • Intégration 
  • Serveur d’application

Les classes persistantes

  • POJO
  • L’héritage
  • Les méthodes

Les bases ORM

  • Les déclarations
  • Les types
  • Mappings

Persistance des collections et des associations

  • Les types 
  • Les clés étrangères, les éléments et les index d’une collection
  • Associations unidirectionnelles et bidirectionelles

HQL

  • Stocker et charger un objet
  • Syntaxe du language
  • Jointures, agrégation, requêtes polymorphiques
  • Les requêtes
  • Externalisation de requêtes nommées
  • Chargement tardif des propriétés
  • Gestion du cache de second niveau et de requetes 

Introduction

  • tour d'horizon de plusieurs langages de programmation
  • spécificités du langage Perl

Premier programme

  • version simple mais insatisfaisante
  • ajout de #!
  • ajout de pragmas
  • seconde version

Types de variables

  • scalaires
  • tableaux et listes
  • tableaux associatifs

Structures de contrôle de flux

  • if, elsif, else, unless
  • while, until, do
  • foreach, for
  • next, last, boucles nommées

Fichiers

  • traitement de la ligne de commande
  • lecture
  • écriture

Les expressions rationnelles

Les formats

Les sous-programmes

L'opérateur

Les références

  • principe
  • tableaux multidimensionnels

Programmation orientée objet

  • utilisation de modules
  • écriture d'un module

L'archive CPAN

  • présentation
  • tour d'horizon de quelques modules particulièrement utiles

Langage objective-C

  • Introduction 
  • Classes et méthodes
  • Programmation avec Objective-C 2,0
  • @property
  • @protocol
  • Les blocks

Gestion de données avec Foundation

  • NSString, NSDate, NSNumbers, NSArray, NSSet, NSDictionary, NSBundle
  • Concevoir une application IOS
  • Les différents modèles IOS
  • Interface Builder
  • Interactions
  • UITableView
  • Délégation
  • Alerte

Application Multi-vues

  • Application utilitaire
  • Application Navigation
  • Barre d'onglets

MapKit

  • Déplacement
  • Représentation

Animation, animation, sonorisation

  • UISrollView
  • Core Animation
  • Utiliser les animations
  • Traitement et utilisation des fichiers sonores
  • Sécurité

Données

  • Enregistrement
  • SQLite

Accéléromètre

  • Les secousses
  • Données de l'accéléromètre
  • Changement d'orientation

Windows Phone 8

  • Windows Phone 7 et 8
  • Windows Phone Store
  • Visual Studio
  • Blend
  • Silverlight & XNA

Ergonomic Modern UI

  • Qu'est ce que l'ergonomie?
  • Templates d'application
  • Pivot et Panorama
  • Titles, AppBar,System Tray
  • Les tags HTML

Binding

  • DataBinding
  • DataTemplates
  • Composant UI et Managed Bean
  • INotifyPropertyChanged

Notifications

  • Les tuiles 
  • Ecran d'acceul

Cycles de vie

  • Pattern MVVM
  • Gestion de préférences
  • Changement d'état
  • La Passivation
  • Récuperation des données

Les données

  • Accès aux applications
  • Accès aux capteurs
  • Base de donnée
  • Stockage isolé
  • Sécurité

Déploiement

  • Licences
  • Fichier de déploiement
  • Windows phone Store

Rappels sur Linux

  • Description des concepts de l'open-source
  • Bref historique de Linux
  • Sources d'information
  • Mise en place de composants open-source

Temps réel sous Linux

  • Présentation rapide
  • Linux standard
  • Linux préemptif
  • Linux PREEMPT_RT
  • RTLinux, RTAI, Xenomaï
  • Tableau comparatif des solutions

Xenomaï

  • Introduction et présentation
  • Architecture
  • Installation
  • Domaine d'exécution
  • Design d'application

Xenomaï -- interface POSIX

  • Interface temps-réel
  • Interface POSIX
  • Gestion de tâches
  • Horloges et timers
  • Mutex, variables de condition, sémaphores
  • Queues de messages, mémoire partagée
  • Signaux, interruption hardware

Outils de mise au point

  • Interface /proc/xenomaï
  • Watchdog
  • GDB
  • Simulateur
  • Xenomaï
  • Traceur I-Pipe
  • KGDB

Rappels sur Linux

  • Description des concepts de l'open-source
  • Bref historique de Linux
  • Sources d'information
  • Mise en place de composants open-source
  • Installation de la distribution Red Hat
  • Structure de Linux : répertoires, fichiers principaux
  • Gestion des paquetages sous Linux
  • le format RPM (Red Hat Package Manager)
  • Compilation d'un noyau officiel

Embarquer Linux

  • Définition des systèmes embarqués :
    • Contraintes
    • Différents types (temps réel, temps partagé)
  • Tour d'horizon des produits et projets Linux existants :
    • Lineo, MontaVista, PeeWeeLinux
  • Méthodologie de réduction du système :
    • Optimisation du noyau
    • Tri des fichiers à conserver
    • Procédure de démarrage
    • Configuration réseau
  • Contraintes matérielles :
    • Périphériques supportés (disques IDE, DiskOnChip, Flash)
    • Type de système de fichier à utiliser
    • Configuration du noyau associée
  • Gestion des disques mémoires (ramdisk)
  • Interfaces graphiques :
    • X11
    • Frame-buffer
    • QtE
    • MicroWindows
    • Navigateurs Web
  • Linux temps réel :
    • RTLinux
    • RTAI
    • Patch préemptifs
  • Construction d'un système Linux embarqué :
    • Exemple d'un micro-serveur HTTP

Introduction

  • le contrôle de version
  • système centralisé ou distribué
  • panorama des logiciels existants

Subversion

  • historique (RCS, CVS)
  • présentation

Utilisation d'un dépôt existant

  • extraction
  • affichage de l'historique des versions
  • affichage des différences entre versions
  • intégration des modifications dans le dépôt
  • synchronisation avec le dépôt

Création d'un dépôt

  • structure du dépôt
  • création du dépôt
  • méthodes d'accès aux dépôt

Branches et étiquettes

  • principe et similitudes
  • création d'une étiquette
  • création d'une branche
  • fusion d'une branche

Introduction à REST

  • Comprendre l'architecture RESTful

Concevoir un service RESTful

  • Via HTTP
  • Les modèles Objet
  • Les données
  • Les modèles URLs

La gestion des contenus

  • Création et Marshalling prédéfini 
  • Utilisation JAXB

Les codes de réponse

  • Les codes par défaut 
  • Les réponses complexes
  • Les exceptions

Les protocoles

  • Encoding
  • Conneg
  • JAX-RS

Implémenter JAX-RS

  • Jersey

La sécurtié avec JAX-RS

  • Autorisation
  • Authentification

La Scalabilité

  • Les caches
  • L'accés concurents

Découvrir la plateforme Android

  • Les utilisations de la plateforme Android
  • Le modèle Android et son architecture
  • Les outils de développement
  • Présentation des classes de base et des classes utilitaires

Les interfaces utilisateurs avec Android

  • Les spécificités des terminaux mobiles en matière d'affichage et d'interaction avec l'utilisateur
  • L'utilisation des composants graphiques : vues, layouts, menus, listes...
  • La gestion événementielle et la prise en compte des commandes

La persistance des données

  • Utilisation des préférences
  • Utilisation de la base de données (SQLite)

La gestion réseau

  • Utiliser HTTP avec les API Android
  • Introduction à la consommation des services Web

Utilisation des API de (géo)localisation avec Google Maps

  • Présentation de l'API de géolocalisation
  • Utilisation de Google Maps

JavaServer Faces

  • Introduction à l'architecture d'application web à l'aide de JSF

Concevoir les JSF via les facelets

  • Appréhender les facelets
  • Maitriser les librairies de tags
  • HTML RenderKit
  • Les tags HTML

Managed Beans

  • Introduction
  • Déclarer avec des annotations
  • Composant UI et Managed Bean
  • Langage EL (Expression language)
  • Fichiers faces-config.xml
  • Java EE dans le Managed Beans

La navigation

  • Règles de navigation 
  • Navigation

Traitement des données

  • Convertisseurs et validateurs
  • La Bean Validation
  • Messages d'erreurs
  • Les bundles de ressource 
  • Les convertisseurs et validateurs personnalisés

Pages Facelets complexes

  • Composant DataTable
  • Facelets AJAX tags
  • Facelets UI tags
  • Facelets Templating

Développer des composants UI composites

  • Les composant composites

Programmation événementielle

  • Cycle de vie d'une requête 
  • Value change
  • Evénements de type action

Configurer et déployer des applications JSF

Les Web Services

  • Les technologies utilisées
  •  XML dans Java
  • SOA
  • Les annuaires

XML et les API Java

  • Domaine d'application 
  • Les requêtes SOAP
  • XML et SOAP
  • Langage EL (Expression language)
  • Fichiers faces-config.xml
  • Java EE dans le Managed Beans

Projets JAX-WS

  • Règles de navigation 
  • Navigation

Projets JAX-WS RI

  • La boite à outils SOAP
  • Architecture JAX-WS RI
  • Composant Jersey

Sécurisation

  • Authentification
  • Autorisation
  • Cryptage
  • Facelets Templating

Introduction

  • Presentation & historique
  • Apercu d'une application simple
  • Environnement de développement

Les modèles

  • Model & Field
  • Les champs de modèles
  • Interface d'administration

Les templates

  • Introduction
  • Syntaxe 
  • Tags
  • Filtres
  • Héritage & inclusion

Les formulaires

  • Form, Field, Widget
  • Formulaires simple
  • ModelForm
  • Modèles

ORM

  • SGBD supportés
  • Requetage

Administration avancée

  • Administration du site
  • Personnalisation
  • Authentification
  • Internationalisation
  • Interconnexion

Les outils de développement

  • Compilation et édition de liens avec gcc et make
  • Les débogueurs
  • Les profileurs
  • Vérification et outils de mise en forme

Les appels systèmes classiques

  • Conformité de Linux à POSIX.1
  • La gestion des processus fork et exec
  • Gestion de l'environnement getenv, etc.
  • Une bonne terminaison d'un programme
  • Les Inter Process Communications (IPC)
  • Les pipes classiques et les named pipes

La gestion des threads sous Linux

  • Conformité de Linux à POSIX 1.c
  • Principe et implémentation
  • Avantages et inconvénients par rapport au fork
  • Création de threads
  • Les différents attributs
  • Gestion de l'exclusion mutuelle (mutex)
  • Gestion des données et des signaux des threads

Communiquer sur le réseau

  • Les appels systèmes fondamentaux
  • Les sockets DGRAM : implémentation d'un client-serveur en UDP (non connecté)
  • Les sockets STREAM : implémentation d'un client-serveur TCP (connecté)
  • Les options importantes

Utiliser les services d'inetd

Gestion de la mémoire

  • Rappel sur les variantes de malloc
  • Configuration de l'algorithme de malloc
  • Suivi avec mtrace
  • Verrouillage de pages mémoire
  • Electricfence
  • Gestion des fuites mémoires et outils associés
  • Routines avancées de traitement des blocs mémoire

Gestion de bibliothèques

  • Création de bibliothèques statiques, partagées et dynamiques
  • Utilisation approfondie de make

Construire des applications pour Linux

  • Gestion des dépendances (automake, autoconf)
  • Construction (make)

Introduction

  • le contrôle de version
  • système centralisé ou distribué
  • panorama des logiciels existants

GIT, une nouvelle approche de la gestion de sources

  • historique, comparaison (Linux, svn)
  • présentation

La théorie, dépôts, branches et étiquettes

  • principes : dépôt, clone, push, pull, rebase
  • création d'une étiquette
  • création d'une branche
  • fusion d'une branche

Développement basé sur GIT

  • les dépôts personnels
  • les commandes de base
  • travail en équipe : le rôle d'intégrateur Git, les pull-requests
  • intégration à une forge (ex : atlassian / jira / fisheye / crucible ou github)

Création et utilisation d'un dépôt

  • structure du dépôt
  • création du dépôt
  • méthodes d'accès aux dépôt
  • exemples d'utilisation (merge, rebase, fast forward)
Subscribe to Notre catalogue de formations