---
# System prepended metadata

title: Espace utilisateur MAPAR

---

# Espace utilisateur MAPAR
---

## Contexte
L’utilisateur est une personne visitant le site du MAPAR ayant effectué l’une ou plusieurs des actions suivantes :
- s’être inscrit au congrès, à l’un des séminaires (MAPAR mer, MAPAR neige…) ou à l’une des formations (enseignement post-universitaire, journée de formation…) ;
- avoir acheté un livre (ou sa déclinaison application) ou une publication (publications du congrès, non disponibles au public) ;
- avoir sélectionné l’un des contenus du site (*fonctionnalité non-implémentée actuellement*).

## Enjeux
Donner un accès à l’utilisateur à ses formations (congrès, séminaire, autre formation), à ses livres (Protocoles), aux publications et à ses contenus sélectionnés.
L’utilisateur a accès également accès à ses informations personnelles telle que :
- ses informations de connexion (e-mail et mot de passe, historique de connexion) ;
- ses coordonnées ;
- ses factures.

## Spécifications techniques
- bibliothèque d’affichage : [React](https://reactjs.org/)
- bibliothèque de composants : [Ant Design 4.x](https://ant.design/)
- police de caractère : [Rubik](https://fonts.google.com/specimen/Rubik)
- bibliothèque client HTTP : [axios](https://github.com/axios/axios)
- bibliothèque de gestion de l’état des données : [Redux](https://redux.js.org/), [React Redux](https://react-redux.js.org/) et [Redux Thunk](https://github.com/reduxjs/redux-thunk)

## Projet interface (front-end)
### Outil de création de la base
[`create-react-app`](https://create-react-app.dev/) (CRA 2.0)

### Mise en place de la configuration affinée
[`customize-cra`](https://github.com/arackaf/customize-cra)

### Structure des fichiers
[https://survivejs.com/react/advanced-techniques/structuring-react-projects/#directory-per-component](https://survivejs.com/react/advanced-techniques/structuring-react-projects/#directory-per-component)
```
├── actions
│   ├── shop.js
│   └── user.js
├── components
│   ├── App
│   │   ├── App.jsx
│   │   └── App.less
│   ├── Training
│   │   ├── Congress
│   │   │   ├── Badge.jsx
│   │   │   ├── Badge.less
│   │   │   ├── Registration.jsx
│   │   │   ├── Registration.less
│   │   │   ├── Workshops.jsx
│   │   │   └── Workshops.less
│   │   ├── Seminar
│   │   │   …
│   │   │   ├── Registration.jsx
│   │   │   └── Registration.less
│   │   └── Others
│   │       ├── Registration.jsx
│   │       └── Registration.less
...
│   └── User
│       ├── Auth
│       │   ├── Login.jsx
│       │   ├── Login.less
│       │   …
│       │   ├── PasswordReset.jsx
│       │   └── PasswordReset.less
│       ├── Profile.jsx
│       ├── Profile.less
│       ├── Addresses.jsx
│       └── Addresses.less
├── constants
│   ├── types
│   │   ├── shop.js
│   │   └── user.js
│   ├── config.js
│   └── history.js
├── index.jsx
├── libs
│   ├── formatters.js
│   └── moment.js
├── reducers
│   ├── index.js
│   ├── shop.js
│   └── user.js
├── services
│   └── api.js
├── style
│   ├── antd-override.less
│   …
│   └── utils.less
└── stores
    └── mainStore.js
```

## Serveur
### API
[Documentation](http://api.www.mapar.mxtd.eu/)
