SocialGouv / cdtn-admin

Veille & administration des contenus pour le code du travail numérique
https://cdtn-admin.fabrique.social.gouv.fr
6 stars 1 forks source link

Création d'une page pour gérer les outils #1380

Closed maxgfr closed 6 months ago

maxgfr commented 6 months ago

Contexte

Actuellement, nous n'avons pas de pages sur l'admin permettant de gérer les outils. Ainsi, on gère l'outil directement à partir de la table document.

Il existe deux types d'outils, les outils de types external qui sont les simulateurs issus des sites partenaire et les outils normaux

L'objet que nous avons dans la table est celui-ci :

        "document": {
          "date": "18/10/2018",
          "icon": "Indemnity",
          "order": 1,
          "action": "Estimer",
          "metaTitle": "Simulateur - Calcul de l'indemnité de licenciement",
          "questions": [
            "Quelle est mon indemnité de licenciement",
            "Comment calculer mon indemnité de licenciement",
            "indemnité de licenciement pour inaptitude d'origine professionnelle",
            "indemnité de licenciement pour inaptitude d'origine professionnelle",
            "indemnité spéciale de licenciement pour inaptitude d'origine professionnelle",
            "indemnité de licenciement en cas d'alternance temps plein temps partiel",
            "calculez le montant d'une indemnité de licenciement en fonction de votre situation"
          ],
          "description": "Estimez simplement le montant de l’indemnité de licenciement",
          "displayTool": true,
          "displayTitle": "Calculer l'indemnité de licenciement"
        }

Globalement, nous avons :

Pour info, voici la liste de l'ensemble des outils :

{
  "data": {
    "documents": [
      {
        "document": {
          "date": "05/07/2022",
          "icon": "FileCheck",
          "order": 10,
          "action": "Consulter",
          "metaTitle": "Comprendre sa procédure de licenciement",
          "questions": [],
          "description": "Accédez à la procédure de licenciement qui correspond à votre situation en répondant à quelques questions",
          "displayTool": true,
          "displayTitle": "Comprendre sa procédure de licenciement"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "14/03/2019",
          "icon": "Salary",
          "order": 4,
          "action": "Estimer",
          "metaTitle": "Simulateur - Calcul du salaire brut/net",
          "questions": [
            "Comment calculer mon salaire",
            "calculer mon salaire",
            "calcul salaire",
            "montant de mon salaire",
            "montant du salaire",
            "montant salaire",
            "montant salaire net",
            "montant salaire brut",
            "calcul du salaire net",
            "net en brut",
            "brut en net",
            "calcul net en brut",
            "calcul brut en net",
            "montant net en brut",
            "montant brut en net",
            "cout embauche CDD",
            "cout embauche CDI"
          ],
          "description": "Estimez le salaire : brut en net, net après impôt, calcul heures supplémentaires, coût total employeur",
          "displayTool": true,
          "displayTitle": "Calculer le salaire brut/net"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "08/11/2019",
          "icon": "Termination",
          "order": 6,
          "action": "Calculer",
          "metaTitle": "Simulateur - Calcul du préavis de licenciement",
          "questions": [
            "preavis de licenciement",
            "preavis de licenciement CDI",
            "durée du préavis de licenciement",
            "calculer la durée de son préavis de licenciement",
            "calcul durée préavis licenciement"
          ],
          "description": "Estimez la durée de préavis à respecter en cas de licenciement",
          "displayTool": true,
          "displayTitle": "Calculer le préavis de licenciement"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "08/11/2019",
          "icon": "Time",
          "order": 7,
          "action": "Calculer",
          "metaTitle": "Simulateur - Calcul du nombre d’heures d'absence pour rechercher un emploi",
          "questions": [
            "ai-je droit à des heures de recherche d'emploi",
            "quel est le nombre d'heures pour rechercher un emploi",
            "rechercher un emploi en période de préavis",
            "comment prendre ses heures de recherche d'emploi",
            "démission recherche emploi pendant préavis",
            "licenciement recherche d emploi pendant préavis",
            "heures de recherche d'emploi en cas de licenciement",
            "Ai-je droit aux heures pour recherche d'emploi dans le cadre d'une démission",
            "autorisation d absence pour recherche d emploi",
            "chercher un emploi pendant son préavis",
            "absence 2h pour recherche d'emploi pendant préavis"
          ],
          "description": "Estimez le nombre d'heures d'absence autorisée pour rechercher un emploi pendant un préavis",
          "displayTool": true,
          "displayTitle": "Calculer le nombre d'heures d'absence pour rechercher un emploi"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "14/03/2019",
          "icon": "Precarity",
          "order": 5,
          "action": "Estimer",
          "metaTitle": "Simulateur - Calcul de l'indemnité de précarité",
          "questions": [
            "fin de contrat cdd",
            "indemnité fin de contrat",
            "indemnité cdd",
            "calcul de la prime de précarité",
            "Comment se calcul la prime de précarité",
            "montant prime de précarité",
            "montant indemnité fin de contrat"
          ],
          "description": "Estimez le montant de l’indemnité de fin de CDD ou intérim",
          "displayTool": true,
          "displayTitle": "Calculer l'indemnité de précarité"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "18/11/2021",
          "icon": "CalendarTime",
          "order": 9,
          "action": "Calculer",
          "metaTitle": "Simulateur - Calcul du préavis de départ ou mise à la retraite",
          "description": "Estimez la durée de préavis à respecter en cas de départ à la retraite ou de mise à la retraite",
          "displayTool": true,
          "displayTitle": "Calculer le préavis de départ à la retraite"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "24/07/2019",
          "icon": "Rules",
          "order": 2,
          "action": "Calculer",
          "metaTitle": "Simulateur - Calcul du préavis de démission",
          "questions": [
            "preavis de demission",
            "preavis de demission CDI",
            "délais avant démission",
            "durée du préavis",
            "calculer la durée de son préavis",
            "calcul durée préavis démission"
          ],
          "description": "Estimez la durée de préavis à respecter en cas de démission",
          "displayTool": true,
          "displayTitle": "Calculer le préavis de démission"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "01/01/2020",
          "icon": "SearchCC",
          "order": 8,
          "action": "Consulter",
          "metaTitle": "Trouver sa convention collective",
          "questions": [
            "trouver ma convention collective",
            "convention collective",
            "recherche ccn",
            "trouver ma cc"
          ],
          "description": "Recherchez une convention collective par Entreprise, SIRET, Nom ou numéro IDCC",
          "displayTool": true,
          "displayTitle": "Trouver sa convention collective"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "18/10/2018",
          "icon": "Indemnity",
          "order": 1,
          "action": "Estimer",
          "metaTitle": "Simulateur - Calcul de l'indemnité de licenciement",
          "questions": [
            "Quelle est mon indemnité de licenciement",
            "Comment calculer mon indemnité de licenciement",
            "indemnité de licenciement pour inaptitude d'origine professionnelle",
            "indemnité de licenciement pour inaptitude d'origine professionnelle",
            "indemnité spéciale de licenciement pour inaptitude d'origine professionnelle",
            "indemnité de licenciement en cas d'alternance temps plein temps partiel",
            "calculez le montant d'une indemnité de licenciement en fonction de votre situation"
          ],
          "description": "Estimez simplement le montant de l’indemnité de licenciement",
          "displayTool": true,
          "displayTitle": "Calculer l'indemnité de licenciement"
        },
        "source": "outils"
      },
      {
        "document": {
          "date": "01/06/2024",
          "icon": "Rupture",
          "order": 0,
          "action": "Estimer",
          "metaTitle": "Simulateur - Calcul de l'indemnité de rupture conventionnelle",
          "questions": [
            "Quelle est mon indemnité de rupture conventionnelle",
            "Comment calculer mon indemnité de rupture conventionnelle",
            "indemnité de rupture conventionnelle pour inaptitude d'origine professionnelle",
            "indemnité de rupture conventionnelle pour inaptitude d'origine professionnelle",
            "indemnité spéciale de rupture conventionnelle pour inaptitude d'origine professionnelle",
            "indemnité de rupture conventionnelle en cas d'alternance temps plein temps partiel",
            "calculez le montant d'une indemnité de rupture conventionnelle en fonction de votre situation"
          ],
          "description": "Estimez simplement le montant de l’indemnité de rupture conventionnelle",
          "displayTool": false,
          "displayTitle": "Calculer l'indemnité de rupture conventionnelle"
        },
        "source": "outils"
      }
    ]
  }
}

Enfin, nous avons les outils external, qui sont listés de la sorte :

{
        "document": {
          "url": "https://www.moncompteformation.gouv.fr",
          "icon": "Formation",
          "action": "Consulter",
          "description": "Consultez en ligne vos droits à la formation, cherchez et réservez une formation",
          "displayTool": true
        },
        "source": "external"
      },

On s'en sert au niveau de la recherche et dans la page outils.

Il est composé des champs :

url : url du service icon : l'icon dans react-ui action : le nom du trigger sur la tuile descirption : c'est la description dans la tuile displayTool : est utilisé dans la page outils pour savoir si on l'affiche ou non

{
  "data": {
    "documents": [
      {
        "document": {
          "url": "https://www.moncompteformation.gouv.fr",
          "icon": "Formation",
          "action": "Consulter",
          "description": "Consultez en ligne vos droits à la formation, cherchez et réservez une formation",
          "displayTool": true
        },
        "source": "external"
      },
      {
        "document": {
          "url": "http://www.simulateurap.emploi.gouv.fr/",
          "icon": "Calculator",
          "action": "Consulter",
          "description": "Estimez simplement le montant de l’allocation d’activité partielle."
        },
        "source": "external"
      },
      {
        "document": {
          "url": "https://www.telerc.travail.gouv.fr/accueil",
          "icon": "Contract",
          "action": "Consulter",
          "description": "Le service de saisie d'une demande d’homologation de rupture conventionnelle"
        },
        "source": "external"
      },
      {
        "document": {
          "url": "https://www.sipsi.travail.gouv.fr/auth/login",
          "icon": "Depart",
          "action": "Consulter",
          "description": "Détachement de travailleurs en France"
        },
        "source": "external"
      },
      {
        "document": {
          "url": "https://egapro.travail.gouv.fr/",
          "icon": "Calculator",
          "action": "Calculer",
          "description": "L’outil de calcul de votre index égalité professionnelle femmes-hommes"
        },
        "source": "external"
      },
      {
        "document": {
          "url": "https://www.elections-professionnelles.travail.gouv.fr/web/guest",
          "icon": "Document",
          "action": "Consulter",
          "description": "Le site dédié aux élections professionnelles et à la représentativité syndicale"
        },
        "source": "external"
      },
      {
        "document": {
          "url": "https://accords-depot.travail.gouv.fr/accueil",
          "icon": "Resignation",
          "action": "Consulter",
          "description": "Le service de dépôt des accords collectifs d’entreprise"
        },
        "source": "external"
      },
      {
        "document": {
          "url": "https://www.1jeune1solution.gouv.fr/mes-aides",
          "icon": "Calculator",
          "action": "Consulter",
          "description": "Trouver les aides auxquelles les jeunes ont droit."
        },
        "source": "external"
      }
    ]
  }
}

Proposition

Ca serait intéressant de gérer ça comme les pages contributions, à savoir avec un modèle SQL à part, et un système de publish.

Ainsi, on pourrait gérer l'ordre des différents éléments, voir directement le SVG dans l'admin ? (à discuter)

Au niveau de la table, ça serait peut être intéressant de gérer à la fois les outils et les externals.

Concernant le modèle de données, on pourrait faire un truc comme ça :

CREATE TABLE Outils (
    id INT AUTO_INCREMENT PRIMARY KEY,
    type ENUM('interne', 'externe'),
    date_creation DATE,
    url VARCHAR(255),
    icon VARCHAR(50),
    ordre INT,
    trigger_name VARCHAR(50),  -- remplacer le nom action
    meta_title VARCHAR(255), 
    description TEXT,
    hide BOOLEAN, -- displayTool
    title VARCHAR(255)
);

Pour la partie ordre, on peut s'imaginer un moyen visuel de déplacement des items