{#- Onglet Gabarit de Mon CV (gabarit Typst personnel). Ce fichier ne contient que des macros : il s'importe sans contexte. Ids : `#gabarit-etat` (etat du gabarit installe, remplace par « Revenir au gabarit integre » / « Reutiliser mon gabarit »), `#gabarit-suite` (designation du CV d'exemple, puis comparaison : remplace par chaque reponse de depot ou de proposition), `#etat-gabarit` (cible de toutes les erreurs). Les libelles qui nomment un fichier technique arrivent en arguments : le texte de ces gabarits n'en montre aucun. -#} {% from "_composants.html" import vie_privee %} {#- Etat du gabarit installe. `e` : `gabarit_import.EtatPage`. -#} {% macro etat_gabarit(e, libelle_non_places) -%}
{% if not e.installe %}

Gabarit intégré : l'aperçu, le PDF de Mon CV et les CV adaptés utilisent le gabarit de job2apply.

{% else %}

{% if e.actif %}Gabarit personnel actif : l'aperçu, le PDF de Mon CV et les CV adaptés l'utilisent.{% else %}Gabarit personnel désactivé : le gabarit intégré est utilisé.{% endif %}

Adaptateur : {{ e.chemin }}

Dernière version de l'adaptateur : {% if e.version %}{{ e.version }}{% else %}aucune{% endif %}

{% if e.reperes_anciens %}

Les repères de l'aperçu sont anciens dans ce gabarit : il faut redéposer le gabarit pour les mettre à jour.

{% endif %} {% if e.paquets %}

Ce gabarit importe des paquets Typst ({{ e.paquets | join(", ") }}) : paquet téléchargé par Typst à la compilation (accès réseau du compilateur, pas de job2apply). L'aperçu et les CV adaptés peuvent échouer hors ligne.

{% endif %} {% if e.non_places %}

{{ libelle_non_places }}

{% endif %}
{% if e.actif %} {% else %} {% endif %}
{% endif %}
{%- endmacro %} {#- Le depot : un dossier, ou des fichiers (dont un fichier Typst seul). Il part des la selection (`change`), sans bouton ni JavaScript de plus. -#} {% macro depot_gabarit(installe) -%}

{% if installe %}Redéposer le gabarit{% else %}Importer mon gabarit Typst{% endif %}

{% if installe %}Le nouveau dépôt remplace l'actuel, qui part dans la corbeille ; vos retouches de l'adaptateur restent dans son historique.{% else %}Donnez le dossier de votre CV Typst, ou ses fichiers : l'IA écrit un adaptateur qui le branche sur votre CV de base, sans réécrire votre style.{% endif %}

Dépôt en cours…
{%- endmacro %} {#- Apres le depot : fichiers refuses (avec leur raison), avertissements, choix du CV d'exemple et consigne. `typ` : fichiers Typst deposes ; `retenu` : presélection ('' : aucune) ; `nombre` : fichiers deposes ; `refus`, `notes` : listes de textes ; `agent` : le bandeau de l'agent. -#} {% macro designation(jeton, typ, retenu, nombre, refus, notes, agent) -%}

Fichiers reçus

{{ nombre }} fichier{{ "s" if nombre > 1 else "" }} déposé{{ "s" if nombre > 1 else "" }} dans un brouillon : rien n'est encore installé.

{% if refus %}

Fichiers refusés (rien n'est renommé ni ignoré en silence) :

{% endif %} {% if notes %}
{% endif %}
L'IA travaille…
{{ vie_privee("gabarit") }} {% if not agent.disponible %}

{{ agent.cause }}

{% endif %}
{%- endmacro %} {#- La comparaison : la reference a gauche, l'apercu cliquable avec l'adaptateur a droite, puis ce qui n'a pas pu etre place et ce qui manque au rendu, puis l'enregistrement. `champs` : jeton, cv_exemple, adaptateur, cv_yaml, non_places (champs caches) ; `reference`, `apercu` : pages de `cv_formulaire.pages_apercu` ; `fragments` : textes absents du rendu (None : controle indisponible), `reste` : leur nombre au-dela ; `cv_existe` : un CV de base existe deja. -#} {% macro comparaison(champs, reference, apercu, libelle_non_places, libelle_couverture, fragments, reste, cv_existe) -%}

Comparaison

Votre CV d'exemple · référence

{% for page in reference %}
Page {{ page.numero }} de votre CV d'exemple
{% endfor %}

Avec l'adaptateur · aperçu cliquable

{% for page in apercu %}
Page {{ page.numero }} du CV avec l'adaptateur
{% endfor %}

{{ libelle_non_places }}

{% if champs.non_places %} {% else %}

Rien à signaler.

{% endif %}

{{ libelle_couverture }}

{% if fragments is none %}

Contrôle indisponible : le texte du rendu n'a pas pu être relevé.

{% elif fragments %} {% if reste %}

et {{ reste }} autres

{% endif %}

Ce contrôle ne bloque pas l'enregistrement ; un texte calculé peut y figurer à tort.

{% else %}

Rien à signaler.

{% endif %}
{% for ligne in champs.non_places %}{% endfor %}

{% if cv_existe %}Votre CV de base reste intact : l'IA vous le propose ensuite élément par élément, pour ce gabarit.{% else %}Le CV proposé deviendra votre CV de base, que vous pourrez relire et modifier.{% endif %}

{%- endmacro %}