À propos du projet
GridSnap est un utilitaire de bureau open-source construit avec Tauri v2, React 18, TypeScript et Rust. Il présente des données sensibles — commandes SSH, informations d’identification, clés API, chaînes de connexion et extraits de code — dans une grille virtualisée de type feuille de calcul qui peut être invoquée par un raccourci global (par défaut Ctrl+Shift+Space).
Moteur de grille : grille virtualisée 1000×26 ; navigation au clavier (touches fléchées, Tab, Entrée, Échap) ; édition par saisie ; sélection de plusieurs cellules par clic-glisser ou Shift+Flèche ; copie via le bouton de survol ou Ctrl+C (format TSV pour les plages) ; Ctrl+V colle les données TSV dans la grille ; redimensionnement des colonnes et des lignes ; recherche dans toutes les cellules avec mise en évidence instantanée ; sauvegarde manuelle avec Ctrl+S ; panneau d’aide intégré avec raccourcis et conseils.
Feuilles : plusieurs feuilles avec des onglets colorés ; ajout, suppression et renommage avec confirmation de suppression ; réorganisation par glisser-déposer ; basculement Ctrl+Tab et Ctrl+Shift+Tab ; saut direct Ctrl+1-9 ; palette de basculement rapide Ctrl+K ; actions sur les onglets par clic droit. Les feuilles prennent en charge le masquage (toute la feuille affiche ●●●●), le masquage/démasquage par cellule et des mots de passe par feuille facultatifs. Les feuilles protégées par mot de passe se verrouillent à chaque changement d’onglet, la recherche est désactivée sur les feuilles verrouillées et la suppression d’une feuille protégée nécessite une confirmation par mot de passe. La protection contre les attaques par force brute impose un délai d’attente de deux minutes après 10 tentatives erronées, persistant entre les redémarrages.
Sécurité : sans mot de passe par défaut, avec une voûte JSON en texte clair jusqu’à ce qu’un mot de passe soit défini. Un mot de passe maître facultatif chiffre la voûte. Les mots de passe par feuille utilisent AES-256-GCM avec la dérivation de clé Argon2id (64 Mo de mémoire, 3 itérations, 4 parallélisme) et stockent un jeton de vérification plutôt que des hachages en texte clair. Le format de stockage est sel (16B) | nonce (12B) | texte chiffré | tag (16B). Les clés sont effacées après utilisation via zeroize de Rust. L’application n’établit aucune connexion réseau sortante et ne contient aucune télémétrie ou composant cloud.
Intégration au bureau : fenêtre sans bordure toujours au premier plan avec barre de titre personnalisée ; icône de la barre d’état système avec affichage/masquage ; raccourci global configurable ; le bouton de fermeture minimise dans la barre d’état système ; lancement facultatif au démarrage du système ; taille de bundle rapportée d’environ 8,5 Mo et RAM d’environ 30 Mo.
Thématisation : 11 thèmes intégrés sélectionnables dans les paramètres — Carbon (par défaut), Midnight, Ocean, Aurora, Deep Teal, Light, Velvet, Nordic, Rose, Terminal et Slate. Les thèmes utilisent des propriétés personnalisées CSS et peuvent être étendus en ajoutant une entrée dans src/theme/themes.ts.
Construction à partir de la source : prérequis Node.js 18+ et Rust 1.70+. Clonez le dépôt, puis dans le répertoire gridsnap, lancez npm install, npm run tauri dev pour le développement, ou npm run tauri build pour la production.
Utilisation : le premier lancement s’ouvre directement ; naviguez par clic ou touches fléchées ; éditez par double-clic ou Entrée ; copiez avec le bouton de survol ou Ctrl+C ; collez les données TSV avec Ctrl+V ; sauvegardez avec Ctrl+S ; créez des feuilles via l’onglet + ; basculez les feuilles par clic sur l’onglet, raccourcis clavier ou recherche Ctrl+K ; réorganisez par glisser-déposer des onglets ; masquez les feuilles ou les cellules par clic droit ; définissez les mots de passe de feuille ou maître si nécessaire ; masquez avec Ctrl+Shift+Space ou le bouton de fermeture ; quittez depuis le menu de l’icône de la barre d’état système.
Pile technologique : shell Tauri v2 utilisant le WebView natif du système d’exploitation ; frontend React 18 + TypeScript ; CSS Modules avec propriétés personnalisées ; rendu de grille virtualisée personnalisé (somme de préfixe plus recherche binaire) ; état Zustand ; build Vite 6 ; chiffrement AES-256-GCM + Argon2id en Rust ; voûte JSON chiffrée sur le système de fichiers local.
Le projet est sous licence MIT. */} // Note: The original instruction said
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.