الانتقال إلى المحتوى الرئيسي
Gust Training
Unix - Linux - macOS

Formation Développement d’applications pour macOS

Objectifs de la formation Développement macOS Cette formation intensive au développement macOS vous permettra de disposer de solides bases pour

المدة
4 Jours
المستوى
Intermédiaire
صيغ التكوين
حضوري · عن بعد · مختلط

أهداف الدورة التكوينية

Cette formation intensive au développement macOS vous permettra de disposer de solides bases pour développer des applications Mac professionnelles et grand public autour des incontournables MacBook Air, MacBook Pro, iMac, MacMini et MacPro.
Une fois votre environnement de développement et le langage Objective-C maîtrisés vous abordez les API du SDK OS X, comme la gestion des données et l’interface utilisateur afin de disposer d’une bonne vue d’ensemble et de pouvoir développer vos premières applications macOS.
Les nouveautés concernant Xcode, le SDK macOS, les API iCloud/NSDocument.
Enfin en conclusion, une présentation du développement pour iPhone et iPad vous permettra d’évaluer la réutilisabilité de vos compétences pour le développement d’application mobile.

لمن تتوجه هذه الدورة؟

Cette formation développement macOS s’adresse aux ingénieur logiciel, développeurs, analystes programmeurs, chefs de projet Contexte de développement pour une utilisation personnelle ou en entreprise.

المتطلبات المسبقة

Bonnes connaissances de la programmation et d’un langage orienté objet (C++, Java, C#, PHP5 objet, …).
Si vous ne vous estimez pas complètement à l’aise en programmation nous vous conseillons de suivre au préalable le stage DOBC (“Objective C”) qui vous permettra de vous concentrer sur la partie purement macOS/Cocoa du stage présenté ici tout en consolidant votre maîtrise du langage Objective C.

Prérequis technique : Disposer d’un Mac récent, processeur i7 ou mieux, 16 Go RAM minimum, macOS 13 ou supérieur (idéalement la dernière version). Pour les formations qui nécessitent le développement d’applications : Xcode version 15.X (disponible sur l’App Store). À installer avant le début du cours.

البرنامج

Introduction au développement Mac

  • Matériels concernés (MacBook Air, MacBook Pro, iMac, MacMini et MacPro) Tour d’horizon des applications Mac Différences entre les dernières versions de macOS Cocoa un framework complet Les objets non graphiques (framework Foundation) Les objets graphiques (framework AppKit)

L’environnement de développement d’une application Mac

  • Configuration Mac nécessaire Présentation des outils et IDE disponibles Démarrer un nouveau projet avec Xcode Fenêtre Organizer Dans quels cas faut-il signer un package de distribution applicatif et le binaire applicatif ? Les pragma XCode / compilateurs ObjC Concevoir ses propres modèles (templates) de projet XCode Où trouver de l’aide pertinente ?

Le langage Objective-C

  • Présentation générale et vocabulaire Comparatif langages orientés objet Objective-C, C++ et Java Philosophie des messages Les méthodes et les classes Création de classes et d’instances L’importance des conventions de nommage Différence entre classe et interface Accès et portée des variables d’instances Propagation des messages La directive @selector S’y retrouver dans la documentation officielle

La programmation objet avec Objective-C

  • Catégories et extensions Les propriétés déclarées (@property) L’utilité des protocoles (@protocol) Déclarations des interfaces Une gestion de la mémoire performante Objective-C 2.0 runtime référence Comprendre et savoir utiliser le « runtime reference »

Les API Cocoa du SDK macOS

  • Tour d’horizon des principaux Frameworks Les grandes lignes des méthodes de codage avec Cocoa Classes de base et hiérarchie Conventions de nommage et comportements attendus Héritage ou bien composition et connaissance ?

Les classes de base et la gestion des données avec le Framework Foundation

  • Philosophie du framework foundation Les classes fondamentales communes à tous les traitements Utilité des collections String, Text & Fonts (NSCharacterSet) Dates, Times & Numbers (NSDate) La classe d’abstraction du filesystem NSFileManager Les règles de base de la gestion mémoire (semi-automatique et automatique), NSAutoReleasePool

Le framework AppKit (fenêtre, bouton, menu, contrôles, etc. )

  • Vue générale des frameworks graphiques XCode (Interface Builder «built-in») : IBAction, IBOutlet et IBOutlet Collection Le framework centrale pour l’exécution (NSApplication) Les objets NSView et les événement souris/clavier La classe NSControl et ses sous-classes Afficher des tableaux d’enregistrement avec NSTableView Les protocoles de délégation les plus courants dans l’AppKit

Les applications basées sur des documents

  • La classe NSDocument NSDocument et NSMetadataQuery pour iCloud

Internationalisation des applications Mac

  • L’internationalisation des ressources applicatives Rappels des bonnes pratiques à propos de l’internationalisation Ce qui se fait « tout seul » et ce que doit faire le développeur ? Cas des langues non occidentales et des variantes régionales

La persistance des données (Framework CoreData)

  • Architecture de CoreData Représentation graphiques des relations entre les objets avec CoreData Impact de l’utilisation de CoreData pour les objets (context) Vocabulaire (managed objects, fetch request, …) Méthodes et propriétés à utiliser pour sauvegarder/charger un objet Transaction et objet

Les notifications externes et locales

  • Recevoir des événements extérieurs et locaux (Apple Push Notification Service) Comprendre le circuit de notification (Notification Server, APN Service, équipement, certificat SSL, application) Contenu d’une notification APN au format JSON (liste de propriétés, token) Mise en oeuvre du push côté client (méthodes et API utilisées, certificat) Mise en oeuvre du push côté serveur (token, gestion des notifications, feedback service) Les notifications locales

Tuning et Debug des applications Mac

  • Vue d’ensemble des paramètres importants Observer les performances Adapter le code avec la compilation conditionnelle Exemples concrets de gains de performances Gestion de la mémoire par Cocoa (NSObject, retain, release, alloc, copy, …) Comportement du ramasse-miettes automatique Quand faut-il décider de gérer soi même la mémoire ? De la bonne utilisation du système de fichiers Debugger efficacement avec gdb / LLDB Améliorer les performances avec l’outil de profiling Instruments La rapidité de SQLite

Sécuriser ses applications macOS

  • Le sandboxing dans macOS (Lion via Mac AppStore) APIs Apple, isolation «Bac à Sable» en Entitlements associés, …) Les « responsabilités » au niveau applicatuf Synthèse des attaques classiques Problèmes potentiels liés à l’injection de code Les failles liées à la lecture des vidéos Antivirus pour Mac ?

Distribuer son application sur le Mac App Store

  • Les « contraintes » imposées par Apple La sécurité des transactions A quoi sert le certificat de distribution (contexte Mac App Store) ? Du côté des équipements (réglages, déploiement), provisionning d’un parc sous macOS. Quels outils pour le versionning de l’application distribuée via le Mac AppStore ?
  • Retrait ou mise à jour d’une application d’une application sur le Mac AppStore

Présentation du développement iOS pour mobile (iPhone) et tablette (iPad)

  • Quels sont les points communs entre une application Mac et une application mobile ? Tour d’horizon des classes dédiées au développement mobile Présentation d’une maquette de développement simple pour iPhone/iPad

Travaux Pratiques

Beaucoup de pratique, autour des différents frameworks présentés, consolidée par la réalisation d’une application globale de bout en bout du cahier des charges jusqu’à sa commercialisation et son déploiement.

المواضيع: macOS

Unix - Linux - macOS

Formation Unix prise en main

Description de la formation unix Initiation Bien que très populaire, Unix rebute parfois les administrateurs système à cause de son

المدة
3 Jours
صيغ التكوين
حضوري · عن بعد · مختلط
المستوى
Fondamental

Unix - Linux - macOS

Formation Unix Perfectionnement

Description de la formation Unix perfectionnement Orienté vers l'utilisation performante et sécurisée du système Unix, ce cours vous

المدة
3 Jours
صيغ التكوين
حضوري · عن بعد · مختلط
المستوى
Fondamental

Unix - Linux - macOS

Formation Unix, Maitriser Unix

Objectifs de la formation Objectif opérationnel :   Objectifs pédagogiques : Permettre aux participants d'accéder à une réelle

المدة
4 Jours
صيغ التكوين
حضوري · عن بعد · مختلط
المستوى
Fondamental

Unix - Linux - macOS

Formation Unix, Maitriser Unix

Objectifs de la formation Unix Objectifs pédagogiques : Permettre aux participants d'accéder à une réelle maîtrise du système

المدة
4 Jours
صيغ التكوين
حضوري · عن بعد · مختلط
المستوى
Fondamental
تواصل عبر واتساب