Aller au contenu principal

Introduction à Aurora DX

Aurora Developer Experience (aurora-dx) est un environnement dédié qui enrichit Aurora d’outils de développement et d’intégrations pour les développeurs. Contrairement aux distributions Linux traditionnelles, Aurora privilégie fortement la conteneurisation et vous demande de ne pas installer vos outils de développement directement sur l’hôte.

Emplacement des outils de développement​

Cette approche sécurise la gestion des dépendances en réduisant le risque d’endommager votre installation du système d’exploitation. L’équipe de maintenance d’Aurora ne vous dicte pas votre façon de développer, mais écarte les pièges qui risquent de casser votre machine et, au bout du compte, de perturber votre travail. Aurora-DX propose les fonctionnalités suivantes pour offrir un excellent environnement de développement :

  • Intégration de QEMU et de KVM pour faciliter la virtualisation
  • Outils et configurations préinstallés pour démarrer rapidement, comme Visual Studio Code et l’intégration des devcontainers
  • Moyens pratiques d’installer vos outils favoris, comme JetBrains Toolbox, à l’aide de commandes ujust

Activer le mode développeur​

Pour activer le mode développeur depuis une installation standard d’Aurora, saisissez ujust devmode et suivez les indications dans votre terminal. L’assistant ressemble à ceci :

Activation d’Aurora DX

Après avoir activé le mode développeur, vous devez ajouter votre compte aux groupes appropriés.

Pour cela, utilisez ujust dx-group, puis déconnectez-vous et reconnectez-vous. C’est terminé : docker et d’autres outils très utiles sont désormais à votre disposition, prêts à l’emploi !

Fonctionnalités

Visual Studio Code avec Docker​

Visual Studio Code est inclus dans l’image comme environnement de développement intégré par défaut. L’extension devcontainers y est déjà installée. C’est l’environnement de développement recommandé : commencez ici si vous découvrez le développement conteneurisé !

La version la plus récente de Docker Engine est incluse par défaut et configurée comme moteur de conteneurs par défaut pour vscode. docker compose constitue également un excellent point de départ pour développer avec des conteneurs, si les devcontainers ne correspondent pas à votre façon de travailler.

Podman et Podman Desktop​

Podman Desktop

Podman Desktop est inclus pour gérer les conteneurs. Consultez la documentation de Podman Desktop pour en savoir plus. Tous les outils podman du projet amont sont inclus. Il s’agit du moteur de conteneurs système par défaut et de la configuration recommandée pour le développement fournie par Fedora.

Bien qu’Aurora utilise docker et vscode par défaut pour le développement, tous les outils amont de Fedora sont inclus pour les personnes qui préfèrent cet environnement.

Outils d’analyse des performances intégrés​

Sysprof est inclus pour profiler les performances à l’échelle du système, ainsi que les outils en ligne de commande recommandés par Brendan Gregg :

  • bcc, bpftrace, iproute2, nicstat, numactl, sysprof, sysstat, tiptop, trace-cmd et util-linux

Merci à Ubuntu et à Canonical pour la spécification détaillée et son argumentaire. Nous espérons que l’inclusion d’outils d’analyse des performances contribuera à améliorer les logiciels en amont.

Améliorations du confort d’utilisation​

  • Cockpit pour l’administration locale et distante
  • Tailscale pour le VPN
  • Le lanceur de tâches Just pour l’automatisation
  • fish et zsh disponibles comme shells facultatifs

Polices​

Aurora DX inclut une collection de polices à chasse fixe soigneusement sélectionnées. Vous pouvez ajouter d’autres polices avec Homebrew à partir du dépôt de casks de polices. Vous pouvez également installer les polices Microsoft si nécessaire.

Lancez simplement ujust bbrew et sélectionnez « fonts » dans la liste.

  • Polices Microsoft : Si vous devez installer des polices Microsoft pour assurer la compatibilité avec certains documents, la plupart sont disponibles dans Homebrew.

Notez que certaines de ces polices sont protégées par les droits d’auteur de Microsoft.

Microsoft UK a confirmé que vous êtes autorisé à les posséder à condition de détenir une copie de l’un des produits suivants :

  • Microsoft PowerPoint Viewer (gratuit, retiré)
  • Éventuellement PowerPoint Mobile (gratuit)
  • Microsoft Office (n’importe quelle version, Windows ou Mac)

Calibri, Cambria, Candara, Consolas, Constantia et Corbel sont incluses dans font-microsoft-office ; les autres doivent être installées individuellement. Vous pouvez toutes les installer en une fois en exécutant la commande suivante dans un terminal :

brew tap colindean/fonts-nonfree && brew install --cask font-microsoft-office font-microsoft-aptos font-arial font-arial-black font-courier-new font-times-new-roman font-georgia

Conteneurs personnels persistants​

Les conteneurs personnels persistants (« pet containers ») sont accessibles sous forme de terminaux interactifs grâce à distrobox. Gérez-les avec l’application Kontainer incluse.

Utilisez Kontainer pour créer vos propres conteneurs personnels persistants à partir de n’importe quelle distribution de la liste :

Si vous êtes adepte de la ligne de commande, vous pouvez gérer vos conteneurs grâce à la prise en charge intégrée au terminal :

Gestion des conteneurs dans le terminal

  • Le terminal par défaut est Konsole, qui intègre désormais les conteneurs distrobox. Auparavant, Ptyxis était utilisé.
  • Podman Desktop — conteneurs et Kubernetes pour les développeurs d’applications
  • Pods est également un excellent moyen de gérer vos conteneurs avec une interface graphique

Autres outils

JetBrains​

ujust jetbrains-toolbox télécharge et installe l’application JetBrains Toolbox, qui gère l’installation de la suite d’outils JetBrains. Cette application prend en charge l’installation, la suppression et la mise à niveau des produits JetBrains, entièrement dans votre dossier personnel et indépendamment de l’image du système d’exploitation. Nous ne recommandons pas les Flatpaks JetBrains.

Le blog JetBrains fournit également davantage d’informations sur la prise en charge de Dev Containers par JetBrains :

Neovim​

Exécutez brew install neovim devcontainer, puis suivez ces instructions pour configurer un devcontainer :

Kubernetes et autres outils cloud natifs​

Exécutez ujust bbrew et sélectionnez k8s-tools pour commencer :

NomDescription
cdk8sDéfinit des applications Kubernetes et des abstractions réutilisables à l’aide de langages de programmation familiers.
k0sctlOutil en ligne de commande pour initialiser et gérer des clusters Kubernetes k0s.
k3supUtilitaire léger pour installer k3s sur n’importe quelle machine virtuelle locale ou distante.
kindOutil pour exécuter des clusters Kubernetes locaux en utilisant des conteneurs Docker comme « nœuds ».
daggerKit de développement portable pour les pipelines CI/CD.
grypeAnalyseur de vulnérabilités pour les images de conteneurs et les systèmes de fichiers.
helmGestionnaire de paquets pour Kubernetes.
kubectlOutil en ligne de commande de Kubernetes permettant d’exécuter des commandes sur des clusters Kubernetes.
k9sInterface dans le terminal pour interagir avec vos clusters Kubernetes.
kubectxOutil permettant de changer plus rapidement de contexte (cluster) dans kubectl.
packOutil en ligne de commande pour construire des applications avec Cloud Native Buildpacks.
syftOutil en ligne de commande et bibliothèque pour générer une nomenclature logicielle (SBOM) à partir d’images de conteneurs et de systèmes de fichiers.

Outils CNCF​

Pour accéder à l’ensemble des outils de la Cloud Native Computing Foundation, utilisez ujust cncf afin de parcourir et d’installer les outils d’une vaste collection de 89 projets CNCF, aux stades de maturité « graduated », « incubating » et « sandbox ». Vous y trouverez notamment Argo, Cilium, Envoy, Flux, Istio, Linkerd, Prometheus et bien d’autres.

Ramalama, llmman et autres outils d’IA​

Ramalama et llmman peuvent être installés avec ujust bbrew en sélectionnant l’option ai, pour gérer des modèles d’IA en local et les rendre accessibles par un serveur. Consultez la documentation sur l’IA pour en savoir plus.

Virtualisation et moteurs de conteneurs​

  • virt-manager et les outils associés (KVM, qemu)
  • Incus fournit des conteneurs système