npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

vuetify-natinf

v0.1.3

Published

Ensemble de composants VueJS sous Vuetify pour la gestion NATINF

Readme

Vuetify-NATINF

Ensemble de composants Vue pour gérer NATINF, embellis par Vuetify:

  • un composant de recherche, qui permet de chercher un NATINF par son code ou une liste de NATINF par du texte;
  • un composant d'affichage, qui affiche le NATINF et permet d'avoir des informations supplémentaires lorsque l'on clique dessus.

Démonstration

Voir la démo en ligne

Vue en cartes

Vue en cartouches

Origine

J'ai tout d'abord cherché s'il existait un formulaire de recherche en ligne où on pourrait chercher des NATINF facilement, sans succès. Je me suis naturellement tourné vers data.gouv.fr, où j'ai trouvé la donnée qui m'intéressait. Malheureusement l'onglet "Réutilisations et API" n'offrait pas le formulaire de recherche que je souhaitais.

J'ai donc décidé de le créer, et de développer par la même occasion des composants VueJS (puisqu'il est de notoriété publique que VueJS est beaucoup mieux que React) en utilisant la bibliothèque Vuetify pour un joli rendu.

Installation

npm install vuetify-natinf

Si vous n'avez pas installé Vuetify et les icônes materialdesignicons:

npm i --save vuetify
npm i --save @mdi/font

Utilisation

Dans votre fichier main.js il faut charger l'ensemble des éléments:

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'

// Vuetify
import '@mdi/font/css/materialdesignicons.css';
import 'vuetify/styles';
import { fr } from 'vuetify/locale';
import { createVuetify } from 'vuetify';
import * as components from 'vuetify/components';
import * as directives from 'vuetify/directives';
import VuetifyNATINF from 'vuetify-natinf';


const app = createApp(App);
const vuetify = createVuetify({
    theme: {
      defaultTheme: 'dark',
    },
    locale: {
      locale: 'fr',
      messages: { fr },
    },
    components,
    directives,
  });
app.use(vuetify);
app.use(VuetifyNATINF);

app.mount('#app');

Dans chacun de vos composants vous pouvez désormais utiliser le module de recherche:

    <recherche-NATINF multiple></recherche-NATINF>

Mais également le module d'affichage de NATINF sous forme de cartouche. Attention, il s'agit d'un composant asynchrone puisque des données doivent être chargées depuis l'API, il faut donc utiliser Suspense:

    <Suspense>
      <template #default>
        <v-card>
          <v-card-title>
            Liste des NATINF
          </v-card-title>
          <v-card-text>
            <cartouche-NATINF v-for="natinf in [74, 7151]" :key="`NATINF-${natinf}`" :natinf="+natinf" class="my-2" />
          </v-card-text>
        </v-card>
      </template>
      <template #fallback>
        <div>Chargement...</div>
      </template>
    </Suspense>

Remarques

L'état du code n'est pas satisfaisant. En effet, les requêtes s'appuient sur l'API tabulaire de data.gouv.fr. Cette API tabulaire se base sur les données NATINF alimentées par le Ministère de la Justice, accessibles ici.

Malheureusement, il y a deux écueils:

  • le premier, le plus dommageable fonctionnellement, est qu'il n'existe pas de version "à jour" (ou "latest") des NATINF. Dès qu'une mise à jour est réalisée et de nouveaux NATINF ajoutés, c'est un nouveau fichier qui est créé, il faut donc changer en dur le lien dans le code. Il conviendrait d'avoir un fichier "à jour" nominal, la discussion est ouverte ici;
  • le second qui est dommageable du point de vue de la syntaxe est la structure du fichier. Si vous fouillez dans le code, vous constaterez que les noms de colonnes ne sont pas canoniques, en raison de la structure des données sources. La discussion est ouverte ici