>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Sécurité
Go

Comment regrouper tous vos flux d'actualités et métriques dans un tableau de bord confortable

1 000 étoiles

Vous êtes-vous déjà surpris à commencer la matinée en switchant sans fin entre les onglets ? D'abord Reddit, puis Hacker News, vérifier la météo, voir comment se portent les conteneurs Docker sur le serveur, et si votre bibliothèque préférée a eu une mise à jour sur GitHub. Au milieu de ce processus, votre motivation au travail s'est généralement évaporée.

Je cherchais depuis un moment une solution capable de centraliser tout ce bruit numérique sur une seule page. Et il semble que j'ai trouvé un projet qui le fait sans cérémonie superflue ni complication excessive. Découvrez Dynacat.

Qu'est-ce que cette bête de Dynacat

Essentially, it's a lightweight self-hosted dashboard. The project grew as a fork of another tool — Glance, but with a focus on dynamics. If Glance sometimes felt static, Dynacat is tailored for data to update "on the fly" and play nice with external services.

Le point principal ici est la simplicité. L'ensemble du backend est en Go, le frontend est en JS pur sans frameworks lourds. Le résultat est un binaire de moins de 20 Mo qui ne mange pas de mémoire et fonctionne sur pratiquement n'importe quelle « machine », qu'il s'agisse d'un vieux Raspberry Pi ou d'un NAS domestique.

Ce que vous pouvez afficher à l'écran

Le développeur n'a pas réinventé la roue et a implémenté le support des fonctionnalités les plus demandées. Voici ce que j'ai configuré en dix premières minutes :

  • Agrégateurs d'actualités. Flux RSS, derniers posts de Reddit et Hacker News. Vous pouvez configurer des limites : par exemple, n'afficher que 5 actualités fraîches pour ne pas être submergé de lecture.
  • Surveillance des ressources. Statut des conteneurs Docker et statistiques globales du serveur. C'est très pratique de voir que tout est « au vert » sans ouvrir la console.
  • Activité dev. Liste des releases GitHub. Plus besoin de rafraîchir les pages des dépôts pour savoir si une nouvelle version est sortie.
  • Médias. Dernières vidéos des chaînes YouTube et statut des streamers Twitch.
  • Finance et météo. Cotations boursières, crypto, et prévisions pour votre ville.

Intéressamment, le projet supporte les widgets personnalisés. S'il manque quelque chose « out of the box », vous pouvez peaufiner votre propre solution via Dynawidgets.

Comment c'est configuré

Oubliez les panneaux d'admin et les clics de souris. Toute la description du tableau de bord vit dans des fichiers YAML. Pour certains c'est un défaut, mais pour un développeur — c'est le bonheur pur. Vous pouvez mettre le config dans Git, le versionner, et le déployer rapidement n'importe où.

Voici un exemple de config pour une page typique :

  - name: Work
    columns:
      - size: small
        widgets:
          - type: calendar
            first-day-of-week: monday
          - type: weather
            location: Moscow, RU
            units: metric

      - size: full
        widgets:
          - type: hacker-news
          - type: releases
            repositories:
              - Panonim/dynacat
              - golang/go

La structure est intuitive : divisez la page en colonnes, placez les widgets dans les colonnes. Vous pouvez créer plusieurs onglets s'il y a trop d'informations.

Design et mobile

L'auteur a clairement compris que nous ouvririons ce tableau de bord depuis notre téléphone en buvant notre café. L'interface est responsive et ressemble sur un smartphone à une application native.

De plus, il y a le support des thèmes. Si vous n'aimez pas l'apparence par défaut, vous pouvez choisir parmi des presets prêts à l'emploi ou ajuster le CSS vous-même. Pas de couleurs « qui crament les yeux », tout est assez minimaliste.

Quelques nuances lors du lancement

During the setup process, I noticed a few things worth knowing in advance:

  1. Problèmes DNS. Si vous avez Pi-Hole ou AdGuard Home qui tourne chez vous, ils peuvent bloquer les requêtes fréquentes des widgets vers les API externes. La documentation suggère simplement d'augmenter les limites dans les paramètres du bloqueur.
  2. Conflits d'extensions. Un bug connu : l'extension de navigateur Dark Reader peut casser la mise en page de certains widgets (ex. graphiques boursiers). Mieux vaut ajouter le domaine du tableau de bord aux exceptions dès le départ.
  3. Sécurité. Par défaut, Dynacat interdit l'intégration dans des iframes depuis d'autres domaines. Si vous prévoyez de le mettre dans un autre portail comme Homepage, vous devrez ajuster la config du serveur.

Verdict : est-ce que ça vaut le coup d'essayer

Si vous avez déjà un serveur domestique ou que vous êtes simplement fatigué du chaos dans vos favoris, Dynacat est un excellent candidat pour le rôle de « page de démarrage ».

À qui ça plaira certainement :

  • Aux propriétaires de HomeLab.
  • À ceux qui veulent voir l'état de leurs projets et serveurs en un seul endroit.
  • Aux minimalistes qui valorisent la vitesse de l'interface.

Le projet est encore récent, mais les fonctionnalités principales fonctionnent de manière stable. Le temps de chargement de la page est d'environ une seconde, il consomme un minimum de ressources — il semble que ce soit exactement ce qu'il faut pour une surveillance confortable sans prises de tête supplémentaires.

Jetez un œil au dépôt Dynacat, le README contient un lien vers la documentation avec une description détaillée de tous les paramètres. Je pense que je vais ajouter quelques flux RSS de plus à mon agrégateur.

Projets similaires