Skip to content

Commit

Permalink
Introduce beta endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
skelz0r committed Aug 9, 2023
1 parent 1008f3c commit bde8725
Show file tree
Hide file tree
Showing 10 changed files with 133 additions and 86 deletions.
5 changes: 5 additions & 0 deletions app/models/abstract_endpoint.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ class AbstractEndpoint < ApplicationAlgoliaSearchableActiveModel

attr_accessor :uid,
:path,
:beta,
:provider_uids,
:parameters,
:perimeter,
Expand Down Expand Up @@ -80,6 +81,10 @@ def incoming?
incoming
end

def beta?
beta.present? && beta
end

def new_endpoints
return [] if !deprecated? || @new_endpoint_uids.blank?

Expand Down
2 changes: 2 additions & 0 deletions app/views/api_entreprise/endpoints/_endpoint.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
<header class="fr-grid-row fr-grid-row--gutters fr-grid-row--start">
<% if endpoint.incoming? %>
<p class="fr-badge fr-badge--new">prochainement</p>
<% elsif endpoint.beta? %>
<p class="fr-badge fr-badge--green-bourgeon">en beta test</p>
<% end %>
<div class="fr-col-8">
<h3 class="fr-h5" data-algolia-search-catalogue-hit-attribute="title">
Expand Down
18 changes: 17 additions & 1 deletion app/views/api_entreprise/endpoints/show.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,43 @@
<article id="<%= dom_id(@endpoint) %>" class="endpoint">
<h1>
<%= @endpoint.title %>
<% if @endpoint.incoming? %>
<p class="fr-badge fr-badge--new">prochainement</p>
<% elsif @endpoint.beta? %>
<p class="fr-badge fr-badge--green-bourgeon">en beta test</p>
<% end %>
</h1>

<div class="fr-grid-row fr-pb-2w">
<div class="fr-col-md-<%= layout_main_bloc %> fr-col-12">
<p class="fr-text--lead fr-mt-md-2w">
<%= @endpoint.description %>
<% if @endpoint.incoming? %>
<div class="fr-alert fr-alert--info fr-alert--sm fr-mb-2w">
<p class="fr-alert__title">
<%= t('.incoming.title') %>
</p>
<p>
<%= t('.incoming.description') %>

<p class="fr-text--sm fr-mt-2w">
<%= t('.incoming.link_documentation').html_safe %><%= link_to t('.incoming.cta'), developers_openapi_path(anchor: @endpoint.redoc_anchor), data: { turbo: false }, class: %() %></p>
<%= t('.incoming.link_documentation').html_safe %> <%= link_to t('.incoming.cta'), developers_openapi_path(anchor: @endpoint.redoc_anchor), data: { turbo: false }, class: %() %>
</p>
</p>
</div>
<% elsif @endpoint.beta? %>
<div class="fr-alert fr-alert--info fr-alert--sm fr-mb-2w">
<p class="fr-alert__title">
<%= t('shared.endpoints.show.beta.title') %>
</p>
<p>
<%= t('shared.endpoints.show.beta.description').html_safe %>
</p>
</div>
<% end %>
<% if @endpoint.extra_description.present? %>
<%= markdown_to_html(@endpoint.extra_description) %>
<% end %>
Expand Down
2 changes: 2 additions & 0 deletions app/views/api_particulier/endpoints/_endpoint.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
<header class="fr-grid-row fr-grid-row--gutters fr-grid-row--start">
<% if endpoint.incoming? %>
<p class="fr-badge fr-badge--new">prochainement</p>
<% elsif endpoint.beta? %>
<p class="fr-badge fr-badge--green-bourgeon">en beta test</p>
<% end %>
<div class="fr-col-8">
<h3 class="fr-h5" data-algolia-search-catalogue-hit-attribute="title">
Expand Down
45 changes: 30 additions & 15 deletions app/views/api_particulier/endpoints/show.html.erb
Original file line number Diff line number Diff line change
@@ -1,29 +1,44 @@
<% layout_main_bloc = 8 %>
<article id="<%= dom_id(@endpoint) %>" class="endpoint">
<h1>
<%= @endpoint.title %>
<%= @endpoint.title %>
<% if @endpoint.incoming? %>
<p class="fr-badge fr-badge--new">prochainement</p>
<% elsif @endpoint.beta? %>
<p class="fr-badge fr-badge--green-bourgeon">en beta test</p>
<% end %>
</h1>

<div class="fr-grid-row fr-pb-2w">
<div class="fr-col-md-<%= layout_main_bloc %> fr-col-12">
<p class="fr-text--lead fr-mt-md-2w">
<%= @endpoint.description %>
<% if @endpoint.incoming? %>
<div class="fr-alert fr-alert--info fr-alert--sm fr-mb-2w">
<p class="fr-alert__title">
<%= t('.incoming.title') %>
</p>
<p>
<%= t('.incoming.description') %>

<p class="fr-text--sm fr-mt-2w">
<%= t('.incoming.link_documentation').html_safe %> <%= link_to t('.incoming.cta'), developers_openapi_path(anchor: @endpoint.redoc_anchor), data: { turbo: false }, class: %() %>
</p>
</p>
</div>
<% elsif @endpoint.beta? %>
<div class="fr-alert fr-alert--info fr-alert--sm fr-mb-2w">
<p class="fr-alert__title">
<%= t('shared.endpoints.show.beta.title') %>
</p>
<p>
<%= t('shared.endpoints.show.beta.description').html_safe %>
</p>
</div>
<% end %>
</p>
<% if @endpoint.incoming? %>
<div class="fr-alert fr-alert--info fr-alert--sm fr-mb-2w">
<p class="fr-alert__title">
<%= t('.incoming.title') %>
</p>
<p>
<%= t('.incoming.description') %>
<p class="fr-text--sm fr-mt-2w">
<%= t('.incoming.link_documentation').html_safe %><%= link_to t('.incoming.cta'), developers_openapi_path(anchor: @endpoint.redoc_anchor), data: { turbo: false }, class: %() %></p>
</p>
</div>
<% end %>

<nav class="" role="navigation">
<ul class="">
<li>
Expand Down Expand Up @@ -140,7 +155,7 @@
<%= render partial: 'use_cases', locals: { id: 'use_cases_mobile', extra_classes: 'fr-hidden-md' } %>
<%= render partial: 'details', locals: { id: 'use_cases_mobile', extra_classes: 'fr-mb-3w fr-hidden-md' } %>


<h2 id="parameters_details" class="fr-mt-md-5w fr-mt-8w">
<%= t('.parameters_details.title') %>
</h2>
Expand Down Expand Up @@ -258,7 +273,7 @@

<%= link_to t('.cgu.cta'), cgu_path, id: 'cgu_link', class: %w(fr-btn fr-btn--secondary fr-btn--icon-right fr-icon-eye-line) %>
</p>

</div>

<div class="fr-col-md-<%= 12 - layout_main_bloc %>">
Expand Down
27 changes: 13 additions & 14 deletions config/endpoints/api_entreprise/31_qualifelec_certificat.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
- uid: 'qualifelec/certificats'
path: '/v3/qualifelec/etablissements/{siret}/certificats'
# Position au sein de l'index
position: 1
position: 2
perimeter:
entity_type_description: |+
✅ Toutes les **entreprises du génie électrique et énergétique** ayant obtenu une certification par [Qualifelec](https://www.qualifelec.fr/){:target="_blank"}. Toutes les certifications sont concernées : RGE ou non, accréditées ou non, probatoire ou classique.
Expand Down Expand Up @@ -40,25 +39,25 @@
- 'effectif'
data:
description: |+
Cette API permet d'obtenir **la liste des certificats Qualifelec valides** obtenus par l'établissement. Pour chaque certificat, l'API délivre les données suivantes :
- **informations relatives au certificat** : numéro, dates de validité ;
Cette API permet d'obtenir **la liste des certificats Qualifelec valides** obtenus par l'établissement. Pour chaque certificat, l'API délivre les données suivantes :
- **informations relatives au certificat** : numéro, dates de validité ;
- **informations sur la qualification obtenue** : labellisée RGE ou non, libellé, dates de validité, indices, mentions, domaines et la classification qui donne l'effectif du personnel d'execution et d'encadrement disponible pour cette qualification ;
- **assurances décennale et de responsabilité civile** ;
- l'url de téléchargement du certificat au **format PDF**.
{:.fr-h6 .fr-mt-4w}
### Exemple de certificat PDF&nbsp;:
<div class="fr-download">
<p>
<div class="fr-download">
<p>
<a href="/files/exemple-certificat-qualifelec.pdf" download class="fr-download__link">
Télécharger un exemple de certificat Qualifelec
<span class="fr-download__detail">
PDF – 756 Ko
</span>
</a>
</p>
</div>
Télécharger un exemple de certificat Qualifelec
<span class="fr-download__detail">
PDF – 756 Ko
</span>
</a>
</p>
</div>
opening: public
use_cases_optional:
use_cases_forbidden:
Expand Down
3 changes: 2 additions & 1 deletion config/endpoints/api_entreprise/5_inpi_rne_beneficiaires.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
- uid: 'inpi/rne/beneficiaires_effectifs'
path: '/v3/inpi/rne/unites_legales/open_data/{siren}/beneficiaires_effectifs'
position: 300
beta: true
position: 1
perimeter:
entity_type_description: |+
**✅ Toutes les entreprises inscrites au répertoire national des entreprises (RNE)**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
- uid: 'carif_oref/certifications_qualiopi_france_competences'
path: '/v3/carif_oref/certifications_qualiopi_france_competences/{siret}'
# Position au sein de l'index
position: 1
position: 2
perimeter:
entity_type_description: |+
✅ **Tous les établissements de formation** quelque soit leur statut, publics, à but lucratif, associatif, etc...
Expand Down Expand Up @@ -47,12 +47,12 @@
data:
description: |+
Cette API permet de savoir si un établissement est habilité à former. Elle délivre :
- le **certificat Qualiopi** ;
- le **certificat Qualiopi** ;
- la **liste des habilitations France Compétences**.
{:.fr-highlight}
> **La valeur ajoutée de cette API opérée par le réseau des CARIF OREF est** :
> - de connaître les certificats Qualiopi des établissements et pas uniquement des unités légales ;
> **La valeur ajoutée de cette API opérée par le réseau des CARIF OREF est** :
> - de connaître les certificats Qualiopi des établissements et pas uniquement des unités légales ;
> - de véritablement dire si un établissement est habilité à former ou à organiser des épreuves car elle indique également les habilitations France Compétences de l'établissement ;
> - d'avoir une donnée plus fiable car le réseau des Carif Oref effectue une double vérification en croisant ses bases et les bases du Ministère de l'intérieur. En cas de détection d'anomalie, les Carif Oref peuvent, grâce à leurs réseaux locaux, prendre contact avec l'établissement concerné et vérifier la situation.
Expand All @@ -76,33 +76,33 @@
a: |+
{:.fr-h5}
#### NDA ou numéro de déclaration d'activité
Tout établissement qui exerce une des activité suivantes, à titre principal ou accessoire, doit avoir un numéro de déclaration d'activité actif :
Tout établissement qui exerce une des activité suivantes, à titre principal ou accessoire, doit avoir un numéro de déclaration d'activité actif :
- Action de formation ;
- Bilan de compétences ;
- Actions permettant de faire valider les acquis de l'expérience ;
- Actions de formation par apprentissage.
Le NDA reste actif un an, sous réserve que l'établissement dépose chaque année son [bilan pédagofoque et financier](https://travail-emploi.gouv.fr/actualites/l-actualite-du-ministere/article/bilan-pedagogique-et-financier-bpf-organismes-de-formation-c-est-le-moment-de){:target="_blank"}.
{:.fr-h5}
#### Qualiopi
Le certificat Qualiopi est une certification qui atteste de la qualité des compétences de formation d'un organisme. Le certificat Qualiopi est toujours rattaché à un numéro de déclation d'activité (NDA).
Le certificat Qualiopi est une certification qui atteste de la qualité des compétences de formation d'un organisme. Le certificat Qualiopi est toujours rattaché à un numéro de déclation d'activité (NDA).
Depuis le 1er janvier 2022, la **certification Qualiopi est obligatoire pour bénéficier de fonds** des financeurs mentionnés à l’[article L.6316-1 du code du travail](https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000037390323){:target="_blank"} : les opérateurs de compétences, les associations Transitions Pro, l’État, les régions, la Caisse des dépôts et consignations, Pôle emploi et l’Agefiph.
Ce certificat est valable 3 ans.
{:.fr-h5}
#### Habilitations France Compétences
Les organismes porteurs de certifications (comme par exemple des CAP, des diplômes publiques, des titres du ministère du Travail, etc.) inscrites au répertoire national des compétences professionnelles (RNCP) et au répertoire spécifique (RS) délivrent :
- des "habilitations à former", *c'est-à-dire qu'un établissement qui revendique avoir les capacités de former à la certification de l'organisme porteur, doit au préalable avoir reçu cette habilitation*.
- des "habilitations à organiser", *c'est-à-dire qu'un établissement qui revendique avoir les capacités d'organiser des épreuves visant à valider une certification de l'organisme porteur, doit au préalable avoir reçu cette habilitation*.
- des "habilitations à former", *c'est-à-dire qu'un établissement qui revendique avoir les capacités de former à la certification de l'organisme porteur, doit au préalable avoir reçu cette habilitation*.
- des "habilitations à organiser", *c'est-à-dire qu'un établissement qui revendique avoir les capacités d'organiser des épreuves visant à valider une certification de l'organisme porteur, doit au préalable avoir reçu cette habilitation*.
- q: Nomenclature des spécialités
a: |+
La nomenclature des spécialités indiquées dans le bilan pédagogique et financier est la suivante (à jour en juillet 2023):
La nomenclature des spécialités indiquées dans le bilan pédagogique et financier est la suivante (à jour en juillet 2023):
| Code | Intitulé de la formation |
|-------|----------------------------------------------------------------|
| 100 | Formations générales |
Expand Down
Loading

0 comments on commit bde8725

Please sign in to comment.