Category: Développement

Le laboratoire Open Source de l'Oregon State University confronté à une crise de financement

2025-05-06
Le laboratoire Open Source de l'Oregon State University confronté à une crise de financement

Le Laboratoire Open Source (OSL) de l'Oregon State University (OSU), un projet vieux de 22 ans, est confronté à une grave pénurie de fonds, mettant en péril son avenir. L'OSL héberge de nombreux projets open source dans le monde entier et a joué un rôle crucial dans le soutien de projets tels que Gentoo, Drupal et la Fondation Mozilla. La pénurie de fonds est due à des coupes budgétaires fédérales, le président de l'OSU ayant exprimé son inquiétude. L'OSL recherche 250 000 dollars pour rester opérationnel, et la communauté open source a exprimé un fort soutien, de nombreux bénéficiaires soulignant son importance.

Développement

nnd : Un débogueur rapide et léger pour code natif Linux

2025-05-06
nnd : Un débogueur rapide et léger pour code natif Linux

Découvrez nnd, un débogueur Linux inspiré de RemedyBG, qui privilégie la vitesse et la légèreté. Il possède une interface TUI, est principalement développé de zéro (non basé sur gdb ou lldb) et gère efficacement les exécutables volumineux (testé sur un exécutable ClickHouse de 2,5 Go). nnd se concentre sur la vitesse ; les opérations instantanées sont réellement instantanées, tandis que les opérations plus longues sont traitées de manière asynchrone avec des barres de progression. Actuellement, il ne prend en charge que le débogage de code natif Linux x86-64 et ne possède pas de débogage à distance, de prise en charge multiprocessus et de retour en arrière. Distribué en tant qu'exécutable unique de 6 Mo sans dépendances, il s'installe facilement via curl ou se compile à partir du code source.

Développement

Au-delà du codage inspiré : la refactorisation inspirée pour un développement logiciel durable

2025-05-06
Au-delà du codage inspiré : la refactorisation inspirée pour un développement logiciel durable

Fatigué du pic d'adrénaline du « codage inspiré » ? Essayez la « refactorisation inspirée » ! Contrairement à la ruée d'adrénaline de produire du code rapidement, elle se concentre sur la gestion de la dette technique et le raffinement de l'architecture. Consacrez 15 à 20 minutes par semaine à explorer votre base de code avec des yeux neufs, en nettoyant les avertissements, en supprimant les importations inutilisées, en optimisant les fonctions et même en utilisant des LLMs pour des solutions plus intelligentes. Une refactorisation inspirée constante conduit à une meilleure qualité de code, des déploiements plus rapides, des équipes plus heureuses et des clients satisfaits. Choisissez une croissance durable plutôt que des pics d'enthousiasme à court terme – observez la qualité de votre base de code s'améliorer !

Développement

Ubuntu 25.10 adoptera sudo-rs, une version sécurisée de sudo, par défaut

2025-05-06
Ubuntu 25.10 adoptera sudo-rs, une version sécurisée de sudo, par défaut

Canonical a annoncé qu'Ubuntu 25.10 utilisera sudo-rs par défaut, un remplacement sécurisé en mémoire de l'utilitaire sudo largement utilisé, écrit en Rust. Ce changement vise à améliorer la sécurité et la maintenabilité d'Ubuntu. Développé par la Trifecta Tech Foundation, sudo-rs répond aux préoccupations de sécurité mémoire inhérentes aux implémentations traditionnelles de sudo basées sur le C. Ce changement sera maintenu dans Ubuntu 26.04 LTS, garantissant ainsi la sécurité et la stabilité à long terme.

Développement

AnuDB : Une base de données de documents JSON légère et sans serveur pour C++

2025-05-06
AnuDB : Une base de données de documents JSON légère et sans serveur pour C++

AnuDB est une base de données de documents JSON légère et sans serveur, conçue pour les applications C++, offrant un stockage efficace des documents JSON via la sérialisation MessagePack. Basée sur RocksDB, elle garantit l'atomicité, la durabilité et la cohérence. AnuDB fournit une solution sans schéma avec des capacités de requête robustes et prend en charge MQTT pour la communication de données en temps réel, idéale pour les applications IoT. L'utilisation de la mémoire/CPU est configurable, et la prise en charge de Docker simplifie le déploiement.

Développement Sans serveur

Terminer les tâches dans les grandes entreprises technologiques : Ce n'est pas ce que vous pensez

2025-05-06

Dans les grandes entreprises technologiques, les ingénieurs compétents peuvent facilement tomber dans le piège de l'amélioration continue des systèmes existants, négligeant la livraison réelle de la valeur. Cet article soutient que « terminer » le travail ne signifie pas un raffinement sans fin, mais atteindre un point où les décideurs de l'entreprise sont satisfaits. Déclarez la victoire et passez à autre chose ! Cela exige de rendre votre travail visible et compréhensible pour ces décideurs, peut-être en démontrant un impact financier. En fin de compte, « terminer les tâches » est une construction sociale, mais puissante, qui a un impact sur votre carrière.

Développement

Attention aux nuances culturelles du code : le piège des majuscules turques « İ »

2025-05-06

Cet article met en lumière un bogue surprenant : les comparaisons de casse des chaînes de caractères échouent dans la culture turque. La majuscule de « i » en turc est le « İ » avec un point, contrairement au « I » anglais, ce qui fait échouer les comparaisons de chaînes simples. L’auteur préconise l’utilisation de `StringComparison.Ordinal` ou `StringComparison.OrdinalIgnoreCase` pour les comparaisons de chaînes et recommande d’utiliser l’outil d’analyse de code de Visual Studio pour éviter de tels problèmes. Une approche progressive pour ajouter des règles et les gérer via des fichiers de règles est suggérée, évitant ainsi les bogues de code dus aux différences culturelles.

Développement bogue de code

Hyper : Un langage de balisage d’interface utilisateur minimaliste qui défie la domination de React

2025-05-06
Hyper : Un langage de balisage d’interface utilisateur minimaliste qui défie la domination de React

Hyper est un nouveau langage de balisage d’interface utilisateur minimaliste conçu pour créer des interfaces utilisateur complexes avec une syntaxe propre, remettant en question la complexité de React. Les principales différences incluent la nature légère de Hyper, un code significativement plus petit, une maintenance plus facile et une séparation complète du style et de la logique, ce qui améliore la réutilisabilité. L’article compare la création des mêmes composants avec React et Hyper, soulignant comment la conception découplée de Hyper et le respect des normes web résolvent les problèmes d’évolutivité et de maintenance de React. L’objectif final est une pile full-stack plus simple avec génération d’IU par IA.

Anukari : Problèmes de performances du synthétiseur audio physique en temps réel sous macOS

2025-05-06

Anukari, un synthétiseur audio physique 3D en temps réel basé sur GPU, fonctionne bien sur la plupart des systèmes macOS. Cependant, sur certains appareils Apple Silicon haut de gamme, ses performances diminuent en raison des stratégies d'économie d'énergie du GPU de macOS. L'auteur a tenté de résoudre le problème avec une stratégie de « gaspillage accélère » (exécuter une charge de travail supplémentaire sur le GPU pour augmenter sa fréquence), mais cela échoue sur les appareils haut de gamme en raison de la régulation de fréquence indépendante de plusieurs puces GPU. L'auteur fait appel à l'équipe Apple Metal pour l'aider à résoudre ce problème et propose des solutions possibles, telles que l'extension du concept de groupe de travail audio au GPU ou l'ajout d'une option sensible au temps réel à l'API Metal.

Développement Synthèse audio

Argus : Un débogueur interactif pour démystifier les erreurs complexes de trait Rust

2025-05-06
Argus : Un débogueur interactif pour démystifier les erreurs complexes de trait Rust

Le puissant système de types de Rust est réputé, mais les erreurs de type complexes peuvent être frustrantes pour les développeurs. Cet article présente Argus, un débogueur interactif qui visualise l'arbre d'inférence de trait Rust dans une interface graphique, aidant les développeurs à comprendre les erreurs de trait complexes étape par étape. Argus offre des vues ascendantes et descendantes, ainsi que l'expansion interactive des types longs et des chemins, améliorant considérablement l'efficacité de la localisation des erreurs. Une étude utilisateur a montré une accélération de 3,3x dans la localisation des erreurs de trait en utilisant Argus. Argus est disponible en tant qu'extension VSCode et le code source est open-source.

Développement

La Rédemption du Programmeur : De l’obsession du code à lâcher prise

2025-05-06

Cet essai relate le parcours de l’auteur, de l’écriture de scripts simples à un besoin obsessionnel de refactoriser tous les logiciels. Initialement motivé par la résolution de problèmes, cela a évolué vers une compulsion de contrôle, voyant chaque morceau de logiciel comme un projet nécessitant des améliorations. L’auteur réfléchit à la psychologie sous-jacente : utiliser la programmation comme échappatoire, quête de contrôle et auto-apaisement. Finalement, l’auteur réalise que tous les problèmes ne nécessitent pas une solution et apprend l’habileté mature à lâcher prise.

Développement obsession du code

Tri par bitonique 30% plus rapide sur CUDA : exploitation du shuffle de warp

2025-05-06

Cet article de blog détaille une implémentation CUDA de l'algorithme de tri bitonique, obtenant une amélioration des performances de 30% en utilisant intelligemment l'instruction `__shfl_sync`. L'auteur explique les principes du tri bitonique, la programmation SIMD et les spécificités de l'implémentation CUDA. L'optimisation clé réside dans le remplacement de la communication de mémoire partagée traditionnelle par `__shfl_sync`, éliminant la surcharge de synchronisation et améliorant significativement l'efficacité. L'article suggère également le potentiel d'utiliser ce tri accéléré de 32 éléments pour accélérer le tri de séquences plus grandes, promettant un suivi sur l'optimisation du merge à 32 voies.

Gestion de la mémoire en Rust : techniques avancées

2025-05-06
Gestion de la mémoire en Rust : techniques avancées

Ceci est le cinquième article d'une série sur la gestion de la mémoire en Rust, qui explore des techniques avancées pour gérer les opérations de mémoire complexes. En commençant par un exemple simple d'itérateur, l'article explique les subtilités du système de propriété et d'emprunt de Rust, en clarifiant pourquoi `for y in x` déplace la propriété de `x` et comment l'utilisation d'une référence `&x` évite cela. L'impact des appels de méthode sur la gestion de la mémoire est ensuite analysé, en détaillant comment plusieurs appels de méthode peuvent conduire à des erreurs du vérificateur d'emprunt et en présentant des solutions : supprimer et réemprunter, stocker un handle, faire une copie et restructurer le code. L'article se termine par une brève introduction aux durées de vie en Rust et aux durées de vie non lexicales, montrant comment les annotations de durée de vie évitent les références pendantes et comment Rust utilise des mécanismes similaires pour garantir à la fois la sécurité mémoire et la sécurité des threads.

Développement Vérificateur d'emprunt

Open WebUI ajoute une clause de protection de marque à sa licence

2025-05-06

Open WebUI, un projet indépendant d'IA open source, a ajouté une clause de protection de marque à sa licence BSD-3 à partir de la version 0.6.6. Cela fait suite à une augmentation du nombre de mauvais acteurs qui ont utilisé le projet, supprimé la marque et l'ont vendu à des fins commerciales. La nouvelle clause n'affecte pas les utilisateurs légitimes, mais empêche ceux qui déforment le projet et profitent sans contribuer. Elle permet les modifications et la redistribution, mais exige une attribution claire à moins que des conditions spécifiques ne soient remplies (par exemple, moins de 50 utilisateurs, contributeur avec autorisation ou licence d'entreprise). Open WebUI reste largement open source, cherchant à équilibrer l'esprit communautaire avec la durabilité du projet.

Développement protection de marque

arXivLabs : Projets expérimentaux en collaboration avec la communauté

2025-05-06
arXivLabs : Projets expérimentaux en collaboration avec la communauté

arXivLabs est un cadre permettant aux collaborateurs de développer et de partager de nouvelles fonctionnalités arXiv directement sur notre site web. Les individus et les organisations qui travaillent avec arXivLabs ont adopté et accepté nos valeurs d'ouverture, de communauté, d'excellence et de confidentialité des données des utilisateurs. arXiv s'engage à respecter ces valeurs et ne travaille qu'avec des partenaires qui les partagent. Vous avez une idée de projet qui apportera une valeur ajoutée à la communauté arXiv ? En savoir plus sur arXivLabs.

Développement

Extension VS Code : Ajout automatique des mots clés async/await

2025-05-05
Extension VS Code : Ajout automatique des mots clés async/await

Cette extension VS Code ajoute automatiquement les mots clés `async/await` manquants lors de l'enregistrement d'un fichier TypeScript. Un fichier `tsconfig.json` est requis dans le dossier de votre projet. L'extension ajoute intelligemment les mots clés `async` et `await` pour garantir le bon fonctionnement des fonctions asynchrones. Pour empêcher l'ajout de `await` à une fonction asynchrone spécifique, ajoutez le commentaire `// no-await` à la fin de l'appel de fonction. La première conversion peut être lente, mais les conversions suivantes seront plus rapides.

Développement

Dire adieu à la consommation excessive de CPU de Kubernetes : automatisation légère des conteneurs avec Podman

2025-05-05
Dire adieu à la consommation excessive de CPU de Kubernetes : automatisation légère des conteneurs avec Podman

En 2018, l’auteur a expérimenté Kubernetes pour l’orchestration de conteneurs. Bien qu’il ait apprécié le déploiement automatisé, la forte consommation de ressources de Kubernetes s’est avérée problématique. Il a finalement découvert Podman, une alternative légère à Docker. Combiné à systemd et à une connexion persistante de l’utilisateur, il a obtenu des mises à jour automatisées similaires à celles de Kubernetes, mais avec une consommation de ressources considérablement réduite, ce qui rend son serveur plus rapide et plus économe en énergie. Cet article partage l’expérience de l’auteur lors de sa migration de Kubernetes vers Podman et comment utiliser Podman, systemd et la connexion persistante de l’utilisateur pour des mises à jour automatisées des conteneurs, offrant une nouvelle perspective aux développeurs à la recherche de solutions d’orchestration de conteneurs légères.

Bibliothèque d'interface utilisateur Tkinter déclarative pour Python : tkintergalactic

2025-05-05
Bibliothèque d'interface utilisateur Tkinter déclarative pour Python : tkintergalactic

tkintergalactic est une bibliothèque d'interface utilisateur Tkinter déclarative pour Python, inspirée de l'approche DOM virtuelle de React. Elle est bien typée, se mappe étroitement au Tcl/Tk sous-jacent pour faciliter le débogage et ne possède aucune dépendance. Bien qu'elle soit encore incomplète, sa petite taille la rend facile à comprendre. Des exemples montrent comment créer des fenêtres simples, des boutons, des zones de texte et des listes, en utilisant le gestionnaire de disposition packer. Les améliorations futures comprennent un algorithme de différence plus efficace, une gestion d'état améliorée et la prise en charge d'éléments d'interface utilisateur plus complexes.

Nakama : Un serveur distribué pour des jeux et applications temps réel évolutifs

2025-05-05
Nakama : Un serveur distribué pour des jeux et applications temps réel évolutifs

Nakama est un serveur distribué haute performance conçu pour créer des jeux et applications temps réel évolutifs. Il offre des fonctionnalités telles que l'inscription des utilisateurs, des fonctionnalités sociales (amis, groupes), le chat, divers modes multijoueurs (temps réel et tour par tour), des classements, des tournois, des groupes, la validation des achats intégrés et des notifications. Les développeurs peuvent étendre les fonctionnalités du serveur à l'aide de Lua, TypeScript/JavaScript ou Go. Nakama prend en charge le déploiement Docker et fournit des binaires natifs et des bibliothèques clientes pour diverses plates-formes (.NET, Unity, JavaScript, Java, Unreal Engine, etc.). Il inclut également une interface utilisateur web pour l'administration et la surveillance.

Configuration du serveur de langage Python dans l'éditeur Kate pour les environnements virtuels

2025-05-05

Cet article détaille la configuration d'un serveur de langage Python dans l'éditeur Kate pour fonctionner avec les environnements virtuels. L'auteur remarque que, même si la documentation de Kate existe, le processus de configuration peut être délicat. L'article explique comment créer un script bash, `pylsp_in_env`, pour détecter et activer automatiquement les environnements virtuels. Ce script est ensuite intégré avec `python-lsp-server` et `python-lsp-ruff` (pour la lint et la mise en forme Ruff). La configuration finale est obtenue en spécifiant le script `pylsp_in_env` et l'argument de chemin `%{Project:NativePath}` dans le fichier de configuration LSP de Kate.

Développement Serveur de Langage

Redfly.ai : Révolutionner les performances des bases de données avec un système de mise en cache agnostique du schéma

2025-05-05
Redfly.ai : Révolutionner les performances des bases de données avec un système de mise en cache agnostique du schéma

Après plus de 20 ans de développement d'applications basées sur les données, l'équipe de redfly.ai a relevé le défi des performances, de l'évolutivité et du coût des bases de données. Leur solution ? Le premier système de mise en cache agnostique du schéma au monde. En mettant efficacement en cache toutes les lectures et en utilisant la base de données principalement pour le stockage, redfly.ai contourne la plupart des problèmes liés aux bases de données sur disque. Actuellement compatible avec SQL Server et Postgres, avec des projets d'extension à d'autres bases de données et plateformes cloud, redfly.ai vise à fournir aux développeurs une solution d'accès aux données performante et économique.

Journelly : Une nouvelle application iOS combinant prise de notes, journal et médias sociaux

2025-05-05
Journelly : Une nouvelle application iOS combinant prise de notes, journal et médias sociaux

Journelly est une nouvelle application iOS qui combine les meilleurs aspects des applications de prise de notes, de journal et de médias sociaux. Après des tentatives précédentes infructueuses de créer une application de prise de notes réussie, le développeur a incorporé la facilité de navigation et de partage que l'on trouve sur les médias sociaux, tout en privilégiant la fonctionnalité hors ligne et en utilisant Org/Markdown pour la portabilité des données et la confidentialité de l'utilisateur. Journelly offre une synchronisation iCloud facultative et permet aux utilisateurs de catégoriser les entrées avec des hashtags. Bien qu'actuellement minimaliste, les futures mises à jour promettent des fonctionnalités supplémentaires, tout en maintenant l'engagement d'éviter les publicités, le suivi et les autorisations excessives.

Le mythe du maître full-stack : pourquoi la technologie de pointe a besoin d'une solution pour le pipeline

2025-05-05
Le mythe du maître full-stack : pourquoi la technologie de pointe a besoin d'une solution pour le pipeline

Maîtriser l'ensemble de la pile logicielle est incroyablement difficile, non seulement sur le plan technique, mais aussi en raison d'une grave pénurie de talents. De nombreuses communautés open source de bas niveau sont confrontées à une base de contributeurs vieillissante, avec peu de jeunes ingénieurs entrant dans le domaine. Cela est dû en partie au manque d'attrait du travail au niveau du système par rapport aux applications d'IA à la mode. L'article explore les facteurs qui y contribuent, notamment une éducation insuffisante, la sous-évaluation des technologies fondamentales et l'incapacité de l'industrie à cultiver adéquatement les talents. L'entreprise de l'auteur s'attaque activement à ce problème en collaborant avec des universités, en participant à des projets open source et en abaissant la barrière à la contribution. Elle appelle à un effort collectif de l'industrie pour nourrir les talents et assurer le développement continu de systèmes logiciels sophistiqués.

VectorVFS : Votre système de fichiers comme base de données vectorielle

2025-05-05

VectorVFS est un package Python léger qui transforme votre système de fichiers Linux en base de données vectorielle en utilisant les attributs étendus natifs du VFS (Virtual File System). Au lieu de maintenir un index séparé ou une base de données externe, VectorVFS stocke les embeddings vectoriels directement à côté de chaque fichier, transformant votre structure de répertoires existante en un magasin d'embeddings efficace et searchable sémantiquement. VectorVFS prend en charge les Perception Encoders (PE) de Meta, incluant les encodeurs image/vidéo pour la compréhension du langage visuel, surpassant InternVL3, Qwen2.5VL et SigLIP2 pour les tâches d'images à zéro coup. Il prend en charge le CPU et le GPU, mais si vous avez une grande collection d'images, cela peut prendre du temps la première fois pour intégrer tous les éléments si vous n'utilisez pas de GPU. Note : Il s'agit de la première version de VectorVFS et nous développons les modèles et les types de données. Actuellement, nous ne prenons en charge que les Perception Encoders (PE) et les images.

Développement

Intuition Géométrique du Théorème des Fonctions Inverses et de la Transformation de Legendre

2025-05-05

Cet article fournit une explication intuitive et géométrique du théorème des fonctions inverses et de la transformation de Legendre. Évitant les dérivation de formules arides, l'auteur utilise des méthodes visuelles telles que les transformations de graphes et les réflexions pour éclairer la relation entre la dérivée d'une fonction inverse et sa fonction originale, et comment la transformation de Legendre résout les intégrales de fonctions inverses. En utilisant arctan x comme exemple, l'article explique clairement l'application de ces outils mathématiques importants, soulignant leur large utilisation dans des domaines tels que la physique.

Bracket : Un système de tournoi facile à utiliser en Python asynchrone

2025-05-05
Bracket : Un système de tournoi facile à utiliser en Python asynchrone

Bracket est un système de tournoi facile à utiliser, développé avec Python asynchrone (FastAPI) et Next.js (utilisant la bibliothèque Mantine). Il prend en charge les formats à élimination directe, les tournois toutes rondes et les tournois suisses, permettant des tournois à plusieurs étapes avec un système de planification par glisser-déposer, des tableaux de bord personnalisables et la gestion des équipes/joueurs. Une démo est disponible, et le déploiement est simple via Docker. Plusieurs langues sont prises en charge (via Crowdin).

Codage ≠ Programmation : Le point de vue d'un lauréat du prix Turing sur l'abstraction

2025-05-05
Codage ≠ Programmation : Le point de vue d'un lauréat du prix Turing sur l'abstraction

Leslie Lamport, lauréat du prix Turing âgé de 84 ans, a prononcé un discours principal soulignant la différence cruciale entre codage et programmation. Il a soutenu que la pensée abstraite avant le codage est primordiale, conduisant à moins d'erreurs et à un code plus efficace. Son propre langage de spécification TLA+, utilisé dans le développement du vaisseau spatial Rosetta, sert d'exemple parfait, démontrant une réduction significative du code et des améliorations architecturales. Lamport critique la tendance des programmeurs à se concentrer sur les langages au lieu de la conception abstraite, préconisant de concevoir d'abord le modèle abstrait du programme, puis de coder. Cette approche minimise le débogage et la révision, ce qui donne un code plus propre et plus facile à maintenir.

Développement pensée abstraite

CodeCafé : Codage collaboratif en temps réel dans votre navigateur

2025-05-05
CodeCafé : Codage collaboratif en temps réel dans votre navigateur

CodeCafé est un environnement de développement hyper-collaboratif et en temps réel intégré directement dans votre navigateur. Conçu pour rendre la programmation en binôme, l'enseignement et le développement web collaboratif aussi fluides que le partage d'une pensée, CodeCafé répond aux limites des outils existants pour le codage en temps réel. Il offre un espace de codage basé sur le navigateur avec des fonctionnalités telles qu'un aperçu en direct pixel-parfait, une expérience d'édition familière semblable à celle de VS Code et une configuration nulle. Propulsé par un système de transformation opérationnelle (OT) personnalisé, il permet une collaboration fluide, à la manière de Google Docs, même avec de multiples modifications simultanées. Le backend utilise Java Spring Boot et une API WebSocket, tandis que le frontend utilise React, TypeScript et d'autres technologies modernes.

À la recherche du réseau neuronal le plus mignon : Une aventure sur Cortex-M0

2025-05-05

L'auteur tente d'exécuter un petit réseau neuronal sur un microcontrôleur Cortex-M0 aux ressources limitées pour l'estimation de pose. Les tentatives initiales utilisant des frameworks comme TensorFlow Lite Micro et MicroFlow se sont avérées trop volumineuses et dépendantes des opérations à virgule flottante. Il a finalement décidé de construire un réseau neuronal purement entier à partir de zéro en utilisant JAX et d'écrire manuellement le code d'inférence. Le parcours a été semé d'embûches, et l'auteur partage les leçons précieuses apprises, offrant des informations utiles aux développeurs souhaitant exécuter des réseaux neuronaux sur des dispositifs aux ressources limitées.

Développement quantification de modèle

Raccourcis macOS : une histoire de progrès stagnants

2025-05-05
Raccourcis macOS : une histoire de progrès stagnants

Trois ans plus tard, les Raccourcis macOS restent une déception, loin des attentes. L’auteur John Voorhees revient sur son évaluation précédente des Raccourcis, soulignant leur dépendance à des outils comme AppleScript et Keyboard Maestro pour accomplir des tâches complexes, preuve de leurs limites inhérentes. Si la flexibilité de macOS permet des solutions de contournement puissantes combinant plusieurs outils, cela souligne le manque de progrès d’Apple dans le développement des Raccourcis. Des lacunes comme la mauvaise implémentation des instructions conditionnelles aggravent encore le problème. L’auteur soutient que le « processus de plusieurs années » d’Apple a largement dépassé la marge de manœuvre raisonnable, laissant l’avenir des Raccourcis sur macOS incertain.

Développement Raccourcis
1 2 96 97 98 100 102 103 104 214 215