Programmation multi thread
Les instructions exécutées dans un programme sont dans 1 thread
Généralement, les instructions s'éxecutent de manière séquentielle
On peut éxecuter plusieurs instructions parallèlement dans un multi thread
Exécution synchrone
Instructions éxecutées séquentiellement
Exécution asynchrone
Définition
Ensemble de propriétés / attributs pour modéliser un objet
// Exemple de classe très simple et son instanciation
class Etudiant(val name: String)
val etu = Etudiant("Valentin")
println(etu.name) // Valentin
Héritage
open class Person(open val nom: String)
Visibilité
Permet de définir la portée d'une variable / classe
public : visible partout
private : visible dans la classe / le fichier
protected : visible par les classes filles
internal : visible dans le module
Variables
Définition
Android
Système d'exploitation open source, public
Utilisé par plusieurs fabriquants (Samsung, Huawei, Google, Motorola...)
Plusieurs gammes possibles (50€ -> 2000€)
Playstore
Distribuer les applications android
Utilisé par google pour maintenir les app
Vues de l'arborescence
Vue android
Organisation en fonction des rôles
Manifest
Dossier qi n'existe pas physiquement
Fichier de configuration du projet
Point d'entrée de l'application
Définit le nom du package
Introduction
Une vue compose les interfaces du téléphone
Champs de text, images, conteneurs, formulaires, boutons...
Tout ce qui intervient dans l'interraction avec l'utilisateur final
[color=#E35DDA]La vue est la super class pour tout les éléments d'une interface. Notion d'héritage.
Attributs
Etapes de compilation
Compilers
Compilers va compiler les éléments suivants lorsqu'on build une application :
Application module (code source, ressources)
Dependances (librairies...) vont être comilés (vie Compilers).
[color=#E35DDA]Les fichiers java sont d'abord compilés en .class, puis ils seront convertis en .dex puis en .dexfiles
APK
Contexte
Permet d'accéder aux ressources, à des services de base (alamre, notifications...)
Le SDK permet de récupérer le contexte facilement
Exemple de récupération du contexte :
getContexte()
getBaseContexte()
getApplicationContexte()
Exercice 1
Quels sont les différents évènements gérés par le kernel symfony ?
Kernel symfony events doc
Kernel symfony events dispatcher doc
Exercice 2
Créer une nouvelle classe qui implémente l'interface Symfony\Component\EventDispatcher\EventSubscriberInterface afin de rediriger automatiquement l'utilisateur qui se trouve sur l'url A vers B.
<?php
Plusieurs façon d'envoyer un mail :
Utilisation de Swift Mailer --> version antérieur (créer en 2009)
Utilisation de Mailer --> 2019
Notre choix : Mailer
Codebase moderne
Structure de classe + simple
Meilleur intégration de Twig
Documentation symfony
Qu'est-ce qu'un formulaire en symfony ?
Dans les frameworks, on fait la différence entre un formulaire et un champ de formulaire.
En symfony, un formulaire et un champ de formulaire, c'est la même chose.
Un champ = un type de formulaire (exemple : TextType est un champ de formulaire et un formulaire en lui-même)
Un groupe de plusieurs champs de formulaire HTML = un type de formulaire