
Cours sur le langage de programmation Zig
Maîtrisez Zig depuis les bases et écrivez des logiciels bas niveau rapides, sûrs et avec un contrôle total sur la mémoire et le comportement. Ce cours couvre tout, des fondamentaux du langage à la programmation système, l'interopérabilité C et la métaprogrammation avancée avec comptime. Si vous êtes sérieux au sujet du développement système, Zig vous offre la puissance de C avec des garanties de sécurité modernes.
Ce que vous allez apprendre:
Vous construirez une base complète dans le système de types, le modèle de mémoire et les schémas de gestion d'erreurs de Zig. Ce cours aborde les pointeurs, les allocateurs, les tranches et les conventions de propriété pour vous permettre de gérer la mémoire avec précision. Vous utiliserez comptime pour écrire des structures de données génériques et des abstractions à surcharge nulle. Les modules de la bibliothèque standard pour les entrées-sorties, les collections, les threads et les tests sont abordés en profondeur. Vous apprendrez également à compiler en croisé des programmes Zig, à interfacer avec des bases de code C et à cibler des systèmes embarqués. À la fin, vous écrirez du code Zig de qualité professionnelle en toute confiance.
Comment vous étudiez de façon pratique Cours sur le langage de programmation Zig
Comment vous pratiquez Cours sur le langage de programmation Zig
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsDébuter avec Zig
Débuter avec Zig
Leçon 1 • Les bases du système de construction Zig
Présente la commande zig build, les fichiers build.zig et les cibles de compilation. Relie la connaissance de la chaîne d'outils à la création pratique de projets.
Leçon 2 • Installation et configuration de Zig
Guide l'installation de la chaîne d'outils Zig sur les principaux systèmes d'exploitation et configure la prise en charge de l'éditeur. Garantit un environnement de construction reproductible dès le premier jour.
Leçon 3 • Philosophie de conception et objectifs de Zig
Couvre les principes fondamentaux de Zig : pas de flux de contrôle caché, pas d'allocations cachées et conception orientée comptime. Donne le contexte pour chaque décision prise tout au long du cours.
Leçon 4 • Écrire votre premier programme Zig
Parcourt un programme Hello World minimal, en expliquant chaque jeton et chaque import. Développe la fluidité de lecture avant d'introduire les mécanismes du langage.
Chapitre 2MasquerCacher les détailsVoir les détailsTypes, variables et flux de contrôle en Zig
Types, variables et flux de contrôle en Zig
Leçon 1 • Opérateurs et expressions
Examine les opérateurs arithmétiques, binaires, de comparaison et logiques avec leur comportement de débordement. Relie la sémantique des opérateurs à la garantie de l'absence de comportement indéfini de Zig.
Leçon 2 • Types primitifs et inférence de types
Couvre les entiers, les flottants, les booléens et les types comptime_int/comptime_float. Explique comment Zig infère les types et quand une annotation explicite est requise.
Leçon 3 • Optionnels et unions d'erreurs
Introduit les types optionnels ?T et les unions d'erreurs !T comme outils de flux de contrôle de première classe. Prépare les étudiants au modèle de gestion des erreurs de Zig présenté dans le chapitre suivant.
Leçon 4 • Variables, constantes et mutabilité
Distingue var de const et explique l'approche de Zig par défaut en faveur de l'immutabilité. Renforce le contrôle explicite sur la mutation des données.
Leçon 5 • Constructions de flux de contrôle
Enseigne les instructions if, while, for et switch, y compris leurs formes d'expression. Montre comment le flux de contrôle s'intègre avec le système de types de Zig.
Chapitre 3MasquerCacher les détailsVoir les détailsFonctions, structures et énumérations
Fonctions, structures et énumérations
Leçon 1 • Structures et méthodes
Définit les types de structure, l'accès aux champs et la syntaxe des méthodes en utilisant la convention du paramètre self. Montre comment les structures servent de mécanisme d'encapsulation principal de Zig.
Leçon 2 • Définition et appel de fonctions
Couvre la syntaxe des fonctions, le passage de paramètres, les types de retour et les fonctions inline. Établit la base de toutes les abstractions dans les chapitres suivants.
Leçon 3 • Énumérations et unions étiquetées
Enseigne la déclaration d'énumération, les méthodes sur les énumérations et les unions étiquetées pour les types somme. Relie à la correspondance exhaustive par switch couverte dans le chapitre précédent.
Leçon 4 • Comptime dans les fonctions et les types
Introduit les paramètres comptime et les blocs comptime dans les fonctions et les définitions de types. Jette les bases de la programmation générique couverte au chapitre 5.
Chapitre 4MasquerCacher les détailsVoir les détailsGestion de la mémoire et pointeurs
Gestion de la mémoire et pointeurs
Leçon 1 • Tranches et tableaux
Distingue les tableaux de taille fixe des tranches dynamiques et explique la sémantique des pointeurs larges. Relie aux modèles d'itération sécurisée introduits au chapitre 2.
Leçon 2 • Modèles de sécurité mémoire
Couvre defer pour le nettoyage, les conventions de propriété et l'évitement de l'utilisation après libération. Renforce la philosophie de Zig d'une gestion de la mémoire explicite et vérifiable.
Leçon 3 • Pointeurs et types de pointeurs
Couvre les pointeurs sur un seul élément, les pointeurs sur plusieurs éléments et les pointeurs const avec leur syntaxe. Construit des modèles mentaux précis avant d'introduire l'allocation de tas.
Leçon 4 • L'interface d'allocateur
Explique l'interface std.mem.Allocator et pourquoi Zig passe les allocateurs explicitement. Établit le modèle utilisé par toutes les structures de données de la bibliothèque standard.
Leçon 5 • Allocateurs standard en pratique
Montre GeneralPurposeAllocator, ArenaAllocator, FixedBufferAllocator et l'allocateur de pages. Les étudiants choisissent l'allocateur adapté à chaque cas d'utilisation.
Chapitre 5MasquerCacher les détailsVoir les détailsProgrammation générique et comptime
Programmation générique et comptime
Leçon 1 • Exploration approfondie de l'évaluation comptime
Explore comment Zig évalue les blocs comptime, les variables comptime et les boucles comptime. Développe l'intuition de ce qui s'exécute au moment de la compilation par rapport à l'exécution.
Leçon 2 • Réflexion de types avec @typeInfo
Utilise @typeInfo, @TypeOf et @typeName pour inspecter les types à la compilation. Permet d'écrire du code qui s'adapte à des dispositions de structures ou d'énumérations arbitraires.
Leçon 3 • Fonctions et types génériques
Montre comment écrire des fonctions et des structures paramétrées par des arguments de type comptime. Relie aux connaissances sur les structures et les fonctions du chapitre 3.
Leçon 4 • Génération de code et de chaînes comptime
Utilise comptime pour générer des champs de structure, des tables de distribution et des API basées sur des chaînes. Montre des motifs de métaprogrammation courants dans les bibliothèques de sérialisation et RPC.
Leçon 5 • Construction de structures de données génériques
Implémente une pile, une file d'attente et une liste chaînée génériques à l'aide de paramètres de type comptime. Applique tous les concepts comptime dans un contexte pratique et testable.
Chapitre 6MasquerCacher les détailsVoir les détailsGestion des erreurs et code robuste
Gestion des erreurs et code robuste
Leçon 1 • try, catch et errdefer
Montre try pour la propagation, catch pour la gestion locale et errdefer pour le nettoyage en cas d'échec. Relie la gestion des erreurs aux modèles de sécurité mémoire du chapitre 4.
Leçon 2 • Paniques, assertions et unreachable
Explique @panic, std.debug.assert et unreachable pour le respect des invariants. Distingue les erreurs récupérables des bugs de programmation.
Leçon 3 • Ensembles d'erreurs et unions d'erreurs
Définit les ensembles d'erreurs nommés, les ensembles d'erreurs inférés et les types de retour d'union d'erreurs. Établit le vocabulaire pour tous les modèles de gestion des erreurs de ce chapitre.
Leçon 4 • Conception d'API résilientes aux erreurs
Couvre les stratégies pour exposer des ensembles d'erreurs minimaux, documenter les modes d'échec et éviter la pollution des ensembles d'erreurs. Enseigne la discipline de conception d'API en parallèle avec la mécanique du langage.
Chapitre 7MasquerCacher les détailsVoir les détailsLa bibliothèque standard de Zig
La bibliothèque standard de Zig
Leçon 1 • Test avec std.testing
Utilise std.testing.expect, expectEqual et expectError pour écrire des tests unitaires. Établit un flux de travail piloté par les tests pour tout le travail de projet ultérieur.
Leçon 2 • Concurrence avec les threads et les atomiques
Introduit std.Thread, les mutex et les opérations atomiques pour la concurrence à état partagé. Prépare les étudiants aux tâches de programmation système nécessitant du parallélisme.
Leçon 3 • Gestion des chaînes et Unicode
Explique le modèle de chaîne sous forme de tranche d'octets de Zig, l'itération UTF-8 et le formatage std.fmt. Aborde les pièges courants lors du traitement de données textuelles.
Leçon 4 • Opérations d'E/S et de système de fichiers
Couvre les lecteurs et rédacteurs std.io, l'ouverture, la lecture et l'écriture de fichiers. Relie les modèles d'allocateur du chapitre 4 aux flux d'E/S tamponnés.
Leçon 5 • Collections : ArrayList, HashMap et plus
Montre std.ArrayList, std.StringHashMap et std.AutoHashMap avec injection d'allocateur. Applique les connaissances sur les conteneurs génériques du chapitre 5.
Chapitre 8MasquerCacher les détailsVoir les détailsProgrammation système et interopérabilité C
Programmation système et interopérabilité C
Leçon 1 • Cibles embarquées et autonomes
Configure Zig pour les cibles autonomes, désactive la bibliothèque standard et écrit le code de démarrage. Montre l'adéquation de Zig pour le développement sur métal nu et embarqué.
Leçon 2 • Appel de C depuis Zig
Couvre @cImport, la traduction d'en-têtes C et la liaison avec des bibliothèques C. Permet la réutilisation du vaste écosystème C depuis des projets Zig.
Leçon 3 • Exposition de Zig à C
Enseigne export, extern et la compatibilité ABI C pour construire des bibliothèques Zig consommées par C. Complète le tableau de l'interopérabilité bidirectionnelle.
Leçon 4 • Cross-compilation et déploiement
Utilise le cross-compilateur intégré de Zig pour cibler plusieurs architectures depuis un seul hôte. Produit des binaires optimisés et liés statiquement prêts pour le déploiement.
Leçon 5 • Interfaces OS bas niveau
Utilise std.os et std.posix pour effectuer des appels système, gérer les signaux et gérer les processus. Ancre les capacités système de Zig dans la programmation OS pratique.
Votre certificat valide de réussite
Ce cours est pour vous :
Développeurs C : à la recherche d'une alternative plus sûre et plus expressive sans sacrifier les performances brutes.
Apprenants Rust : souhaitant un modèle mental plus simple pour le travail système de bas niveau.
Ingénieurs embarqués : ayant besoin d'un contrôle matériel précis et d'une surcharge d'exécution minimale.
Développeurs backend : prêts à se rapprocher du matériel pour des services critiques en termes de performances.
Étudiants en informatique : développant des connaissances système fondamentales au-delà de ce que les cours couvrent.
Contributeurs open-source : visant à participer à des projets d'infrastructure et d'outillage écrits en Zig.
Ce que disent nos élèves
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Maroc ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















