Skip to content
This repository has been archived by the owner on Apr 5, 2024. It is now read-only.

Commit

Permalink
fix: doc
Browse files Browse the repository at this point in the history
  • Loading branch information
maxgfr committed Mar 11, 2022
1 parent 5082788 commit d59f46b
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 22 deletions.
59 changes: 46 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,53 @@
# template

Template est une application [next](https://nextjs.org/) développée par la [Fabrique des ministères sociaux](https://www.fabrique.social.gouv.fr/).

Storybook URL : <https://socialgouv.github.io/template/>
Production URL : <https://template.fabrique.social.gouv.fr/>

## Description

GitOps
Utiliser react-dsfr
sentry / matomo
tooling (lint/tests)
best practices next/TS
Best practices HTTP (CSP)
Pages de base
homepage
mentions-legales
CGU
accessibilité
healthz
stats cf 1000jours/stats
Ce template est composé de page :

- Page principale
- Politique de confidentialité
- Mention légale avec une référence à l'accessibilité
- Healthz
- Conditions générales d'utilisation
- Statistiques d'utilisation (fonctionnant avec matomo)

D'un point de vue technique :

- Storybook
- @testing-library pour les tests côté frontend
- jest pour les tests unitaires
- cypress pour les tests e2e
- matomo pour les statistiques
- react-dsfr pour le design systeme de l'état
- next-seo pour gérer les balises meta
- sentry pour la gestion des erreurs

## Lancer le code

Après avoir clean le projet :

### Développement

```bash
yarn
yarn dev
```

### Production

```bash
yarn
yarn build
yarn export
```

## Todo

- Ajouter des CSP
- Finir la documentation, en mode si vous créez un fichier faut le mettre là, etc.
- Rajouter une config sur <https://github.com/SocialGouv/linters> un linter pour next 12 et accessibilité plugin
12 changes: 6 additions & 6 deletions src/lib/matomo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ export type MatomoResult = {
nbVisits: number;
};

export const fetchMatomoData = async (): Promise<MatomoResult> => {
export const fetchMatomoData = async (): Promise<Partial<MatomoResult>> => {
const MATOMO_URL = [
`${process.env.NEXT_PUBLIC_MATOMO_URL}/?module=API&method=VisitsSummary.getVisits&idSite=${process.env.NEXT_PUBLIC_MATOMO_SITE_ID}&format=JSON&period=month&date=today`,
`${process.env.NEXT_PUBLIC_MATOMO_URL}/?module=API&method=Actions.get&idSite=${process.env.NEXT_PUBLIC_MATOMO_SITE_ID}&format=JSON&period=month&date=today`,
`${process.env.NEXT_PUBLIC_MATOMO_URL}/?module=API&method=VisitsSummary.getVisits&idSite=${process.env.NEXT_PUBLIC_MATOMO_SITE_ID}&format=JSON&period=year&date=today`,
`${process.env.NEXT_PUBLIC_MATOMO_URL}/?module=API&method=Actions.get&idSite=${process.env.NEXT_PUBLIC_MATOMO_SITE_ID}&format=JSON&period=year&date=today`,
];
const promises = MATOMO_URL.map(url =>
fetch(url)
Expand All @@ -18,8 +18,8 @@ export const fetchMatomoData = async (): Promise<MatomoResult> => {
);
const [nbVisitData, infoData] = await Promise.all(promises);
return {
nbPageViews: infoData?.nb_pageviews ?? 0,
nbUniqPageViews: infoData?.nb_uniq_pageviews ?? 0,
nbVisits: nbVisitData?.value ?? 0,
nbPageViews: infoData?.nb_pageviews,
nbUniqPageViews: infoData?.nb_uniq_pageviews,
nbVisits: nbVisitData?.value,
};
};
6 changes: 3 additions & 3 deletions src/pages/stats.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,17 @@ const Index: NextPage = () => {
<StatsTile
title="Nombre de visites"
stats={matomoData?.nbVisits ?? 0}
description="C'est le nombre de visites total du site"
description="C'est le nombre de visites total du site sur les 12 derniers mois"
/>
<StatsTile
title="Nombre de pages vues (total)"
stats={matomoData?.nbPageViews ?? 0}
description="C'est le nombre de pages vues au total sur le site"
description="C'est le nombre de pages vues au total sur le site sur les 12 derniers mois"
/>
<StatsTile
title="Nombre de pages vues (uniques)"
stats={matomoData?.nbUniqPageViews ?? 0}
description="C'est le nombre de pages vues uniques sur le site"
description="C'est le nombre de pages vues uniques sur le site sur les 12 derniers mois"
/>
</div>
</div>
Expand Down

0 comments on commit d59f46b

Please sign in to comment.