Types
Ce document présente les types TypeScript qui définissent la structure d'un CV avec YAMLResume. En tant que projet TypeScript, YAMLResume emploie le typage statique pour assurer la cohérence des données. Ce fichier fournit un aperçu des structures de données principales utilisées pour représenter les informations de CV, incluant les détails personnels, l'éducation, l'expérience, les compétences et plus.
Vous pouvez consulter types.ts pour les détails de la source de vérité.
Comprendre ces types est essentiel pour les contributeurs et développeurs qui veulent personnaliser ou étendre les fonctionnalités de YAMLResume.
Ce document sert de référence définitive pour les utilisateurs cherchant à créer un YAMLResume valide, clarifiant la distinction entre les champs optionnels et obligatoires. Pour garantir une compilation réussie dans YAMLResume, un CV minimal doit incorporer les champs essentiels suivants :
content.basics.name
education[number].area
education[number].degree
education[number].institution
education[number].startDate
Donc théoriquement un CV minimal viable ressemble à ceci :
content:
basics:
name: Xiao Hanyu
education:
- area: Computer Science and Technology
degree: Bachelor
institution: Zhejiang University
startDate: Sep, 2007
Resume
Définit la structure globale du CV, incluant le contenu et la mise en page.
Prop | Type | Requis | Description |
---|---|---|---|
content | ResumeContent | ✅ | Définit la structure pour l'ensemble du contenu du CV. |
layout? | ResumeLayout | ⬜ | Définit la configuration globale de mise en page. |
Voici un diagramme de haut niveau de la structure du CV :
ResumeContent
Définit la structure pour l'ensemble du contenu du CV.
Prop | Type | Requis | Description |
---|---|---|---|
basics | BasicsItem | ✅ | Représente les informations personnelles et de contact principales. |
education | EducationItem[] | ✅ | Contient une collection d'expériences éducatives. |
awards? | AwardItem[] | ⬜ | Contient une collection de prix et reconnaissances. |
certificates? | CertificateItem[] | ⬜ | Contient une collection de certifications et références. |
interests? | InterestItem[] | ⬜ | Contient une collection d'intérêts, loisirs ou activités personnelles. |
languages? | LanguageItem[] | ⬜ | Contient une collection de compétences linguistiques. |
location? | LocationItem | ⬜ | Contient les informations de localisation. |
projects? | ProjectItem[] | ⬜ | Contient une collection de projets. |
profiles? | ProfileItem[] | ⬜ | Contient une collection de profils en ligne. |
publications? | PublicationItem[] | ⬜ | Contient une collection de publications. |
references? | ReferenceItem[] | ⬜ | Contient une collection de références. |
skills? | SkillItem[] | ⬜ | Contient une collection de compétences. |
volunteer? | VolunteerItem[] | ⬜ | Contient une collection d'expériences bénévoles. |
work? | WorkItem[] | ⬜ | Contient une collection d'expériences de travail et historique d'emploi. |
AwardItem
Représente un prix, honneur ou reconnaissance reçu.
Prop | Type | Requis | Description |
---|---|---|---|
awarder | string | ✅ | L'organisation ou entité qui a donné le prix. |
title | string | ✅ | Le nom ou titre du prix. |
date? | string | ⬜ | La date de réception du prix (ex: "2020", "Oct 2020"). |
summary? | string | ⬜ | Une courte description ou détails sur le prix. |
BasicsItem
Représente les informations personnelles et de contact principales.
Prop | Type | Requis | Description |
---|---|---|---|
name | string | ✅ | Nom complet. |
email? | string | ⬜ | Adresse email. |
headline? | string | ⬜ | Un bref titre professionnel (ex: "Ingénieur Logiciel"). |
phone? | string | ⬜ | Numéro de téléphone. |
summary? | string | ⬜ | Un résumé professionnel ou déclaration d'objectif. |
url? | string | ⬜ | Site web personnel ou URL de portfolio. |
CertificateItem
Représente une certification, référence ou qualification professionnelle.
Prop | Type | Requis | Description |
---|---|---|---|
issuer | string | ✅ | L'organisation qui a émis le certificat. |
name | string | ✅ | Le nom du certificat. |
date? | string | ⬜ | La date d'obtention du certificat (ex: "2021", "Nov 2021"). |
url? | string | ⬜ | URL liée au certificat (ex: lien de vérification). |
EducationItem
Représente une expérience éducative ou un programme d'études.
Prop | Type | Requis | Description |
---|---|---|---|
area | string | ✅ | Domaine d'étude (ex: "Informatique"). |
degree | Degree | ✅ | Le type de diplôme obtenu. |
institution | string | ✅ | Nom de l'institution. |
startDate | string | ✅ | Date de début d'études (ex: "2016", "Sep 2016"). |
courses? | string[] | ⬜ | Liste des cours suivis. |
endDate? | string | ⬜ | Date de fin d'études (ex: "2020", "May 2020"), vide implique "Présent". |
summary? | string | ⬜ | Description des accomplissements ou détails. |
score? | string | ⬜ | GPA ou note académique. |
url? | string | ⬜ | URL liée à l'institution ou au diplôme. |
InterestItem
Représente un intérêt, loisir ou activité personnelle.
Prop | Type | Requis | Description |
---|---|---|---|
name | string | ✅ | Nom de la catégorie d'intérêt (ex: "Lecture", "Photographie"). |
keywords? | string[] | ⬜ | Mots-clés liés à l'intérêt. |
LanguageItem
Représente une compétence linguistique.
Prop | Type | Requis | Description |
---|---|---|---|
fluency | Fluency | ✅ | Le niveau de maîtrise de la langue. |
language | Language | ✅ | La langue. |
keywords? | string[] | ⬜ | Mots-clés spécifiques liés aux compétences linguistiques (ex: "Traduction"). |
LocationItem
Représente les informations de localisation et d'adresse.
Prop | Type | Requis | Description |
---|---|---|---|
city | string | ✅ | Nom de la ville. |
address? | string | ⬜ | Adresse de rue. |
country? | Country | ⬜ | Code ou nom du pays. |
postalCode? | string | ⬜ | Code postal. |
region? | string | ⬜ | État, province ou région. |
ProfileItem
Représente un profil en ligne ou une présence sur les réseaux sociaux.
Prop | Type | Requis | Description |
---|---|---|---|
network | Network | ✅ | Le nom du réseau ou de la plateforme. |
username | string | ✅ | Le nom d'utilisateur sur la plateforme. |
url? | string | ⬜ | L'URL du profil. |
ProjectItem
Représente un projet, pièce de portfolio ou travail technique.
Prop | Type | Requis | Description |
---|---|---|---|
name | string | ✅ | Nom du projet. |
startDate | string | ✅ | Date de début du projet (ex: "2021", "Jan 2021"). |
summary | string | ✅ | Accomplissements détaillés pour le projet. |
description? | string | ⬜ | Description du projet. |
endDate? | string | ⬜ | Date de fin du projet (ex: "2022", "Jul 2022"). |
keywords? | string[] | ⬜ | Mots-clés ou technologies utilisées dans le projet. |
url? | string | ⬜ | URL liée au projet (ex: dépôt, démo en direct). |
PublicationItem
Représente une publication, travail de recherche ou article académique.
Prop | Type | Requis | Description |
---|---|---|---|
name | string | ✅ | Nom ou titre de la publication. |
publisher | string | ✅ | Éditeur du travail. |
releaseDate? | string | ⬜ | Date de publication (ex: "2023", "Mar 2023"). |
summary? | string | ⬜ | Résumé ou abstrait de la publication. |
url? | string | ⬜ | URL liée à la publication (ex: DOI, lien). |
ReferenceItem
Représente une référence professionnelle ou recommandation.
Prop | Type | Requis | Description |
---|---|---|---|
name | string | ✅ | Nom de la référence. |
summary | string | ✅ | Une note brève sur la référence. |
email? | string | ⬜ | Adresse email de la référence. |
phone? | string | ⬜ | Numéro de téléphone de la référence. |
relationship? | string | ⬜ | Relation avec la référence (ex: "Ancien Manager"). |
SkillItem
Représente une compétence, capacité ou aptitude technique.
Prop | Type | Requis | Description |
---|---|---|---|
level | Level | ✅ | Niveau de maîtrise de la compétence. |
name | string | ✅ | Nom de la compétence. |
keywords? | string[] | ⬜ | Mots-clés spécifiques ou technologies liées à la compétence. |
VolunteerItem
Représente une expérience bénévole ou un service communautaire.
Prop | Type | Requis | Description |
---|---|---|---|
organization | string | ✅ | Nom de l'organisation. |
position | string | ✅ | Rôle ou poste occupé. |
startDate | string | ✅ | Date de début du travail bénévole (ex: "2019", "Jun 2019"). |
summary | string | ✅ | Résumé des responsabilités ou accomplissements. |
endDate? | string | ⬜ | Date de fin du travail bénévole (ex: "2020", "Dec 2020"). |
url? | string | ⬜ | URL liée à l'organisation ou au travail. |
WorkItem
Représente une expérience de travail ou un poste d'emploi.
Prop | Type | Requis | Description |
---|---|---|---|
name | string | ✅ | Nom de l'entreprise ou employeur. |
position | string | ✅ | Titre du poste ou position occupée. |
startDate | string | ✅ | Date de début d'emploi (ex: "2021", "Apr 2021"). |
summary | string | ✅ | Résumé des responsabilités et accomplissements. |
endDate? | string | ⬜ | Date de fin d'emploi (ex: "2023", "Aug 2023"). |
keywords? | string[] | ⬜ | Mots-clés liés au rôle ou technologies utilisées. |
url? | string | ⬜ | URL liée à l'entreprise ou au travail. |
ResumeLayout
Définit la configuration globale de mise en page.
Prop | Type | Requis | Description |
---|---|---|---|
locale? | ResumeLayoutLocale | ⬜ | Définit les paramètres de locale pour l'internationalisation et la localisation. |
margins? | ResumeLayoutMargins | ⬜ | Définit les paramètres de marges de page pour la mise en page du document. |
page? | ResumeLayoutPage | ⬜ | Définit les paramètres au niveau de la page pour la présentation du document. |
template? | Template | ⬜ | Définit le modèle sélectionné. |
typography? | ResumeLayoutTypography | ⬜ | Définit les paramètres typographiques pour le formatage du document. |
latex? | ResumeLayoutLaTeX | ⬜ | Définit les options de configuration spécifiques à LaTeX. |
ResumeLayoutLocale
Définit les paramètres de locale pour l'internationalisation et la localisation.
Prop | Type | Requis | Description |
---|---|---|---|
language? | LocaleLanguage | ⬜ | La langue sélectionnée pour le contenu du CV et les termes du modèle. |
ResumeLayoutMargins
Définit les paramètres de marges de page pour la mise en page du document.
Prop | Type | Requis | Description |
---|---|---|---|
top? | string | ⬜ | Valeur de marge supérieure (ex: "2.5cm"). |
bottom? | string | ⬜ | Valeur de marge inférieure (ex: "2.5cm"). |
left? | string | ⬜ | Valeur de marge gauche (ex: "1.5cm"). |
right? | string | ⬜ | Valeur de marge droite (ex: "1.5cm"). |
ResumeLayoutPage
Définit les paramètres au niveau de la page pour la présentation du document.
Prop | Type | Requis | Description |
---|---|---|---|
showPageNumbers? | boolean | ⬜ | Indique s'il faut afficher les numéros de page. |
ResumeLayoutTypography
Définit les paramètres typographiques pour le formatage du document.
Prop | Type | Requis | Description |
---|---|---|---|
fontSize? | string | ⬜ | Taille de police de base pour le document (ex: "10pt", "11pt"). |
ResumeLayoutLaTeX
Définit les options de configuration spécifiques à LaTeX.
Prop | Type | Requis | Description |
---|---|---|---|
fontspec? | { numbers?: FontspecNumbers } | ⬜ | Configurations du package LaTeX fontspec. |
Types d'Énumération
Country
Un type union pour tous les pays et régions possibles dans le monde.
Degree
Un type union pour tous les diplômes possibles.
Associate
Bachelor
Diploma
Doctor
High School
Master
Middle School
Fluency
Un type union pour tous les niveaux de maîtrise linguistique possibles.
Elementary Proficiency
Full Professional Proficiency
Limited Working Proficiency
Minimum Professional Proficiency
Native or Bilingual Proficiency
Language
Un type union pour toutes les langues supportées.
Level
Un type union pour tous les niveaux de maîtrise de compétences possibles.
Advanced
Beginner
Expert
Intermediate
Master
Novice
Network
Un type union pour toutes les options de réseaux sociaux possibles.
Template
Un type union pour toutes les options de modèles possibles.
Voir aussi : modèles
moderncv-banking
moderncv-casual
moderncv-classic
LocaleLanguage
Un type union pour toutes les langues de locale possibles.
Voir aussi : multi-langues
en
es
zh-hans
zh-hant-hk
zh-hant-tw
FontspecNumbers
Un type union pour toutes les options de nombres fontspec LaTeX possibles.
Auto
- permettant au style d'être automatiquement déterminé basé sur laLocaleLanguage
sélectionnée (par défaut)Lining
- chiffres alignés standard (par défaut pour les langues CJK)OldStyle
- chiffres à l'ancienne avec des hauteurs variées (par défaut pour les langues latines)
FontSize
Un type union pour toutes les options de taille de police possibles.
Pour l'instant, seulement 3 options sont supportées :
10pt
- taille de police 10pt (par défaut)11pt
- taille de police 11pt12pt
- taille de police 12pt
Last updated on