Lecture automatique
Complétion automatique
Partie précédente
Valider et continuer
Créer des apps iOS : Niveau avancé (iOS 12)
Introduction
Introduction (1:35)
Le forum (2:01)
Obtenir les codes sources (4:00)
1.1 − Objectif : IHM Dynamique
Objectif et plan (1:07)
1.2 − Notions de Swift
Fonctions mathématiques de la bibliothèque standard (3:41)
Générer un nombre aléatoire (5:16)
willSet et didSet (5:52)
Paramètres avec valeurs par défaut (2:11)
1.3 − UIKit
Les propriétés animables de UIView (6:12)
Animer les propriétés (6:30)
A propos des contraintes auto-layout (4:02)
Animer le changement de valeur constante (1:58)
Ressorts et inertie (4:21)
Transitions entre les vues (3:16)
UIPropertyAnimator (5:25)
safeAreaInsets (4:38)
1.4 − Tests unitaires
Principes des tests unitaires (3:27)
Configurer son projet (4:18)
Premier test automatisé (6:50)
Développement orienté par les tests : TDD (4:18)
1.5 − APP : Nombre Mystère
Présentation de l’app à réaliser (3:35)
Projet et IHM minimale (5:35)
GameController (3:23)
GameControllerTests (5:41)
Premiers tests au vert (3:53)
Scénario de jeu simple (6:02)
Connexion de l’IHM avec le GameController (6:26)
Préparation des indices utilisateur (6:02)
Calculs des indices dans le GameController (3:52)
Affichage des indices utilisateur (3:24)
Préparation de la barre d’intervalle (4:22)
Affichage de la limite basse graphiquement (4:21)
Liaison storyboard et constantes (3:17)
Ratio points du jeu et points de l’écran (5:20)
Application des contraintes avec ratio (5:26)
Gestion des rotations d’écran (2:42)
Améliorations d’ergonomie (4:46)
Animations de la barre (8:12)
Animations de transitions (5:48)
Simplification de la gestion de la barre d’intervalle (11:52)
Génération du nombre aléatoire (6:49)
Correction et test de non régression (4:36)
2.1 − Objectif MapKit
Objectif et plan (2:00)
Swift : init optionnel (4:26)
Swift : les énumérations - partie 1 (4:30)
Swift : les énumérations - partie 2 (4:24)
2.2 − Les bases de MapKit
Configuration du projet (2:21)
MKMapView (5:23)
Gestion des coordonnées (3:01)
Placer la carte (3:21)
2.3 − GeoSwift
Choix de la source de données (3:11)
Installation de GeoSwift (6:47)
Préparation de l’URL et de App Transport Security (3:04)
Télécharger et traiter le GeoJSON (3:55)
2.4 − Les annotations dans MapKit
Le principe des annotations (5:51)
MKMarkerAnnotationView (8:28)
2.5 − APP : Busbus
Création de la classe du modèle (3:45)
Initialisation des objets depuis le json (9:46)
Personnalisation des vues (4:52)
Regrouper les annotations (4:11)
Personnalisation des regroupements (6:31)
Aller plus loin (3:28)
3.1 − Objectif : Machine Learning (partie 1 : le langage)
Objectif et plan (0:49)
Principes du Machine Learning (4:01)
Analyse du langage humain (4:16)
3.2 − Notions de Swift
Les boucles (5:02)
Optionnels et valeurs par défaut (2:35)
Closures (6:20)
3.3 − Foundation
NSString (4:00)
NSRange (3:30)
NSLinguisticTagger partie 1 (7:44)
NSLinguisticTagger partie 2 (4:44)
3.4 − APP : Amélioration de LifeGoals
Présentation de l’App (1:15)
Création de la classe Goal (2:31)
Réorganisation du GoalManager (5:17)
Analyse du langage (6:04)
Analyse approfondie du langage (2:27)
4.1 − Objectif : Sécurité
Objectif et plan (1:28)
4.2 − Notions de Swift
Variables et fonctions statiques : théorie (4:36)
Variables et fonctions statiques en Swift (4:45)
Extensions (5:37)
4.3 − UIKit
UIPasteboard : sécuriser la copie (10:48)
Déclencher manuellement une UIStoryboardSegue (5:02)
Afficher un nouvel écran sans storyboard (3:57)
4.4 − Security et LocalAuthentication
Fonctionnement de la Keychain (2:51)
Vérifier la présence du propriétaire (9:42)
KeychainAccess (3:49)
4.5 − Realm
Configurer Realm (3:35)
Chiffrer numériquement le fichier Realm (2:49)
4.6 − APP : Safety First 2
Présentation de l’app (2:31)
Réorganisation du projet (2:52)
Création du VaultManager (7:20)
Préparation du chiffrement de Realm (5:12)
KeychainAccess et cocoapods depuis le Terminal (3:49)
Génération de nombre aléatoires et pointeurs (9:43)
Sauvegarder et charger la clé de cryptage (8:24)
Gestion du mot de passe principal (5:15)
Création du GateKeeperViewController (5:38)
Mise en page du GateKeeper (4:44)
Vérification du mot de passe (2:29)
Création du SetupViewController (6:10)
Enregistrement du mot de passe initial (8:26)
Ajout du bouton TouchID et FaceID (5:53)
Authentification biométrique (7:46)
Limiter la durée de vie du mot de passe dans le presse papier (6:56)
Finalisation (2:59)
5.1 − Objectif : Notifications
Objectif et plan (1:48)
5.2 − Notions de Swift
escaping closures (3:40)
5.3 − Notifications utilisateur
Publier des notifications locales (2:30)
Demander l’autorisation à l’utilisateur (4:17)
Préparer la requête de notification (4:12)
Traiter la réception d’une notification en direct (5:42)
Gérer les actions utilisateur (4:01)
Les catégories de notifications (7:16)
Ajouter des pièces jointes (4:01)
Gérer les sons et les badges (2:40)
5.4 − Notifications PUSH
Principe des notifications Push (4:24)
Configuration du projet et du certificat (6:38)
Obtention du token sur l’appareil de l’utilisateur (3:30)
Tester ses notifications push avec Pusher (3:36)
5.5 − APP : Safety First
Présentation du projet (1:42)
Point de départ (2:58)
Autorisation utilisateur (5:07)
Programmation de notification (4:57)
Notification avec son et image (4:20)
Autoriser l’affichage de notifications en temps réel (4:01)
Stocker des infos dans la notification (6:18)
Afficher un controlleur spécial lors d’un clic sur une notification (4:45)
6.1 − Objectif : Machine Learning (partie 2 : les images)
Objectif et plan (2:14)
6.2 − Notions de Swift
Lazy vars (7:16)
Intervalles (8:25)
6.3 − Threads et GCD
Ralentissement des performances (3:39)
Le principe des threads et de GCD (4:33)
DispatchQueue.global (6:26)
Personnaliser sa file d’attente (4:30)
DispatchQueue.main (9:02)
6.4 − AVFoundation
Capturer une session vidéo (2:39)
Créer un objet AVCaptureSession (2:23)
Configurer le flux entrant (5:27)
Configurer le flux sortant (1:27)
Traiter les images capturées (5:00)
Afficher le calque de prévisualisation (1:43)
Démarrer la session de capture (3:06)
6.5 − Vision Framework
Principes de Vision (3:17)
Choisir et importer le modèle (4:55)
Préparer la requête (5:04)
Préparer le gestionnaire de requêtes (2:52)
Traiter les observations trouvées (7:09)
6.6 − APP : Vision
Présentation de l’app à réaliser (2:06)
Amélioration du modèle (1:48)
Nettoyage du nom (2:51)
Gestion des hot-dogs (2:41)
7.1 − Objectif : Synchronisation et collaboration en temps réel
Objectif et plan (0:54)
Solutions possibles (7:19)
7.2 − Préparation de Realm Platform
Principes de fonctionnement (2:57)
Créer un compte Realm Cloud et une instance (1:37)
Realm Studio (2:35)
Préparation du projet (3:20)
7.3 − Ajouter Realm Platform à une app existante
Création d’une page d’authentification (4:19)
Authentification au niveau de Realm (6:14)
Configuration de Synchronisation (3:37)
Configuration Realm (6:37)
Mises à jour en temps réel - Partie 1 (3:13)
Mises à jour en temps réel - Partie 2 (7:32)
Conclusion (3:27)
Aller plus loin
Les bonus et réductions (1:26)
Certificat de complétion (3:04)
Et voilà pour ce cours. GG!
Présentation du projet
Les documents sont verrouillés
Si vous êtes déjà inscrit,
veuillez vous authentifier
.
Inscrivez-vous au cours pour débloquer