Guide du développeur Windows 10

Brought by: OpenClassrooms

Overview

Grande nouvelle ! La plateforme universelle (UWP) est désormais disponible sous Windows 10 et elle simplifie le développement de vos applications en proposant un jeu d’API commun pour l’ensemble des appareils équipés de Windows, du plus petit téléphone Lumia à la nouvelle Surface Hub de 84.

Accompagné par Sébastien Pertus et Jean-Sébastien Dupuy, obtenez tous les détails pour construire votre première application universelle, découvrez les nouveautés pour adapter le design de votre interface à l’ensemble des appareils ciblés et déployez là sur le Windows Store pour acquérir, fidéliser de nouveaux utilisateur et monétiser votre application !

Pré-requis :
Des connaissances sur le langage C# ainsi que XAML sont recommandées pour bien appréhender ce cours. Toutefois, la compréhension de la majorité des chapitres ne nécessite pas de connaissance préalable.

Syllabus

Part #1 - Introduction à la plateforme universelle Windows 10
1. Introduction
2. Convergence
3. Universal Windows Platform
4. Création d'une application avec Blend
5. Design adaptatif
6. Continuum
7. Démo design adaptatif
8. Code adaptatif
9. Outils de développement
Quiz: Quiz 1

Part #2 - Contrôles XAML
1. Introduction
2. Des contrôles qui s'adaptent
3. Contrôles de mise en page
4. Relative Panel
5. SplitView
6. Contrôles de sélection et gestion du temps
7. Contrôles GridView, ListView et Hub
8. AppBar et CommandBar
9. Boîte de dialogue
10. Contrôle Progression, Media et Inking
11. Ressources, Styles et Templates
12. Thème utilisateur
Quiz: Quiz 2

Part #3 - Fenêtres et navigation entre les pages
1. Introduction
2. Fenêtres
3. Redimensionner
4. Création d'une nouvelle fenêtre
5. Navigation
6. Gestion du bouton Back
7. Barre de Titre
Quiz: Quiz 3

Part #4 - Adaptive UI et adaptive code
1. Introduction
2. Adaptive UI vs Adaptive Code
3. Interface Adaptative
4. Le chiffre magique : 4
5. Algorithme de mise à l'échelle
6. Effective pixel
7. Planifiez et testez votre design
8. Design adaptatif vs Design sur mesure
9. Adaptive Triggers
10. RelativePanel
11. Custom adaptive triggers
12. Créer des vues sur mesure
13. Code adaptatif
Quiz: Quiz 4

Part #5 - Liaison de données et performance
1. Introduction
2. Performance avec .NET Native
3. Data Binding : Liaison de données
4. Convertir des données
5. Demo: Liaison de données classique
6. Liaison de données compilée
7. Phase Rendering (x:Phase)
Quiz: Quiz 5

Part #6 - Cycle de vie et tâches en arrière-plan
1. Introduction
2. Cycle de Vie
3. Lancement, suspension et reprise
4. Lancement de l'application
5. Suspension de l'application
6. Reprise de l'application
7. L'OS peut terminer votre application
8. Démonstration Cycle de Vie
9. Exécution étendue
10. Tâches en arrière-plan
11. Gérer vos ressources
Quiz: Quiz 6

Part #7 - Vignettes et toasts notifications
1. Introduction
2. Anatomie d'une Vignette
3. Mise à jour d'une Vignette
4. Vignettes adaptatives
5. Toasts
6. Toasts Intéractifs
7. Types d'activations disponibles
8. Push Notifications
Quiz: Quiz 7

Part #8 - Communication entre applications
1. Introduction
2. App to App dans Windows 10 UWP
3. Démo App to App
4. Lancement pour résultat
5. Répertoire partagé
6. App Services
7. Démo App Services
Quiz: Quiz 8

Part #9 - Windows dev center et monétisation
1. Introduction
2. Un magasin, plusieurs vitrines
3. One Store
4. One Dev Center
5. Acquisition
6. Engagement
7. Monétisation
8. Programme d'affiliation Windows Store
9. Business Store
Quiz: Quiz 9

Guide du développeur Windows 10
Go to course

Guide du développeur Windows 10

Brought by: OpenClassrooms

  • OpenClassrooms
  • Free
  • French
  • Certificate Available
  • Available at any time
  • All
  • N/A
8.1.2PHP Version268msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (165ms)
    • Application (103ms)
    • 1 x Booting (61.45%)
      164.78ms
      1 x Application (38.33%)
      102.77ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed7.32ms
      • select * from `courses` where `slug_en` = 'guide-du-développeur-windows-10' limit 1
        5.76ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. guide-du-développeur-windows-10
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-10 06:54:50' where `id` = 1922
        910μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-10 06:54:50
        • 1. 1922
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (77)
        160μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        140μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (36) and `providers`.`deleted_at` is null
        170μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 1913 limit 1
        180μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1913
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        Y0MVENC6pttRXePd9jNk8gR4E2LhpOR7Xqlt3R0b
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/guide-du-d%C3%A9veloppeur-windows-10" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/guide-du-d%C3%A9veloppeur-windows-10
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "priority" => array:1 [ 0 => "u=0, i" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.141.104.233" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "3.141.104.233" ] "cf-ray" => array:1 [ 0 => "92e055ca9d68acac-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_PRIORITY" => "u=0, i" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.141.104.233" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.141.104.233" "HTTP_CF_RAY" => "92e055ca9d68acac-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "16584" "REMOTE_ADDR" => "172.70.100.135" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/guide-du-d%C3%A9veloppeur-windows-10" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744268090.2823 "REQUEST_TIME" => 1744268090 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Thu, 10 Apr 2025 06:54:50 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ilp3MW1pdFpmZW5XYU1aenJtZW9uanc9PSIsInZhbHVlIjoiaDU3VlNYZVBPQjFIdUcxdnhuc3ExSnZYdkY5N2E0WkxkMEJQQlhnWDZqdGdhek5kQzdDV3ROVEdadThyNk9FRExvcFNCeHpRbUtUQzJTQ2lyUE82UnFaNkU4bjNoU212bzZIbDhMd0wyWEUzcmc2MlZua0xUUEdPZ1prRVVrTDEiLCJtYWMiOiI5NzZkMGY4NWZhNTliYzI1OWI2MGQ4NDUzYTAyZmM3MjRmZmRmNTIyZGUzNWMxYTI2MmZkMTU0MjVmYmQ3ODAxIiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 08:54:50 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ilp3MW1pdFpmZW5XYU1aenJtZW9uanc9PSIsInZhbHVlIjoiaDU3VlNYZVBPQjFIdUcxdnhuc3ExSnZYdkY5N2E0WkxkMEJQQlhnWDZqdGdhek5kQzdDV3ROVEdadThyNk9FRExvcFNCe" 1 => "laravel_session=eyJpdiI6IlV6YytlV2t5WEVPV2YrTGNLZmtqdEE9PSIsInZhbHVlIjoiM240aTF3TSt1eWZPUlRObE5zL05md21NM3A4RUtmQ2lzSTdWTWJydzZSU0FWbEpKQTJwRFB6aWx2MXdmQjBiTjUrZCsyWXpVd3ZwblpqU29EQ0E5OXZJZFROV3J0N3p1ZWZUQ3RJb2t3Snc2VkVnRU1Ha0JwZ0dGa0ROV1Z0WmciLCJtYWMiOiJjZGRkNjlkZjEzYjAwMGIyYTdiZjY2Zjc2YjFmODE4ZmM1NWNlODU4ODQ4MDM0NTFiZjVlMmQzZmJjMTk2MGE4IiwidGFnIjoiIn0%3D; expires=Thu, 10 Apr 2025 08:54:50 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlV6YytlV2t5WEVPV2YrTGNLZmtqdEE9PSIsInZhbHVlIjoiM240aTF3TSt1eWZPUlRObE5zL05md21NM3A4RUtmQ2lzSTdWTWJydzZSU0FWbEpKQTJwRFB6aWx2MXdmQjBiTjUr" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ilp3MW1pdFpmZW5XYU1aenJtZW9uanc9PSIsInZhbHVlIjoiaDU3VlNYZVBPQjFIdUcxdnhuc3ExSnZYdkY5N2E0WkxkMEJQQlhnWDZqdGdhek5kQzdDV3ROVEdadThyNk9FRExvcFNCeHpRbUtUQzJTQ2lyUE82UnFaNkU4bjNoU212bzZIbDhMd0wyWEUzcmc2MlZua0xUUEdPZ1prRVVrTDEiLCJtYWMiOiI5NzZkMGY4NWZhNTliYzI1OWI2MGQ4NDUzYTAyZmM3MjRmZmRmNTIyZGUzNWMxYTI2MmZkMTU0MjVmYmQ3ODAxIiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 08:54:50 GMT; path=/XSRF-TOKEN=eyJpdiI6Ilp3MW1pdFpmZW5XYU1aenJtZW9uanc9PSIsInZhbHVlIjoiaDU3VlNYZVBPQjFIdUcxdnhuc3ExSnZYdkY5N2E0WkxkMEJQQlhnWDZqdGdhek5kQzdDV3ROVEdadThyNk9FRExvcFNCe" 1 => "laravel_session=eyJpdiI6IlV6YytlV2t5WEVPV2YrTGNLZmtqdEE9PSIsInZhbHVlIjoiM240aTF3TSt1eWZPUlRObE5zL05md21NM3A4RUtmQ2lzSTdWTWJydzZSU0FWbEpKQTJwRFB6aWx2MXdmQjBiTjUrZCsyWXpVd3ZwblpqU29EQ0E5OXZJZFROV3J0N3p1ZWZUQ3RJb2t3Snc2VkVnRU1Ha0JwZ0dGa0ROV1Z0WmciLCJtYWMiOiJjZGRkNjlkZjEzYjAwMGIyYTdiZjY2Zjc2YjFmODE4ZmM1NWNlODU4ODQ4MDM0NTFiZjVlMmQzZmJjMTk2MGE4IiwidGFnIjoiIn0%3D; expires=Thu, 10-Apr-2025 08:54:50 GMT; path=/; httponlylaravel_session=eyJpdiI6IlV6YytlV2t5WEVPV2YrTGNLZmtqdEE9PSIsInZhbHVlIjoiM240aTF3TSt1eWZPUlRObE5zL05md21NM3A4RUtmQ2lzSTdWTWJydzZSU0FWbEpKQTJwRFB6aWx2MXdmQjBiTjUr" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "Y0MVENC6pttRXePd9jNk8gR4E2LhpOR7Xqlt3R0b" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/guide-du-d%C3%A9veloppeur-windows-10" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]