iOS 10 et Swift 3 : Le cours complet

Créez vos apps iPhone et iPad et publiez-les sur l'AppStore
4.5 (580 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
2,354 students enrolled
$200
Take This Course
  • Lectures 133
  • Length 19 hours
  • Skill Level Beginner Level
  • Languages French
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 7/2016 French

Course Description

Ce cours fera de vous un développeur d'applications mobiles en vous permettant d'apprendre à développer une application iOS de de A à Z.

Durant la préparation je me suis appuyé sur mes 8 ans de développement iOS et 6 ans d'enseignement de la programmation en école d'ingénieur pour qu'il soit adapté, et progressif.

Le principe consiste à alterner quelques chapitres théorique avec beaucoup de pratique et de l'apprentissage par projet.

Vous découvrirez plusieurs notions d'algorithmes, de programmation orientée objets et surtout le Swift 3 ainsi que les classes du kit de développement iOS 10

What are the requirements?

  • Ce cours peut être suivi par des grands débutants mais ce sera plus simple si vous avez quelques notions de programmation
  • Vous devez disposer d'un Mac avec au minimum El Capitan (10.11.5) pour installer XCode 8
  • Si vous souhaitez publier sur l'AppStore, il est recommandé d'avoir à disposition au moins un appareil iOS (iPhone, iPod, iPad) pour réaliser des tests approfondis que les simulateurs ne peuvent pas permettre..

What am I going to get from this course?

  • Développer une application iOS de A à Z
  • Publier vos application sur l'AppStore d'Apple

Who is the target audience?

  • Ce cours iOS Ce cours est destiné aux débutants cherchant à développer des applications iOS 10 en utilisant Swift 3
  • Si vous êtes un développeurs iOS expérimenté, je vous recommande de vous orienter vers d'autres cours car je prendrai le temps d'expliquer la plupart des concepts de programmation que vous connaissez déjà

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Préparation de l'environnement
01:48

Prenez le temps de découvrir comment mieux gérer ce chapitre et optimiser votre formation

04:37

Trouvez XCode 8 parmi les autres logiciels en beta sur le site développeur de Apple pour obtenir l'archive d'installation

03:59

Découvrez les outils installés en complément de XCode, qui vous assisteront au quotidien dans vos tâches de développement

06:08

Apprenez à naviguer dans les différentes sections de XCode 8 et découvrez les différents volets d'inspection de l'IDE (partie 1)

04:25

Apprenez à naviguer dans les différentes sections de XCode 8 et découvrez les différents volets d'inspection de l'IDE (partie 2)

04:18

Testez le code de vos applications sans avoir à quitter votre Mac en utilisant les simulateurs iOS qui sont des iPhones ou iPads virtuels utilisable avec le clavier et la souris.

06:46

Pour tester votre application dans des conditions réelles, rien de tel qu'un véritable appareil. Utilisez votre propre iPhone, iPod ou iPad pour y installer votre application et la mettre à jour après chacune de vos modifications.

03:23

XCode 8 permet de consulter la documentation officielle du SDK iOS 10 directement depuis l'IDE et propose des raccourcis pour accéder rapidement au chapitre ou à la section qui nous intéresse en fonction du contexte d'édition.

Section 2: Les bases de Swift 3
07:37

Découvrez comment utiliser Swift Playgrounds pour iPad en parallèle de ce cours pour faciliter et approfondir vos connaissances du langage Swift en version 3

03:38

Les Playgrounds vous permettrons dans XCode de tester et découvrir la programmation en Swift sans avoir à vous préoccuper des notions de compilation ou d'exécution.

14:13

Apprenez à créer et à utiliser des variables et des constantes en Swift 3

06:01

Créez, concaténez et manipulez des chaînes de caractères en Swift 3

10:52

Contrôlez votre fil d'exécution et choisissez les instructions à exécuter en fonction de valeurs de vos variables

13:55

Maîtrisez votre fil d'exécution en répétant certaines instructions selon vos conditions

10:02

Découvrez la programmation orientée objets avec cette première approche : la notion d'objets et de classes.

Ce concept est certes abstrait, mais il est central en Swift et dans tous les autres langages orientés objet (Java, C#, Objective-C, etc.). 

20:02

Apprenez comment donner du pouvoir à vos objets grâce aux fonctions. 

10:41

Les optionnels permettent de modéliser le risque de valeur absente. Ils vous permettront de toujours savoir si il est vraiment nécessaire de tester qu'une variable est vide ou si elle ne l'est pas. C'est un concept souvent difficile à appréhender pour les débutants en Swift mais qui devient vite indispensable lorsqu'on a appris à s'en servir.

03:06

Voici un fichier playground pour XCode 8  qui reprend l'essentiel des points abordés dans ce chapitre. Vous pouvez l'utiliser comme base de travail pour progresser en Swift 3 

Quiz : Swift 3 - Les bases
3 questions
Section 3: Les bases du SDK
03:27

Tout le code permettant d'interagir avec le système est découpé en frameworks. Chaque Framework a un but bien précis et contient un ensemble de classes et de fonctions ciblées

03:56

Découvrez les responsabilités générales de UIKit, le framework qui va vous permettre de construire l'architecture et l'interface graphique de votre application iOS

06:46

Foundation est un framework qui fournit des objets utilitaires de base qui sont très fréquemment utilisés. Ils sont même utilisés pour créer les autres frameworks du système.

Section 4: Les bases de UIKit
02:58

Le UIApplicationDelegate vous servira à réagir au cycle de vie de votre application : vous pourrez savoir quand elle vient de démarrer, quand elle vient de passer en arrière plan, quand elle va se terminer, quand vous recevez une notification, etc.

Ces évènements du cycle de vie de votre application vont vous permettre d'exécuter du code important si vous voulez réagir lors de ces étapes.

06:55

UIKit sera responsable d'afficher et de mettre en page les vues visibles à l'écran. Ces vues sont placées selon on système de coordonnées relatives à l'écran ou à leur vue parent. Cette vidéo vous expliquera plus en détail ce système de coordonnées des vues de UIKit

07:07

Découvrez UIView, le type de base utilisé pour créer tous les types de vues disponibles sous iOS

04:15

Le UIViewController est probablement la partie dans laquelle nous ajouterons le plus de code, il est indispensable de bien comprendre à quoi elle sert et quelles sont ses responsabilités. 

Dans cette première vidéo sur le contrôleur je me concentrerai sur l'objectif et le rôle global de ce composant central dans les interfaces utilisateurs sous iOS

05:33

Apprenez comment créer des connections entre vos storyboards et votre contrôleur de vue en faisant référence à des objets graphiques depuis votre code en Swift

05:35

Apprenez à déclencher l'exécution de code dans vos contrôleurs lorsque l'utilisateur interagit avec des objets graphiques grâce aux actions

Section 5: Utiliser Auto Layout
03:58

Visualisez l'intérêt de Auto Layout en prenant en compte la complexité de mise en page sur un contexte qui change en permanence (tailles d'écran, orientation, multi-tâche, internationalisation, etc.)

04:57

Découvrez les principes de fonctionnement de Auto Layout avant de plonger dans les détails de son utilisation.

06:21

Les vues ont une taille intrinsèque qu'il faut toujours essayer de respecter car elle se calcule automatiquement en fonction du contenu.

Si on le souhaite on peut fixer une taille via des contraintes mais cela peut poser des problèmes en cas de changement de contenu.

06:03

Pour placer votre vue, vous devez lui donner des contraintes d'alignement. Les contraintes d'alignement les plus fréquentes sont celles par rapport à la vue parent que nous abordons dans cette vidéo.

07:44

Que ce soit pour l'alignement ou pour la taille de vos vues, vous pouvez les exprimer en vous basant sur les autres vues.

05:20

Chaque contrainte dispose de propriétés permettant de les personnaliser après leur création pour affiner leur comportement ou les priorités de chaque contrainte par rapport aux autres

06:05

Lorsque l'espace est insuffisant pour respecter toutes les contraintes et les tailles intrinsèques, alors certaines vues vont devoir tronquer leur contenu. La résistance à la compression va permettre de créer des priorités pour savoir quelle vue doit afficher son contenu en entier et quelle vue doit le tronquer.

03:55

Lorsque l'espace disponible est trop grand pour respecter toutes les contraintes et les tailles intrinsèques, alors certaines vues vont devoir s'agrandir au delà de leur taille intrinsèque. La force de câlins va permettre de décider quelle vue peut garder sa taille et quelle vue doit être agrandie.

05:26

Il peut y avoir 2 types de problèmes avec Auto Layout :

  • Une contradiction : plusieurs contraintes se contredisent et le système ne sait pas laquelle écouter
  • Une ambiguïté : les contraintes ne donnent pas assez d'informations au système pour calculer une position et une taille pour la vue.

Dans cette vidéo nous verrons comment trouver et résoudre ces problèmes

Section 6: App 1 : Le Bloc note
Présentation de l'application et des consignes
02:38
02:07

Cette première étapes est plutôt simple, elle consiste à créer un nouveau projet d'application et à choisir un modèle tout prêt dans XCode

16:10

Créez votre interface graphique et rendez-là adaptative grâce à Auto Layout

09:28

Connectez votre interface graphique à votre contrôleur en Swift en utilisant des outlets et des actions depuis votre Storyboard

11:31

Développez la logique de votre bloc note, en utilisant Swift 3 dans votre contrôleur de vue

13:46

Ajoutez de la persistance en permettant à vos utilisateur de conserver les notes saisies dans leur bloc-note au fil des lancements de votre application

Section 7: Swift - Notions approfondies
12:22

Apprenez à utiliser et à manipuler des tableaux de données en Swift qui vous seront extrêmement utiles avec le SDK de iOS

07:00

Les dictionnaires sont des tableaux qui utilisent des objets (souvent des chaines de caractères) comme clés de cases à la place des numéros. Ils sont très souvent utilisés en programmation, en Swift comme dans les autres langages.

13:04

Découvrez l'un des concepts les plus importants de la programmation orientée objets avec l'héritage. Il vous permettra de diminuer grandement la quantité de code à implémenter tout en fournissant beaucoup de souplesse de fonctionnement.

C'est un concept abstrait que nous aborderons ici dans une première vidéo qui tente de simplifier l'accès aux débutants en programmation orientée objets

12:37

Continuez à découvrir les optionnels en Swift 3 avec des astuces permettant de simplifier l'écriture tout en gardant la sécurité offerte par ce mécanisme

12:03

Les protocoles et la délégations sont beaucoup utilisés dans le SDK de iOS et notamment dans UIKit pour suivre les évènements associés aux objets graphiques ou aider à construire des objets graphiques complexe. 

C'est un mécanisme essentiel en programmation orientée objet et selon les langages on parle de protocoles ou d'interfaces.

Section 8: UIKit : les composants graphiques de base
07:21

Le composant UILabel vous permettra d'afficher du texte non éditable dans vos applications

05:51

UIButton vous permettra de créer des boutons système ou des boutons personnalisés pour déclencher des actions dans votre contrôleur de vue

03:02

Vous utiliserez ce composant pour afficher des images dans votre interface utilisateur.

05:45

Vous découvrirez les deux types d'indicateurs de chargement disponibles :

  • L'indicateur d'activité indéterminé
  • L'indicateur de progrès
15:30

Le champ texte est un composant qui dispose de plusieurs caractéristiques de personnalisation et vous pourrez le contrôler très précisément en utilisant la délégation et les protocoles

05:26

UITextView peut agir soit comme un label avancé permettant d'afficher de larges textes défilables ou alors comme un champ texte acceptant plusieurs lignes de saisie.

C'est un composant très complet et pratique.

Section 9: Naviguer entre plusieurs écrans
08:22

Découvrez comment créer un nouvel écran dans votre Storyboard et comment y associer un contrôler de vue en Swift

06:48

Affichez un autre écran de façon modale qui masquera complètement le premier écran jusqu'à avoir terminé sa tâche.

Les vues modales ne sont pas conçues pour réaliser toute la navigation de votre app, mais plutôt pour demander à l'utilisateur un complément d'informations sur la vue en cours.

15:40

Le contrôleur de navigation vous permettra de proposer à vos utilisateurs la possibilité d'"avancer" dans les écrans de votre application tout en pouvant à tout moment revenir en arrière si il le souhaite.

C'est clairement le contrôleur le plus utilisé sur iOS, autant par Apple pour les applications système (contact, iTunes, Messages, etc.) que par les développeurs tiers.

10:11

Ce contrôleur vous permettra d'afficher en bas de l'écran une barre d'onglets associés à des écrans. L'utilisateur pour basculer facilement et rapidement d'un onglet à l'autre.

C'est le contrôleur qui est utilisé par exemple dans l'app de téléphone pour basculer entre les favoris, l'historique des appels, les contacts, le clavier et la messagerie.

Section 10: Réagir en fonction des évènements
06:42

Vous pourrez utiliser UIApplicationDelegate ou être tenu au courant de l'évolution du cycle de vie de votre application (en arrière plan, au premier plan, active, inactive, en sommeil, etc.)

Vous utiliserez aussi UIApplicationDelegate pour gérer les options de lancement de votre application

07:54

Sur le même principe que pour l'application en général, vous pouvez être notifié dès que votre contrôleur de vue vient d'être chargé, va apparaitre,  disparaitre, doit libérer sa mémoire, etc.

Cela vous permettra d'effectuer le bon code au bon moment

11:54

Il existe une multitude de notifications que vous pouvez surveiller depuis n'importe quel endroit de votre code d'application. Ces notifications sont nombreuses et variées et peuvent couvrir les cycles de vie de l'app ou des évènements isolés comme par exemple :

  • Apparition / Disparition du clavier
  • Prise d'une capture d'écran par l'utilisateur
  • Passage à l'heure d'été / d'hiver
  • etc.
Section 11: App 2 : Diaporama photo
05:54

Vous découvrirez l'application à développer ainsi que le concept de Timers.

Les Timers vous permettront d'exécuter du code plus tard ou à un intervalle régulier.

09:03

Nous commencerons par créer notre projet et utiliser Auto Layout pour configurer efficacement notre premier écran

09:57

Nous verrons ici comment afficher correctement les images en plein écran en les connectant aux boutons "précédent" et "suivant"

04:49

Nous ajouterons un timer pour que celui-ci enchaine automatiquement les images toutes les 3 secondes, mais surtout sans gêner l'utilisation des boutons manuels

09:08

Nous utiliserons UserDefaults pour permettre à l'utilisateur de personnaliser la vitesse du diaporama ou masquer les boutons suivant/précédent si il le souhaite

14:24

Nous concevrons l'interface et le code en Swift 3 pour que l'utilisateur puisse changer les valeurs de ses options

Section 12: UIKit : les composants graphiques avancés
07:44

UITableView vous permettra de créer des listes défilables sans limite de taille.

Ce composant est central mais relativement complexe à mettre en oeuvre lorsqu'on début sous iOS.

Cette première vidéo vous explique les grands principes avant de voir la pratique dans les prochaines vidéos

19:25

Vous découvrirez comment créer et remplir votre première table view en utilisant des cellules ayant un style par défaut.

13:27

Vous apprendrez d'abord à utiliser UITableViewController pour simplifier votre code puis nous verrons comment créer et gérer des cellules personnalisées conçues depuis un Storyboard

13:42

Vous verrez comment réagir à la sélection d'une de vos cellules de table en navigant vers un nouvel écran présentant les informations de la ligne en question

Section 13: Swift 3 : Niveau avancé
11:43

Le chaînage des optionnels permet de définir le comportement attendu lors de l'appels à des propriétés dont certaines sont optionnelles

18:30

Les closures vont vous permettre de transmettre des instructions de codes en paramètres de fonctions. Elles sont extrêmement utilisées dans le SDK de iOS et vous seront très utiles une fois que vous saurez les maîtriser

00:55

Une modification au niveau de Swift 3 à rendu une partie du code de la vidéo précédente obsolète. Voici les changements à voir

14:59

Découvrez plus en détail les principes qui animent la création et la préparation des objets issus de vos classes. Vous apprendrez à utilisé les initialiseurs désignés et de conforts.

09:08

Apprenez à exploiter les erreurs que les API système peuvent vous générer en utilisant le try...catch ou en les convertissant en optionnels

Section 14: Utiliser les dépendances
04:26

Cocoapods est un projet Open Source qui vous permettra de gérer les dépendances entre votre projet iOS et les différentes librairies externes que vous utiliserez.

03:18

Vous apprendrez à configurer Cocoapods pour votre projet en créant un Podfile dédié à votre application

07:55

Vous installerez votre premier Pod en utilisant Cocoapods à partir de Github. Vous verrez aussi comment utiliser le pod dans la version spécifique à une branche de développement

Section 15: Les opérations réseau HTTP
07:12

Vous apprendrez à utiliser Alamofire pour communiquer avec un serveur en ligne en effectuant des chargement de données dans un sens comme dans l'autre (download/upload).

05:47

Vous apprendrez à utiliser Alamofire pour charger des données texte depuis un site web pour afficher le HTML dans votre application.

12:25

Vous échangerez avec un web service en JSON pour remplir votre UITableView avec les données obtenues depuis le web

Section 16: App 3 : Carnet d'adresses
01:46

Vous découvrirez à quoi ressemblera notre résultat final pour ceux qui souhaitent essayer de le réaliser par eux même avant de voir les vidéos de correction

14:02

Vous apprendrez à convertir du JSON obtenu en ligne en objets Swift que vous pourrez utiliser dans votre application. C'est ce qu'on appelle la création du modèle métier.

Vous verrez aussi 2 concepts du Swift 3 : les initialisateur faillibles et le guard.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Maxime Britto, Directeur Technique @ DEV2A

Maxime est développeur d'applications et formateur spécialisé dans les technologies du web et du mobile. Il a commencé son parcours chez Pleyo, Areva ou même Apple à Cupertino.
A son retour des états unis il décide de créer sa propre entreprise et, avec son meilleur ami, ils lancent DEV2A, une plateforme qui génère des applications mobiles natives sous iOS et Android.
Leur idée permet à des dizaines de collectivités, entreprises et associations n'ayant jamais programmé de créer eux-même des applications mobiles avec pour seul outil leur navigateur Internet.
En parallèle de son entreprise, il retrouve régulièrement les bancs de l'école dans laquelle il a fait ses études pour y former les futurs ingénieurs au monde du développement.

Ready to start learning?
Take This Course