S7 INF Interface Homme-Machine
Présentation
Cette UE permet d'introduire les concepts de base de la programmation des interfaces graphiques évoluées et avancées pour le Web et Android. L'objectif est de pouvoir développer des interfaces de qualité respectant la norme MVC (Model-View-Controller) ainsi que les outils existants permettant de mettre en place ce type de modèles.
La partie Web est focalisée sur l’utilisation des langages HTML / CSS / TypeScript. L’API Flexbox est privilégiée. Nous mettons en pratique nos connaissances au travers d'exemples guidés et d'un projet à la thématique libre mais devant respecter plusieurs critères de qualité.
La partie Android, elle permet d’introduire les concepts de base de l’environnement de programmation mobile Android Studio et le SDK Android. Elle est composée de 4 parties. La première partie présente l’environnement de développement Android dont le système, le SDK et la plateforme Android Studio. La deuxième partie présente les concepts fondamentaux et les composants d’un projet et d’une application. Le partie 3 présente les techniques de navigation entre plusieurs activités d’une application. La dernière partie sera consacrée à la partie IHM sous Android.
Pré-requis nécessaires
Java, HTML, CSS, JavaScript
Objectifs
Maîtriser les langages et environnements suivants :
- HTML, CSS, Flexbox et TypeScript
- Programmation Android (SDK et Android Studio)
- Modélisation MVC et techniques de programmation d'interfaces graphiques ergonomiques
Compétences visées
- savoir placer l'utilisateur au centre d’une application
- savoir séparer le noyau et l’ihm d'une application
- connaître les mécanismes pour garder la cohérence noyau <=> ihm (Model-View-Update (MVU) )
- connaître les critères externes d’une application (point de vue de l’utilisateur)
- connaître les critères critères internes (point de vue développeur)
- distinguer les approches ihm pour le desktop et pour le web
- avoir des notions de Threads et de tâches (Task) et leurs utilités pour les IHMs (Java/JavaFX et Android)
- savoir programmer pour Android (SDK) grâce à l'environnement de développement Android Studio
- connaître les Activités et les Intents
- être capable de mettre au point des IHMs pour Android
- programmer des composants personnalisés (Android)
Bibliographie
https://developer.android.com/training/index.html
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Langue d'enseignement
Français