Compare commits

...

10 commits

15 changed files with 58 additions and 40 deletions

Binary file not shown.

Binary file not shown.

View file

@ -58,6 +58,12 @@ The main page: quick facts and the nav bar would be on the left instead of at th
- Improve accessibility - Improve accessibility
- Add HTML for the semantic web - Add HTML for the semantic web
- Add link to blog and various links to specifics articles (for example about a particular project or about my computing setup) - Add link to blog and various links to specifics articles (for example about a particular project or about my computing setup)
- Add PGP email public key
- Extend We Robot
- Extend RetroBox
- Extend French robotic cup
- Optimize for page size
- Optimize images with dithering?
## Technical issues or comments ## Technical issues or comments

View file

@ -59,6 +59,7 @@ projects:
solution: Solutions solution: Solutions
technologies: Technologies used technologies: Technologies used
images: Gallery images: Gallery
highlights: Highlights
links: links:
name: Links name: Links
@ -102,4 +103,5 @@ alternate:
locales: locales:
choose: "Choose your language:" choose: "Choose your language:"
page-counter: "Page %s of %s"

View file

@ -59,6 +59,7 @@ projects:
solution: Solutions solution: Solutions
technologies: Technologies utilisées technologies: Technologies utilisées
images: Gallerie images: Gallerie
highlights: Points forts
links: links:
name: Liens name: Liens
@ -100,3 +101,5 @@ alternate:
locales: locales:
choose: "Choisissez votre langue : " choose: "Choisissez votre langue : "
page-counter: "Page %s de %s"

View file

@ -91,6 +91,10 @@
} }
} }
} }
.project-highlights {
list-style: square;
padding-left: 2em;
}
} }

View file

@ -2,16 +2,8 @@ links: # or profiles
- id: mastodon - id: mastodon
name: Mastodon name: Mastodon
username: lefuturiste username: lefuturiste
url: https://mstdn.io/users/lefuturiste url: https://mstdn.io/@lefuturiste
# - id: youtube profile: main
# name: YouTube
# legacy: true
# url: https://www.youtube.com/channel/UC0x-gNbsyyrC69HjT5Z44MQ
# - id: twitter
# name: Twitter
# legacy: true
# url: https://twitter.com/_le_futuriste
- id: github - id: github
name: GitHub name: GitHub
username: lefuturiste username: lefuturiste
@ -36,19 +28,6 @@ links: # or profiles
thumbnail: thumbnail:
src: discord.svg src: discord.svg
style: "transform: scale(0.75)" style: "transform: scale(0.75)"
# - id: discord-server
# name:
# fr: Mon serveur discord
# en: My discord server
# legacy: true
# url: https://discord.com/invite/3W94m7ts3H
# thumbnail:
# src: discord.svg
# style: "transform: scale(0.75)"
# - id: soundcloud
# name: Sound Cloud
# legacy: true
# url: https://soundcloud.com/lefuturiste
- id: stackoverflow - id: stackoverflow
name: StackOverflow name: StackOverflow
username: lefuturiste username: lefuturiste

View file

@ -1,3 +1,3 @@
updated_at: '2022-07-04' updated_at: '2022-08-25'

View file

@ -113,8 +113,8 @@ projects:
fr: Assistant métier de vente céréalière fr: Assistant métier de vente céréalière
en: Cereal sales assistant en: Cereal sales assistant
description: description:
fr: "Site web très configurable comme une feuille de calcul pour afficher des prix de ventes d'un grossiste de céréales à des clients" fr: "Site web très configurable comme un tableur pour afficher les prix de vente d'un grossiste de céréales à des clients selon des critères spécifiques."
en: "Highly configurable website like a spreadsheet to show sales prices of a cereal wholesaler to customers" en: "Website configurable like a spreadsheet to show the sales prices of a cereal wholesaler to customers according to specific criterias."
action: action:
fr: Site web externe fr: Site web externe
en: External website en: External website
@ -122,7 +122,7 @@ projects:
src: commons/thingmill-150.png src: commons/thingmill-150.png
alt: alt:
fr: Le logo de l'agence web thingmill fr: Le logo de l'agence web thingmill
en: The logo of the thingmill agency en: The logo of the thingmill web agency
technologies: technologies:
- php - php
- symfony - symfony
@ -131,6 +131,21 @@ projects:
keywords: keywords:
- cotation - cotation
- euronext - euronext
highlights:
fr:
- Gestion utilisateurs classique.
- Système flexible pour construire des tableaux de prix qui dépendent de l'utilisateur, des période ou d'autres facteurs arbitraires.
- Panel administratif léger répondant aux besoins métiers.
- Connexion avec l'API d'EuroNext pour obtenir les cotes des produits céréaliers.
- Système de formules comme sur un tableur afin d'utiliser des variables globales ou locales.
- Possibilité de prévisualiser le tableau de prix qu'un utilisateur particulier voit.
en:
- User management features.
- Flexible system to build price tables that depend on either the logged user, the periods or others parameters.
- Lightweight admin interface that meets the business needs.
- Retrival of products financial quotes (eg. Wheat) via the EuroNext API.
- Support of spreadsheet-like formulas using globals or locals variables.
- User "impersonation" feature to preview prices tables.
images: images:
- id: dashboard - id: dashboard
name: name:
@ -231,7 +246,7 @@ projects:
en: Administered association directory en: Administered association directory
description: description:
fr: "Application web de gestion de fiche associative collaborative avec interface administrative pour l'Espace Condorcet." fr: "Application web de gestion de fiche associative collaborative avec interface administrative pour l'Espace Condorcet."
en: "Web application of collaborative association management with administration interface for the Espace Condorcet" en: "Web application of collaborative association management with administration interface for the Espace Condorcet."
background: background:
fr: | fr: |
En Juin 2020, [l'Espace Condorcet](https://www.espacecondorcet.org/) (association qui promeut la vie associative locale de Gaillon) cherchait un moyen numérique afin de substituer le forum associatif physique qui était compromis pour cause sanitaire, ils voulait un moyen simple pour que les associations puissent se décrire et en même temps que l'administrateur du site puissent valider le contenu facilement sans d'étapes manuelle pour la publication. En Juin 2020, [l'Espace Condorcet](https://www.espacecondorcet.org/) (association qui promeut la vie associative locale de Gaillon) cherchait un moyen numérique afin de substituer le forum associatif physique qui était compromis pour cause sanitaire, ils voulait un moyen simple pour que les associations puissent se décrire et en même temps que l'administrateur du site puissent valider le contenu facilement sans d'étapes manuelle pour la publication.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -22,6 +22,7 @@
\usepackage[inkscapepath=./build/latex/inkscape-svg]{svg} \usepackage[inkscapepath=./build/latex/inkscape-svg]{svg}
\usepackage{verbatimbox} \usepackage{verbatimbox}
\usepackage{stackengine} \usepackage{stackengine}
\usepackage{lastpage}
\newcommand\svgsize{10pt} \newcommand\svgsize{10pt}
@ -39,7 +40,7 @@
\fancyfoot{} \fancyfoot{}
\fancyfoot[L]{(( misc.updated_at | format_date(locale=getLocale()) ))} \fancyfoot[L]{(( misc.updated_at | format_date(locale=getLocale()) ))}
\fancyfoot[C]{(% if anno %)CV annonyme(% else %)(( firstName )) (( lastName )) - CV(% endif %)} \fancyfoot[C]{(% if anno %)CV annonyme(% else %)(( firstName )) (( lastName )) - CV(% endif %)}
\fancyfoot[R]{\thepage} \fancyfoot[R]{(( getLocalizedStr("page-counter")|format("\\thepage{}", "\\pageref*{LastPage}")|raw ))}
\newcommand\link[2]{\color{linkcolor}\href{#1}{#2}\color{Black} } \newcommand\link[2]{\color{linkcolor}\href{#1}{#2}\color{Black} }
@ -218,6 +219,8 @@
(% endfor %) (% endfor %)
\end{longtable} \end{longtable}
\pagebreak
% Section: Volunteering experiences % Section: Volunteering experiences
\sectionTitle{(( getLocalizedStr('projects.volunteering.title') ))} \sectionTitle{(( getLocalizedStr('projects.volunteering.title') ))}
\begin{longtable}{R{\leftcolumn}|E} \begin{longtable}{R{\leftcolumn}|E}
@ -233,7 +236,6 @@
\vspace{1em} \vspace{1em}
\pagebreak
% Section: Education % Section: Education
\sectionTitle{(( getLocalizedStr('education.title') ))} \sectionTitle{(( getLocalizedStr('education.title') ))}

View file

@ -6,7 +6,7 @@
<div class="links-container"> <div class="links-container">
<div class="links"> <div class="links">
{% for link in links %} {% for link in links %}
<a class="link-card" href="{{ link.url }}" data-id="{{ link.id }}"> <a class="link-card" href="{{ link.url }}" data-id="{{ link.id }}" {% if link.profile == "main" %}rel="me"{% endif %}>
<div class="link-card-logo"> <div class="link-card-logo">
<img <img
src="imgs/logos/{{ link.thumbnail.src }}" src="imgs/logos/{{ link.thumbnail.src }}"

View file

@ -10,6 +10,9 @@
<h1>{{ getLocalizedStr('projects.project') }} {{ getDynLocalizedStr(project.name) }}</h1> <h1>{{ getLocalizedStr('projects.project') }} {{ getDynLocalizedStr(project.name) }}</h1>
<div class="project-header"> <div class="project-header">
<div class="project-description">
{{ getDynLocalizedStr(project.description) | formatMd | raw }}
</div>
<div class="project-date"> <div class="project-date">
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-calendar-event" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-calendar-event" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round">
<path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
@ -94,11 +97,6 @@
</div> </div>
{% endif %} {% endif %}
{% if project.description is defined and (projects.background is not defined or projects.solution is not defined) %}
<h2>{{ getLocalizedStr('description') }}</h2>
{{ getDynLocalizedStr(project.description) | formatMd | raw }}
{% endif %}
{% if project.background is defined %} {% if project.background is defined %}
<h2>{{ getLocalizedStr('projects.background') }}</h2> <h2>{{ getLocalizedStr('projects.background') }}</h2>
{{ getDynLocalizedStr(project.background) | formatMd | raw }} {{ getDynLocalizedStr(project.background) | formatMd | raw }}
@ -108,6 +106,15 @@
<h2>{{ getLocalizedStr('projects.solution') }}</h2> <h2>{{ getLocalizedStr('projects.solution') }}</h2>
{{ getDynLocalizedStr(project.solution) | formatMd | raw }} {{ getDynLocalizedStr(project.solution) | formatMd | raw }}
{% endif %} {% endif %}
{% if project.highlights is defined %}
<h2>{{ getLocalizedStr('projects.highlights') }}</h2>
<ul class="project-highlights">
{% for highlight in project.highlights[getLocale()] %}
<li>{{ highlight }}</li>
{% endfor %}
</ul>
{% endif %}
<h2>{{ getLocalizedStr('projects.technologies') }}</h2> <h2>{{ getLocalizedStr('projects.technologies') }}</h2>
<div class="chips"> <div class="chips">