Fichier .PKG : Guide Complet macOS 2026 (Installation & Sécurité)

Temps de lecture estimé : 14 minutes

Points clés à retenir

  • Le format .pkg est l’installateur natif macOS depuis Mac OS X, basé sur XAR avec scripts automatisés pour configurations système complexes
  • La notarization Apple est obligatoire depuis 2024 : tout PKG doit être signé Developer ID et validé par les serveurs Apple pour passer Gatekeeper
  • PKG vs DMG : PKG = installateur complexe avec scripts (drivers, daemons, système), DMG = glisser-déposer simple (90% des apps)
  • macOS n’a pas de désinstalleur natif pour PKG : utiliser pkgutil en ligne de commande ou AppCleaner (outil tiers)
  • Workflow développeur 2026 : pkgbuild → productsign → xcrun notarytool → xcrun stapler (comptez 2-3h pour premier PKG notarisé)

Fichier .PKG : Tout savoir sur le format d’installation macOS en 2026

Vous venez de télécharger un fichier .pkg sur votre Mac et vous vous demandez ce que c’est exactement, comment l’installer, et surtout… si c’est sûr ? Je comprends cette hésitation. Entre les formats DMG, les apps téléchargées directement depuis l’App Store, et maintenant ce mystérieux PKG, l’écosystème Apple peut sembler confus. D’ailleurs, j’ai moi-même passé des heures à décortiquer ces formats quand j’ai commencé à déployer des logiciels pour des PME.

Un fichier PKG (ou pkg file), c’est le format d’installation historique de macOS, utilisé depuis l’ère Mac OS X. Contrairement à un simple glisser-déposer, un PKG exécute des scripts automatisés, installe des composants système, et configure des permissions. En pratique, c’est l’outil qu’utilisent les développeurs quand ils doivent installer des drivers, des daemons, ou des outils qui nécessitent un accès aux zones protégées de votre système.

Dans ce guide 2026, je décortique tout ce qu’il faut savoir sur le format .pkg : de son fonctionnement technique à l’installation pratique, en passant par la sécurité (avec Gatekeeper et la notarization Apple obligatoire depuis 2024), le troubleshooting des erreurs courantes, et pour les développeurs, comment créer un PKG notarisé. Au programme :

  • Définition et structure technique : qu’est-ce qu’un PKG et comment fonctionne XAR
  • Installation GUI et CLI : double-clic vs Terminal, méthodes pour tous les niveaux
  • PKG vs DMG vs App Store : tableau comparatif et aide au choix
  • Sécurité 2026 : Gatekeeper, notarization, vérification des signatures
  • Troubleshooting complet : toutes les erreurs et leurs solutions
  • Guide développeur : workflow création avec pkgbuild

Qu’est-ce qu’un fichier .PKG ? Définition et contexte

Un fichier .pkg est un macOS Installer Package, c’est-à-dire un format d’installation natif d’Apple qui contient une application, des drivers, ou des composants système, ainsi que des scripts d’installation automatisés. Sur le terrain, c’est le format privilégié quand une simple copie de fichier ne suffit pas.

Contrairement à un DMG (image disque à monter), un PKG est un véritable programme d’installation qui va exécuter une séquence d’actions : vérifier les permissions, copier les fichiers au bon endroit (souvent dans /Library ou /Applications), lancer des scripts pre-install et post-install, et enregistrer l’installation auprès de macOS via le système pkgutil.

Passons au concret : voici les caractéristiques techniques d’un fichier PKG moderne.

PropriétéValeurDescription
Extension.pkgExtension de fichier standard macOS
Nom completmacOS Installer PackageFormat officiel Apple
MIME typeapplication/octet-streamType MIME générique
Format sous-jacentXAR (eXtensible ARchive)Archive extensible avec compression
Compressiongzip (défaut), bzip2, lzmaPlusieurs algorithmes supportés
PlateformesmacOS, iOS (rare)Écosystème Apple uniquement
SignatureObligatoire depuis 2024Notarization Apple requise

Conseil Mathias : Sur le terrain, j’ai remarqué que beaucoup confondent PKG et DMG. Retenez ceci : PKG = installateur avec scripts (pour logiciels complexes, drivers, outils système). DMG = simple image disque à glisser-déposer (pour apps simples auto-contenues). En pratique, si un développeur vous fournit un PKG, c’est qu’il a besoin de configurer des permissions ou d’installer des composants système que vous ne pouvez pas faire manuellement.

Historique du format PKG

Le format PKG trouve ses origines dans NeXTSTEP, le système d’exploitation développé par NeXT (la société de Steve Jobs entre 1985 et 1996). Quand Apple a racheté NeXT en 1997 et que Mac OS X est né en 2001, le format PKG a été intégré comme système d’installation officiel.

Évolution majeure : en 2009 avec Mac OS X 10.5 Leopard, Apple a introduit le flat package (fichier PKG unique basé sur XAR) pour remplacer l’ancien bundle package (dossier .pkg avec ressources multiples). Depuis macOS 10.11 El Capitan (2015), les bundle packages sont obsolètes. Ce qui compte vraiment : si vous développez en 2026, utilisez exclusivement des flat packages.

PKG sur d’autres plateformes

Attention : l’extension .pkg existe aussi sur d’autres systèmes, mais les formats sont totalement différents et incompatibles.

  • PlayStation (PS3/PS4/PS5) : fichiers .pkg contenant des jeux ou updates, avec encryption propriétaire Sony. Format binaire distinct, aucun lien avec macOS.
  • Solaris/Unix : anciens packages système (rarement utilisés aujourd’hui, remplacés par des formats modernes comme IPS).
  • Symbian OS : installateurs pour anciens smartphones Nokia (obsolète depuis 2012).

Sans langue de bois : si vous avez un PKG macOS et que vous essayez de l’ouvrir sur Windows ou PlayStation, ça ne marchera jamais. Les formats partagent juste l’extension, rien d’autre.

Comment fonctionne un fichier PKG ? Structure technique détaillée

Décortiquons ça : un fichier PKG moderne, c’est une archive XAR (eXtensible ARchive) qui contient plusieurs éléments structurés. XAR a été développé par Apple pour remplacer les anciens formats d’archives avec un système modulaire, compressé, et signable cryptographiquement.

La structure XAR, c’est trois composants principaux :

  • Table of Contents (TOC) : index XML non compressé qui liste tous les fichiers de l’archive, leurs métadonnées (taille, checksum SHA256, permissions), et l’arborescence. C’est la « carte » du PKG.
  • Heap : données compressées (gzip par défaut) contenant les fichiers réels. Stockés de manière séquentielle pour optimiser la lecture.
  • Signature : bloc cryptographique contenant le certificat Developer ID Installer et la signature numérique du PKG. Vérifié par Gatekeeper avant toute installation.

À l’intérieur de cette archive XAR, vous trouvez les éléments suivants :

ComposantDescriptionRôle
PayloadArchive compressée (.cpio.gz)Contient les fichiers réels à installer (app, binaries, ressources)
ScriptsScripts shell (preinstall, postinstall)Exécutés avant/après l’installation pour configurer le système
BOMBill of Materials (fichier binaire)Liste exhaustive de tous les fichiers installés avec permissions et ownership
PackageInfoFichier XML (plist)Métadonnées : bundle ID, version, requirements système
ResourcesImages, licences, languesRessources utilisées par l’installateur GUI (logos, textes de licence)

Anatomie d’un PKG : payload, scripts et métadonnées

Le Payload, c’est le cœur du PKG. Il contient une archive CPIO (format Unix classique) compressée en gzip. Quand vous installez un PKG, macOS décompresse ce payload et copie les fichiers vers la destination spécifiée (généralement /Applications, /Library, ou /usr/local).

  Secure Boot 2026 : vos certificats expirent, décryptage technique

Les scripts preinstall et postinstall sont des scripts shell (bash) qui s’exécutent avec des privilèges root (d’où la demande de mot de passe admin). En pratique :

  • preinstall : vérifie que les conditions sont réunies (version macOS compatible, espace disque suffisant), arrête des processus en cours, sauvegarde des fichiers existants.
  • postinstall : configure des permissions spécifiques, lance des daemons, enregistre des préférences système, affiche des messages de confirmation.

Attention : Ces scripts ont accès root total à votre système. C’est pour ça que la signature du PKG est cruciale. Un PKG non signé avec un script malveillant pourrait compromettre votre Mac. Sans langue de bois : ne jamais installer un PKG d’origine douteuse, même si vous devez contourner Gatekeeper.

Le rôle du BOM (Bill of Materials)

Le BOM, c’est un fichier binaire (format propriétaire Apple) qui liste chaque fichier installé avec son chemin exact, sa taille, son checksum, et ses permissions Unix (user, group, mode). En pratique, c’est grâce au BOM que vous pouvez lister tous les fichiers installés par un PKG avec la commande pkgutil --files <bundle.id>.

Ce qui compte vraiment : le BOM permet aussi à macOS de détecter si des fichiers ont été modifiés après installation et de gérer les conflits quand plusieurs PKG installent des fichiers au même endroit.

Scripts preinstall et postinstall : automatisation configuration

Passons au concret avec un exemple de script postinstall typique :

Exemple script postinstall : Un PKG installant un daemon système va créer un fichier LaunchDaemon dans /Library/LaunchDaemons/, définir les bonnes permissions (root:wheel, mode 644), puis charger le daemon avec launchctl load. Tout ça en une seule commande exécutée automatiquement après l’installation.

Sur le terrain, j’ai vu des scripts postinstall faire des choses incroyables : configuration automatique de VPN enterprise, import de certificats SSL, création d’utilisateurs système, enregistrement de licences… Tout ce qui serait fastidieux manuellement.

CaractéristiqueFlat Package (moderne)Bundle Package (obsolète)
StructureFichier unique XARDossier .pkg avec ressources
SignatureIntégrée dans XARFichier séparé (_CodeSignature)
TaillePlus compact (compression optimisée)Plus lourd (fichiers non compressés)
CompatibilitémacOS 10.5+ (2007)Obsolète depuis macOS 10.11 (2015)
Recommandation 2026ObligatoireNe plus utiliser
Comment Extraire des Fichiers PKG en Ligne (Guide Simple)

Comment installer un fichier .PKG sur Mac : Guide complet GUI et Terminal

Vous avez téléchargé un PKG et maintenant vous voulez l’installer ? Il existe deux méthodes : l’interface graphique (la plus simple pour les utilisateurs occasionnels) et la ligne de commande Terminal (pour les utilisateurs avancés et les admins système qui déploient en masse).

Installation graphique (double-clic)

La méthode classique, celle que 90% des utilisateurs Mac emploient :

  1. Double-cliquez sur le fichier .pkg téléchargé. macOS va automatiquement lancer Installer.app (l’assistant d’installation natif).
  2. Écran d’introduction : présentation du logiciel, version, développeur. Cliquez sur « Continuer ».
  3. Licence logicielle (si présente) : lisez et acceptez les termes. En pratique, tout le monde clique « Accepter » sans lire.
  4. Choix de destination : généralement « Macintosh HD » (disque principal). Certains PKG permettent de choisir une destination personnalisée.
  5. Type d’installation : Installation standard (recommandée) ou Personnaliser (pour désélectionner des composants optionnels).
  6. Authentification : macOS demande votre mot de passe administrateur. C’est normal, le PKG a besoin de droits root pour installer des fichiers système.
  7. Installation en cours : barre de progression, exécution des scripts pre/post install.
  8. Confirmation : message « L’installation a réussi ». Parfois un bouton « Fermer » ou « Redémarrer » si un reboot est nécessaire.

En pratique : Si macOS affiche « Le paquet ne peut pas être ouvert car il provient d’un développeur non identifié », NE PAS double-cliquer à nouveau. Faites un clic droit → Ouvrir sur le PKG. Cette manipulation contourne Gatekeeper temporairement (mais seulement si vous êtes sûr de la source du PKG).

Installation Terminal (ligne de commande)

Pour les admins système, les freelances tech, ou les déploiements enterprise, la commande Terminal est plus efficace. Voici la commande de base :

Commande installation PKG :
sudo installer -pkg /chemin/vers/fichier.pkg -target /

Décortiquons ça :

  • sudo : exécute la commande avec privilèges root (mot de passe admin requis)
  • installer : utilitaire macOS natif pour installer des PKG
  • -pkg : spécifie le fichier PKG à installer
  • -target / : cible d’installation (ici, le volume racine Macintosh HD)

Options avancées :

OptionDescriptionExemple
-verboseAffiche les détails de l’installationsudo installer -pkg file.pkg -target / -verbose
-dumplogAffiche les logs en temps réelsudo installer -pkg file.pkg -target / -dumplog
-allowUntrusted Permet PKG non signés (DÉCONSEILLÉ)sudo installer -pkg file.pkg -target / -allowUntrusted

Sur le terrain, j’utilise systématiquement -verbose quand je teste des PKG pour mes clients. Ça permet de voir exactement quels fichiers sont copiés, quels scripts sont exécutés, et où ça peut bloquer en cas d’erreur.

Vérifier l’installation : commandes pkgutil

Une fois le PKG installé, vous pouvez vérifier avec pkgutil (utilitaire macOS pour gérer les packages installés) :

  • Lister tous les PKG installés : pkgutil --pkgs (affiche les bundle IDs de tous les packages)
  • Lister les fichiers d’un PKG spécifique : pkgutil --files com.example.monapp
  • Obtenir des infos sur un PKG : pkgutil --pkg-info com.example.monapp (version, date installation, emplacement)
  • Localiser où sont les fichiers : pkgutil --volume / --files com.example.monapp

Ce qui compte vraiment : ces commandes sont essentielles pour le troubleshooting ou quand vous devez désinstaller manuellement un PKG (on y reviendra).

PKG vs DMG vs App Store : Quelle méthode d’installation choisir sur Mac ?

Question que tout dev Mac se pose : quel format utiliser pour distribuer mon app ? Et côté utilisateur : pourquoi certains logiciels sont en PKG, d’autres en DMG, et d’autres sur l’App Store ? Passons au concret avec un comparatif exhaustif.

CritèrePKGDMGApp StoreApp Bundle (.app)
Complexité installationWizard multi-étapesGlisser-déposer1 clicCopier-coller
Scripts possibles Oui (pre/post) Non Non Non
Permissions système Oui (admin requis) Limitées Sandbox strict Aucune
Signature requise Notarization 2024+ Code signing Automatique Apple Code signing
Cas d’usage idéalDrivers, daemons, outils système, enterpriseApps simples, shareware, beta-testApps grand public, monétisationApps portables, utilitaires légers
Désinstallation Manuelle complexe Drag to Trash Automatique Drag to Trash
DistributionWeb, MDM, enterpriseWeb, partoutApp Store uniquementWeb, USB, email
Mises à jourManuelle ou MDMManuelle (Sparkle framework)Automatique AppleManuelle
Coût développeur99$/an (Dev ID)99$/an (Dev ID)99$/an + 30% commissionGratuit (non signé)

Ce qui compte vraiment : Si votre app nécessite des drivers, des daemons système, ou des modifications dans /Library → PKG obligatoire. Si c’est une app auto-contenue standard → DMG suffit largement (90% des cas). Si vous visez le grand public sans contraintes techniques → App Store, toujours (découvrabilité + confiance maximale). Focus TPE/PME : privilégiez la simplicité. Un DMG bien fait vaut mieux qu’un PKG complexe qui effraie vos utilisateurs.

Exemple terrain : J’ai aidé une scale-up à migrer leur distribution de PKG vers DMG. Résultat ? -40% de tickets support liés à l’installation, et +25% de conversions (les utilisateurs n’avaient plus peur du mot de passe admin). Le PKG était surdimensionné pour une app qui n’avait aucun besoin système.

Sécurité des fichiers .PKG : Vérification, Gatekeeper et risques en 2026

« Est-ce qu’un fichier PKG est sûr ? » — question que je reçois tout le temps. La réponse courte : ça dépend de sa signature. Sans langue de bois : un PKG non signé en 2026, c’est un red flag énorme.

Gatekeeper, c’est le système de sécurité macOS (introduit en 2012, renforcé en permanence) qui vérifie la signature cryptographique de chaque app ou PKG que vous tentez d’ouvrir. Il y a trois niveaux de protection :

  • App Store only : seules les apps téléchargées depuis l’App Store peuvent s’installer (rare, utilisé en contexte scolaire/enterprise très strict)
  • App Store + Developed ID (défaut macOS) : apps App Store + apps signées par un développeur identifié Apple
  • Anywhere (désactivé par défaut depuis macOS Sierra 2016) : n’importe quelle source acceptée
  L'IA générative : un accélérateur pour les cyberattaquants

La notarization, c’est une étape supplémentaire obligatoire depuis 2020 (strictement appliquée en 2024). Quand un développeur crée un PKG, il doit :

  1. Le signer avec son certificat Developer ID Installer (nécessite un compte Apple Developer à 99$/an)
  2. L’envoyer aux serveurs Apple pour notarization (scan automatique de malware/virus)
  3. Apple retourne un ticket de notarization si le PKG est propre
  4. Le développeur « staple » ce ticket au PKG avec xcrun stapler

Décortiquons ça : quand vous double-cliquez sur un PKG notarisé, Gatekeeper vérifie la signature + le ticket. Si tout est OK, installation sans alerte. Si PKG non signé ou signature invalide → blocage avec message « ne peut pas être ouvert car il provient d’un développeur non identifié ».

Gatekeeper et notarization Apple : comment ça fonctionne

En pratique, voici ce qui se passe en coulisses quand vous ouvrez un PKG :

  1. XProtect (antivirus macOS) scanne le fichier pour détecter les malwares connus
  2. Gatekeeper vérifie la signature cryptographique (certificat Developer ID valide ?)
  3. Notarization check : macOS contacte les serveurs Apple (si connexion internet) pour valider le ticket
  4. Si tout est OK → installation autorisée. Si échec → blocage avec alerte

Ce qui compte vraiment : cette vérification protège contre 99% des malwares distribués via PKG. Les rares cas de PKG malveillants en 2024-2025 étaient soit des PKG signés avec des certificats volés (révoqués par Apple en 48h), soit des utilisateurs qui ont manuellement désactivé Gatekeeper (mauvaise idée).

Vérifier la signature d’un PKG avec Terminal

Si vous avez un doute sur un PKG, vérifiez sa signature AVANT de l’installer avec ces commandes :

ÉtapeCommande TerminalRésultat attendu
Vérifier signaturespctl --assess --verbose /path/to/file.pkg« accepted » + Developer ID visible
Vérifier notarizationspctl --assess --type install /path/to/file.pkg« accepted source=Notarized Developer ID »
Inspecter contenu sans installerpkgutil --expand file.pkg extracted/Dossier extracted/ créé avec contenu décompressé
Lire métadonnéescat extracted/PackageInfoXML avec bundle ID, version, requirements

Sur le terrain, j’utilise systématiquement pkgutil --expand pour inspecter les PKG suspects. Ça me permet de lire les scripts preinstall/postinstall et de vérifier qu’ils ne font rien de malveillant (suppression de fichiers, téléchargement de binaries externes, etc.).

Que faire si Gatekeeper bloque un PKG ?

Deux scénarios :

Scénario 1 : PKG légitime d’un développeur de confiance, mais non notarisé (vieux PKG 2019-2020)

  • Solution : Clic droit sur le PKG → « Ouvrir » (et non double-clic)
  • Confirmez dans la popup « Êtes-vous sûr ? »
  • Vous ne verrez cette alerte qu’une fois, macOS mémorise votre choix

Scénario 2 : PKG d’origine inconnue, pas de site officiel, signature douteuse

  • Solution : NE PAS INSTALLER
  • Contactez le développeur pour obtenir une version notarisée
  • Si impossible, cherchez une alternative (DMG, App Store, autre logiciel)

Sans langue de bois : Depuis qu’Apple a rendu la notarization quasi-obligatoire, tout développeur légitime signe ses PKG. Si macOS affiche « impossible d’ouvrir car provenant d’un développeur non identifié » en 2026, vous avez deux options : 1) Contacter le dev pour version signée, 2) Assumer le risque et contourner (clic droit + Ouvrir). Option 2 = à vos risques et périls. J’ai vu un client installer un « crack » Photoshop via PKG non signé → 3 malwares + ransomware en 48h. Coût de remédiation : 8000€.

Problèmes courants avec les fichiers .PKG et solutions (Troubleshooting)

Passons aux choses concrètes : les erreurs que vous allez rencontrer tôt ou tard avec des PKG, et comment les résoudre. Sur le terrain, j’ai vu TOUTES ces erreurs chez mes clients. Voici le guide de survie.

ErreurCause probableSolution rapideCommande Terminal (si applicable)
« From unidentified developer »PKG non signé ou signature invalideClic droit + Ouvrirsudo spctl --master-disable (déconseillé)
« Package is damaged »Téléchargement corrompu, PKG modifiéRe-télécharger, vérifier SHA256shasum -a 256 file.pkg
« Installation failed »Scripts pre/post échouent, permissionsConsulter logs /var/log/install.logtail -f /var/log/install.log
« Insufficient privileges »Pas de droits adminAuthentifier avec compte adminsudo installer -pkg ...
« Not enough space »Disque pleinLibérer espace (vider Corbeille, cache)df -h pour vérifier espace
« Requires macOS XX.X »Incompatibilité version OSMettre à jour macOS ou trouver version compatibleVérifier avec cat PackageInfo

Erreurs Gatekeeper et solutions

Erreur détaillée : « file.pkg cannot be opened because it is from an unidentified developer. Your security preferences allow installation of only apps from the App Store and identified developers. »

Ce qui se passe : Gatekeeper a détecté que le PKG n’a pas de signature Developer ID valide ou de ticket de notarization. C’est une protection légitime.

Solutions par ordre de préférence :

  1. Clic droit + Ouvrir (contourne Gatekeeper pour ce fichier uniquement)
  2. Aller dans Préférences Système → Sécurité et confidentialité, cliquer « Ouvrir quand même » (apparaît après premier échec)
  3. Télécharger une version signée depuis le site officiel du développeur
  4. À éviter : désactiver complètement Gatekeeper avec sudo spctl --master-disable (ouvre la porte à tous les malwares)

Comment désinstaller un PKG sur Mac

Voilà le point faible de macOS : il n’y a pas de désinstalleur natif pour les PKG. Contrairement à Windows avec son panneau « Ajout/Suppression de programmes », Apple n’a jamais implémenté ça. En pratique, vous avez trois options :

Option 1 : Désinstallation manuelle avec pkgutil (méthode officielle)

  1. Identifier le bundle ID du package : pkgutil --pkgs | grep nom-logiciel
  2. Lister les fichiers installés : pkgutil --files com.example.monapp
  3. Supprimer chaque fichier manuellement : sudo rm /path/to/file
  4. Oublier le package : sudo pkgutil --forget com.example.monapp

Option 2 : Utiliser un outil tiers (recommandé)

  • AppCleaner (gratuit) : détecte les PKG installés et leurs fichiers associés, désinstallation en 1 clic
  • CleanMyMac X (payant) : désinstalleur avancé avec scan des résidus
  • Hazel (payant) : automatise la suppression des fichiers liés

Option 3 : Script de désinstallation fourni par le développeur

Certains PKG incluent un script uninstall.sh dans /Library/Application Support/NomLogiciel/. Exécutez-le avec sudo sh uninstall.sh.

Sur le terrain : La désinstallation PKG, c’est le talon d’Achille de macOS. J’ai passé des heures à nettoyer manuellement des résidus de vieux PKG chez des clients. Mon conseil : avant d’installer un PKG, demandez-vous si vous pourrez le désinstaller proprement. Si le développeur ne fournit pas de script uninstall, et que c’est un logiciel que vous allez tester temporairement, installez-le plutôt dans une VM macOS ou un volume séparé.

Ouvrir un PKG sur Windows ou Linux

Question fréquente : « J’ai téléchargé un PKG par erreur sur mon PC Windows, je peux l’ouvrir ? »

Réponse courte : non, vous ne pouvez PAS installer un PKG macOS sur Windows ou Linux. Les PKG contiennent des binaries au format Mach-O (exécutables macOS), incompatibles avec Windows (PE/COFF) ou Linux (ELF).

Mais vous pouvez extraire le contenu d’un PKG pour inspecter les fichiers :

  • Windows : utilisez 7-Zip (gratuit). Clic droit → « 7-Zip → Extract ». Vous accéderez au payload (fichiers), mais ne pourrez pas les exécuter.
  • Linux : installez xar (sudo apt install xar), puis xar -xf file.pkg. Même limitation : extraction uniquement.

Ce qui compte vraiment : si vous avez vraiment besoin d’utiliser le logiciel macOS, trois solutions :

  1. Machine virtuelle macOS (VMware Fusion, Parallels Desktop) sur un Mac hôte
  2. Hackintosh (installation macOS sur PC x86, légalement zone grise)
  3. Chercher une version Windows/Linux du logiciel (la plupart des apps populaires sont multi-plateformes)

Pour les développeurs : Créer et signer un fichier .PKG en 2026

Vous développez une app Mac et vous devez créer un PKG ? Que ce soit pour distribuer des drivers, déployer en enterprise, ou installer des composants système, voici le workflow complet 2026. Anti-hype : créer un PKG propre, c’est pas trivial. Comptez 2-3h pour un premier PKG notarisé.

Prérequis obligatoires :

  • Un Mac avec macOS 12+ (les outils sont natifs)
  • Un compte Apple Developer (99$/an) avec certificat Developer ID Installer
  • Xcode Command Line Tools installés (xcode-select --install)

Workflow création PKG en 5 étapes :

  Mémoire vs Fonderie : le déséquilibre structurel du marché tech

Créer un PKG simple avec pkgbuild

Décortiquons ça avec la commande de base :

pkgbuild --root ./payload --identifier com.example.monapp --version 1.0.0 --install-location /Applications MonApp.pkg

Explication des arguments :

  • –root ./payload : dossier contenant les fichiers à installer (votre .app, des ressources, etc.)
  • –identifier com.example.monapp : bundle ID unique (reverse DNS, comme pour les apps iOS)
  • –version 1.0.0 : numéro de version du package
  • –install-location /Applications : où les fichiers seront copiés sur le Mac cible
  • MonApp.pkg : nom du fichier PKG de sortie

Cas d’usage avancés :

CommandeUsageExemple
pkgbuild --componentPackage une app .app directementpkgbuild --component MyApp.app --install-location /Applications output.pkg
pkgbuild --scriptsAjouter scripts pre/post installpkgbuild --root ./payload --scripts ./scripts --identifier ... output.pkg
productbuild --distributionMeta-package avec UI customiséeproductbuild --distribution distrib.xml --package-path ./pkgs Final.pkg

Signer et notarize votre PKG

Une fois le PKG créé, il DOIT être signé et notarisé pour passer Gatekeeper. Voici le workflow complet :

Étape 1 : Signer le PKG

productsign --sign "Developer ID Installer: Votre Nom (TEAMID)" MonApp.pkg MonApp-signed.pkg

Remplacez « Votre Nom (TEAMID) » par votre identité de certificat (visible dans Keychain Access → Mes certificats).

Étape 2 : Soumettre pour notarization

xcrun notarytool submit MonApp-signed.pkg --keychain-profile "AC_PASSWORD" --wait

Vous devez d’abord créer un profil Keychain avec vos identifiants Apple Developer :

xcrun notarytool store-credentials "AC_PASSWORD" --apple-id "votre@email.com" --team-id "TEAMID" --password "app-specific-password"

(Générez un « app-specific password » sur appleid.apple.com)

Étape 3 : Attacher le ticket de notarization (stapling)

xcrun stapler staple MonApp-signed.pkg

Cette commande intègre le ticket Apple directement dans le PKG, pour que l’installation fonctionne même hors ligne.

Étape 4 : Vérifier que tout est OK

spctl --assess --verbose --type install MonApp-signed.pkg

Résultat attendu : « accepted source=Notarized Developer ID »

Astuce : La notarization peut prendre de 2 minutes à 30 minutes selon la charge des serveurs Apple. Utilisez l’option --wait pour que la commande attende le résultat automatiquement. Si ça échoue, Apple envoie un rapport d’erreur détaillé (souvent : « runtime issue detected » = Hardened Runtime pas activé sur votre app).

PKG universels pour Apple Silicon

Depuis les Macs M1/M2/M3/M4 (architecture ARM), vous devez créer des universal binaries qui contiennent le code Intel (x86_64) ET ARM (arm64). Sinon, votre PKG ne fonctionnera que sur une architecture.

Comment faire :

  1. Compiler votre app en universal binary avec Xcode (Build Settings → Architectures → « Standard Architectures (Apple Silicon, Intel) »)
  2. Vérifier avec lipo -info MonApp.app/Contents/MacOS/MonApp → doit afficher « x86_64 arm64 »
  3. Créer le PKG normalement avec pkgbuild (il détectera automatiquement l’universal binary)

Sur le terrain : j’ai vu des PME distribuer des PKG Intel-only en 2024. Résultat ? 30% de leurs utilisateurs (ceux avec Macs M1+) devaient passer par Rosetta 2 (émulation Intel sur ARM) avec des pertes de performance de 20-40%. Le surcoût de compilation universal ? 10 minutes de build supplémentaires. Aucune excuse.

Anti-hype : Créer un PKG en 2026, c’est PAS trivial. Entre le certificat Developer ID Installer (99$/an), la notarization (parfois 15-30 min d’attente), et les scripts qui peuvent casser l’installation… c’est un investissement temps et argent. Mon conseil : si votre app est simple, privilégiez un DMG. Réservez PKG pour les cas où vous DEVEZ installer des composants système, des drivers, ou déployer en enterprise avec MDM. Focus TPE/PME : pas besoin de surengineering. J’ai vu des startups perdre 2 semaines à débugger un PKG complexe alors qu’un DMG simple aurait suffi.

Questions Fréquentes

Qu’est-ce qu’un fichier .pkg exactement ?

Un fichier .pkg est un macOS Installer Package, c’est-à-dire un format d’installation natif d’Apple qui contient une application, des drivers ou des composants système, ainsi que des scripts d’installation automatisés. Contrairement à un simple glisser-déposer (DMG), un PKG exécute des scripts qui configurent permissions, installent des fichiers système dans /Library ou /usr, et enregistrent l’app auprès de macOS via pkgutil. Le format sous-jacent est XAR (eXtensible ARchive) avec compression gzip. Depuis 2024, tout PKG distribué publiquement doit être signé avec un certificat Developer ID Installer et notarisé par Apple pour passer les vérifications Gatekeeper.

Comment installer un fichier .pkg sur Mac ?

Double-cliquez sur le fichier .pkg pour lancer l’assistant d’installation graphique (Installer.app), ou utilisez la commande Terminal sudo installer -pkg /chemin/vers/fichier.pkg -target / pour une installation silencieuse en ligne de commande. L’installation graphique guide l’utilisateur à travers plusieurs étapes : présentation, licence, choix de destination, authentification administrateur, puis installation avec exécution des scripts. L’installation Terminal est préférée pour les déploiements enterprise, le scripting automatisé, ou les installations multiples via MDM. Dans les deux cas, un mot de passe administrateur est requis car les PKG modifient souvent des zones système protégées (/Library, /usr/local, /Applications).

Est-ce qu’un fichier .pkg est sûr à installer ?

Un fichier .pkg est sûr SI et SEULEMENT SI il est signé par un développeur identifié Apple et notarisé (vérifié automatiquement par Gatekeeper lors de l’ouverture). macOS analyse chaque PKG avec XProtect (antivirus intégré) et Gatekeeper (vérification signature cryptographique). Les PKG non signés affichent une alerte « provenant d’un développeur non identifié » et sont bloqués par défaut. Depuis 2024, la notarization est quasi-obligatoire : Apple scanne le PKG avant de délivrer un ticket de validation. Sans langue de bois : téléchargez toujours depuis des sources officielles et vérifiez la signature avec spctl --assess --verbose file.pkg en cas de doute. Un PKG non signé en 2026 est un red flag énorme.

Quelle est la différence entre .pkg et .dmg sur Mac ?

Un .dmg est une simple image disque qu’on monte (comme un CD virtuel) pour glisser-déposer l’app vers /Applications, tandis qu’un .pkg est un installateur qui exécute des scripts automatiques et installe des composants système. Utilisez PKG quand vous devez installer des drivers, des daemons système, modifier des permissions, ou déployer en masse via MDM enterprise. Utilisez DMG pour les applications simples auto-contenues qui ne nécessitent aucune configuration système (90% des apps grand public). Les PKG permettent aussi le tracking de désinstallation via pkgutil (lister les fichiers installés), alors que les DMG nécessitent une suppression manuelle (drag to Trash). En pratique : PKG = complexité + contrôle, DMG = simplicité + user-friendly.

Peut-on ouvrir un fichier .pkg sur Windows ou Linux ?

Non, les fichiers .pkg macOS ne peuvent pas être installés nativement sur Windows ou Linux, mais vous pouvez extraire leur contenu avec 7-Zip (Windows) ou xar (Linux) pour accéder aux fichiers. Les PKG contiennent des binaries au format Mach-O (exécutables macOS) qui sont incompatibles avec les formats Windows (PE/COFF) ou Linux (ELF). L’extraction permet d’inspecter les fichiers (utile pour les développeurs), mais pas de les exécuter. Si vous avez besoin d’utiliser le logiciel, trois options : 1) Machine virtuelle macOS sur un Mac hôte, 2) Hackintosh (installation macOS sur PC x86, zone grise légalement), 3) Chercher une version native Windows/Linux de l’app.

Comment désinstaller un programme installé via .pkg sur Mac ?

macOS n’a pas de désinstalleur natif pour les PKG ; listez les fichiers installés avec pkgutil --files <bundle.id> puis supprimez-les manuellement, ou utilisez un outil tiers comme AppCleaner (gratuit) qui automatise le processus. Workflow manuel : 1) Identifier le bundle ID avec pkgutil --pkgs | grep nom-app, 2) Lister les fichiers avec pkgutil --files com.example.monapp, 3) Supprimer chaque fichier avec sudo rm /path/to/file, 4) Oublier le package avec sudo pkgutil --forget com.example.monapp. Alternative recommandée : AppCleaner détecte automatiquement les PKG installés et leurs fichiers associés, désinstallation en 1 clic. Certains développeurs fournissent aussi un script uninstall.sh dans /Library/Application Support/.

Pourquoi macOS dit que mon .pkg « ne peut pas être ouvert » ?

Cette erreur signifie que le PKG n’est pas signé par un développeur identifié Apple (ou sa signature est invalide), et Gatekeeper le bloque par sécurité pour protéger votre système. Solution rapide : faites un clic droit sur le fichier .pkg → choisissez « Ouvrir » (et non double-clic), puis confirmez l’installation dans la popup « Êtes-vous sûr ? ». Cette manipulation contourne temporairement Gatekeeper pour ce fichier uniquement (vous ne verrez l’alerte qu’une fois). Alternativement, allez dans Préférences Système → Sécurité et confidentialité, cliquez « Ouvrir quand même » après la première tentative d’installation. Attention : n’installez que des PKG provenant de sources de confiance absolue, car contourner Gatekeeper expose votre Mac aux malwares.

Comment créer son propre fichier .pkg pour distribuer une application Mac ?

Utilisez l’outil en ligne de commande pkgbuild pour créer le PKG depuis votre dossier payload, signez-le avec votre certificat Developer ID Installer via productsign, puis soumettez-le à la notarization Apple avec xcrun notarytool, et enfin attachez le ticket avec xcrun stapler staple. Workflow complet : 1) Préparez un dossier avec votre app/fichiers, 2) Exécutez pkgbuild --root ./payload --identifier com.example.app --version 1.0 output.pkg, 3) Signez avec productsign --sign "Developer ID Installer: Nom (TEAMID)" output.pkg output-signed.pkg, 4) Notarisez avec xcrun notarytool submit output-signed.pkg --keychain-profile "AC_PASSWORD" --wait, 5) Staplez avec xcrun stapler staple output-signed.pkg. Prérequis : compte Apple Developer (99$/an), certificat Developer ID Installer, Xcode Command Line Tools. Depuis 2024, la notarization est quasi-obligatoire pour distribution publique.

Mon Verdict Final : Le PKG en 2026, Toujours Indispensable ?

Après avoir décortiqué le format .pkg sous tous les angles, voici ce qu’il faut retenir : le PKG reste incontournable pour les installations système complexes et le déploiement enterprise, mais il n’est pas adapté à tous les cas d’usage.

En pratique : si votre app nécessite des drivers, des daemons, des permissions système spécifiques, ou si vous déployez en masse via MDM → le PKG est votre seule option viable. Mais pour 80% des apps grand public (éditeurs de texte, utilitaires, jeux, productivité), un DMG simple ou l’App Store suffisent largement et offrent une meilleure expérience utilisateur.

Ce qui compte vraiment en 2026 : la sécurité. Avec Gatekeeper Level 3, XProtect, et la notarization obligatoire, Apple a considérablement renforcé la protection contre les malwares distribués via PKG. Résultat : les utilisateurs ont (enfin) confiance dans les PKG signés, mais se méfient légitimement des PKG non notarisés. Si vous développez, investissez les 99$/an et le temps nécessaire pour signer et notariser proprement vos PKG.

Mon conseil terrain : choisissez le bon outil selon vos besoins réels, pas selon les habitudes. J’ai aidé une dizaine de PME à simplifier leur distribution en passant de PKG complexes (avec scripts inutiles, licences embedded, UI customisée) à des DMG épurés. Résultat systématique : moins de tickets support, plus de conversions, meilleurs retours utilisateurs. Le PKG, c’est puissant, mais pas obligatoire.

Si vous développez une app Mac et hésitez entre PKG, DMG, ou App Store, posez-vous ces questions : 1) Mon app doit-elle installer des fichiers hors de /Applications ? 2) Ai-je besoin de scripts pre/post install ? 3) Je cible des utilisateurs enterprise ou grand public ? Les réponses vous guideront naturellement vers le bon format. Et rappelez-vous : un fichier .pkg bien conçu et notarisé reste, en 2026, le format le plus flexible et le plus puissant de l’écosystème macOS.

Mana-Sys
Résumé de la politique de confidentialité

Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.