Choisissez votre langue
Cours sur le langage de programmation Zig
Plus de 2 millions d'étudiants dans le monde

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.

Dedika pour les entreprises

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.

Cliquez ici

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

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 2Voir les détails

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 3Voir les détails

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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
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.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
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 !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

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