Tinycast : un lanceur macOS natif et open source de moins de 100 Mo
Tinycast est un lanceur macOS natif qui combine recherche floue, historique du presse-papiers, raccourcis clavier, extraits, gestion des fenêtres et extensions Raycast.
Tinycast : un lanceur macOS natif et open source de moins de 100 Mo
Les lanceurs macOS modernes ressemblent de plus en plus à de petits systèmes d’exploitation : ils indexent les applications, gèrent les fenêtres, développent les extraits, enregistrent l’historique du presse-papiers et se connectent à des services externes. Tinycast adopte une approche différente. Il vise à fournir le même type de flux de travail centralisé tout en restant une petite application macOS entièrement native, utilisant SwiftUI et AppKit plutôt qu’Electron.
Le projet se présente comme un lanceur, un utilitaire de raccourcis clavier et un gestionnaire d’historique du presse-papiers qui reste sous la barre des 100 Mo de RAM. Il n’a aucune dépendance d’exécution tierce, n’utilise aucune télémétrie et est distribué sous licence AGPL-3.0.
Pourquoi Tinycast est intéressant
Un lanceur n’est utile que s’il est plus rapide que la navigation manuelle dans les menus, les fenêtres du Finder et les réglages système. Tinycast place ces actions derrière un raccourci global et une palette de commandes interrogeable. De là, les développeurs peuvent lancer des applications, rechercher des fichiers, coller des éléments précédemment copiés, exécuter des commandes shell, gérer les fenêtres et effectuer des actions système sans quitter leur flux de travail actuel.
L’implémentation native est importante pour bien plus que l’image de marque. SwiftUI et AppKit permettent à Tinycast de s’intégrer directement aux API de macOS, notamment Spotlight, les raccourcis globaux, les services d’accessibilité, la gestion des fenêtres et le comportement de la barre des menus. Éviter Electron supprime également les surcoûts de mémoire et de distribution liés à l’intégration d’un moteur de navigateur.
Fonctionnalités principales
Lanceur d’applications
Tinycast effectue une recherche floue parmi les applications installées et permet d’épingler les entrées fréquemment utilisées. Le lanceur peut également afficher les applications actuellement ouvertes, quitter une application ou les quitter toutes simultanément.
Le flux de travail normal est volontairement simple :
- Appuyez sur le raccourci global configuré.
- Saisissez une partie du nom d’une application ou d’une commande.
- Appuyez sur Entrée pour la lancer.
- Appuyez sur Échap pour fermer la palette.
Raccourcis globaux et propres à chaque application
Un raccourci global affiche la palette depuis n’importe quel endroit de macOS. Vous pouvez également attribuer des raccourcis globaux individuels à des applications ou à des commandes personnalisées. Pour une application, appuyer sur son raccourci active ou masque sa fenêtre, ce qui est pratique pour les outils tels que les terminaux, les éditeurs et les applications de communication.
Les raccourcis se configurent dans Réglages → Raccourcis, où vous pouvez rechercher une application ou une commande personnalisée et enregistrer sa combinaison de touches.
Historique du presse-papiers
Tinycast enregistre les éléments texte et image du presse-papiers et permet de les rechercher. L’interface du presse-papiers est accessible directement depuis la palette, et un élément sélectionné peut être recollé dans l’application que vous utilisiez.
La palette sépare les applications et le contenu du presse-papiers en onglets. Appuyez sur Tabulation pour passer de l’un à l’autre, utilisez les touches fléchées pour naviguer et appuyez sur Entrée pour sélectionner un élément.
Recherche de fichiers avec Spotlight
Tinycast recherche les fichiers et les dossiers dans les répertoires que vous choisissez via Spotlight, plutôt que de maintenir un index d’application distinct. Cette conception évite de dupliquer le travail d’indexation de macOS et conserve une fonctionnalité ciblée : trouver un fichier, l’ouvrir ou accéder à son dossier.
Calculatrice et conversions
Les calculs intégrés prennent en charge l’arithmétique courante, les conversions d’unités, les conversions de devises en temps réel et les conversions de cryptomonnaies. Comme la calculatrice se trouve dans la palette de commandes, elle peut être utilisée sans ouvrir une application distincte ni un nouvel onglet de navigateur.
Liens rapides, extraits et commandes personnalisées
Les liens rapides transforment des URL, des recherches, des fichiers ou des liens profonds en commandes réutilisables. Ils peuvent accepter une saisie, le contenu du presse-papiers ou la date actuelle grâce à des espaces réservés.
Les extraits sont des modèles Markdown réutilisables prenant en charge :
- Les espaces réservés dynamiques
- Les arguments
- Les références imbriquées
- L’expansion facultative de mots-clés
Les commandes personnalisées offrent une interface interrogeable pour les commandes shell nommées. Une commande peut également avoir son propre raccourci global, ce qui fait de Tinycast une légère couche d’automatisation personnelle.
Par exemple, une commande personnalisée peut encapsuler une tâche de projet :
cd ~/Code/my-project && ./scripts/test.sh
La commande peut ensuite être appelée depuis la recherche floue au lieu d’ouvrir un terminal et de saisir plusieurs fois la même séquence.
Gestion des fenêtres sans utilitaire distinct
Tinycast inclut 34 actions de gestion des fenêtres inspirées de Rectangle. Elles couvrent les dispositions courantes et des opérations d’affichage plus avancées, notamment :
- Moitiés, quarts et tiers
- Redimensionnement et déplacement précis des fenêtres
- Déplacement des fenêtres entre les écrans
- Mode plein écran
- Opérations liées aux espaces
Le lanceur peut ainsi remplacer plusieurs petits utilitaires. Les développeurs qui travaillent avec plusieurs éditeurs, terminaux, navigateurs et appareils de test peuvent associer les dispositions fréquemment utilisées à des commandes ou à des raccourcis.
Actions système, notes, réunions et emoji
Les actions système intégrées couvrent des tâches telles que verrouiller le Mac, le mettre en veille, le redémarrer, vider la Corbeille, modifier l’apparence, contrôler le Bluetooth, couper le son et afficher les fichiers masqués.
Tinycast inclut également plusieurs fonctionnalités orientées vers le flux de travail :
- Calendrier et réunions : affiche la prochaine réunion dans la palette vide et la barre des menus, avec la possibilité de la rejoindre d’une seule touche ou de s’y connecter automatiquement.
- Notes : propose une collection illimitée de fichiers Markdown bruts dans un éditeur flottant. Les notes sont accessibles depuis la palette de commandes.
- Sélecteur d’emoji : ouvre une grille d’emoji interrogeable depuis une seule touche.
Les notes en Markdown brut sont particulièrement intéressantes pour les développeurs, car elles restent portables et faciles à versionner, sauvegarder ou modifier avec un autre outil.
IA facultative et compatibilité avec Raycast
Tinycast inclut un chat IA et des actions rapides, mais les fonctionnalités d’IA sont désactivées par défaut. Les utilisateurs peuvent fournir leur propre clé API ou utiliser un compte IA installé. Les actions rapides peuvent corriger la grammaire, réécrire, traduire ou résumer du texte sélectionné dans une autre application.
Le projet prend également en charge l’exécution native d’extensions Raycast existantes, en les affichant avec SwiftUI. Cela offre aux utilisateurs une voie de migration depuis Raycast sans obliger Tinycast à devenir un hôte d’extensions basé sur un navigateur.
La conception de l’IA est volontairement basée sur le consentement : la fonctionnalité n’envoie silencieusement aucun contenu ni identifiant, sauf si l’utilisateur l’active et la configure.
Installation avec Homebrew
Tinycast prend en charge macOS 15 ou ultérieur et Swift 6.0. Commencez par approuver et ajouter le dépôt Homebrew tiers :
brew trust --tap abue-ammar/tinycast
brew tap abue-ammar/tinycast
Choisissez ensuite le cask correspondant à votre Mac :
# Apple silicon, macOS 26 ou ultérieur
brew install --cask tinycast
# Intel, macOS 26
brew install --cask tinycast-universal
# macOS 15 Sequoia
brew install --cask tinycast-sequoia
Homebrew vérifie la plateforme et refuse tout paquet incompatible. Un canal de versions préliminaires est également disponible pour les Mac Apple silicon sous macOS 26 ou ultérieur :
brew install --cask tinycast@beta
L’application bêta est installée à côté de la version stable, avec ses propres réglages et autorisations. Homebrew supprime l’attribut de quarantaine de macOS lors de l’installation et des mises à jour. Si vous téléchargez manuellement un DMG, Tinycast est auto-signé ; supprimez donc une fois l’attribut de quarantaine :
xattr -dr com.apple.quarantine "/Applications/Tinycast.app"
Autorisations d’accessibilité et confidentialité
L’autorisation d’accessibilité est requise lorsque Tinycast colle ou développe du texte dans une autre application. C’est également la seule autorisation nécessaire pour l’expansion de mots-clés dans les extraits. macOS demande l’accès lorsqu’une fonctionnalité en a besoin pour la première fois ; vous pouvez gérer ce réglage dans Réglages Système → Confidentialité et sécurité → Accessibilité.
Les extraits sont désactivés par défaut. Leur recherche de mots-clés s’effectue localement, et les frappes ne sont ni enregistrées ni envoyées où que ce soit. Plus généralement, le projet indique qu’il n’utilise aucune télémétrie et ne possède aucune dépendance tierce.
Compilation et contribution
Le dépôt est principalement écrit en Swift, avec une répartition déclarée de 90,9 % de Swift, 5,8 % de JavaScript, 2 % de TypeScript et 1,3 % d’autres langages. Il comprend un projet Xcode, des tests, des scripts, de la documentation, les sources du site web et une configuration CI.
Les développeurs qui compilent depuis les sources doivent consulter docs/development.md pour connaître la chaîne d’outils ainsi que les procédures de compilation, de packaging, de publication et de gestion du site web. Le répertoire docs/ répertorie également la documentation de l’architecture, les normes d’ingénierie, le système de design et les documents propres à chaque fonctionnalité.
Les règles de contribution sont volontairement strictes. Les contributeurs doivent ouvrir une issue avant d’écrire du code, et celle-ci doit être approuvée avant qu’une pull request soit acceptée. Les pull requests qui ne ferment pas une issue approuvée peuvent être fermées automatiquement. Les modifications portant uniquement sur la documentation font exception.
Le projet demande également aux contributeurs de lire CONTRIBUTING.md, qui documente le budget mémoire requis pour les pull requests, l’obligation de fournir une vidéo avant-après pour les changements visuels et les raisons pour lesquelles certaines fonctionnalités peuvent être refusées. Les problèmes de sécurité doivent être signalés via SECURITY.md, et non dans le suivi des issues.
Licence et état du projet
Tinycast est gratuit et est destiné à le rester. Il est distribué sous licence AGPL-3.0, avec un soutien fourni sous la forme d’un pourboire ponctuel, car GitHub Sponsors n’est pas disponible dans le pays de l’auteur. Les paiements sont gérés par Polar.sh.
Le dépôt affiche plus de 3 100 étoiles, 185 forks, 41 contributeurs, 92 versions publiées et la version 0.10.23 comme dernière version présentée sur la page du projet. Ces chiffres témoignent d’un projet open source actif plutôt que d’une simple preuve de concept.
Pour les développeurs qui souhaitent une palette de commandes rapide sans Electron, télémétrie ni collection d’utilitaires distincts, Tinycast constitue une alternative macOS native convaincante. Son principal atout n’est pas une fonctionnalité particulière, mais la manière dont le lanceur, les raccourcis, le presse-papiers, les extraits, les actions sur les fenêtres, les notes et les intégrations facultatives s’intègrent dans un flux de travail léger et unifié.