Version yuzzit

This commit is contained in:
Thomas Forgione 2025-12-22 15:29:05 +01:00
parent 4bf8ea3ceb
commit 5698073e51
4 changed files with 1378 additions and 1352 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
// Configuration
// Polymny config
#let spacing = 0.345cm
#let spacing = 0.2cm
#let show_publications = true
#let show_projects = false
@ -11,14 +11,27 @@
#template.entry2(
left: image(height: 15pt, "./assets/icons/adjust.svg"),
heading: [*Yuzzit*, _Paris (télétravail)_, #link("https://www.yuzzit.video")],
description: [Logiciel de découpe et de montage vidéo depuis un flux live],
note: [
Senior backend engineer
- découpe vidéo au format HLS
- ajout du support pour bucket S3 privé
- adaptation de la plate-forme à l'envoi de fichier via MASV
- authentification via google workspaces avec support des groupes
]
)
#template.entry2(
left: [2025],
heading: [*Polymny Studio*, _Toulouse_, #link("https://polymny.studio")],
description: [Logiciel SAAS permettant la réalisation de MOOC facilement],
note: [
Co-fondateur, responsable R&D, développeur
- pilotage et développement de l'architecture multi-instances
- instance sur cluster kubernetes OVHcloud avec stockage S3
- instance auto-hébergée chez tetaneutral
- développement de l'UI/UX, frontend et backend
// - instance sur cluster kubernetes OVHcloud avec stockage S3
// - instance auto-hébergée chez tetaneutral
// - développement de l'UI/UX, frontend et backend
- président de lAssociation Polymny Studio jusquen Sept 2022
]
)
@ -31,8 +44,8 @@
Transmission adaptative de modèles 3D massifs
- encodage de modèle 3D optimisé pour le streaming interactif
- streaming adapté au point de vue
- interface du bureau avec clavier / souris
- interface smartphone avec joystick virtuel et gyroscope
// - interface du bureau avec clavier / souris
// - interface smartphone avec joystick virtuel et gyroscope
]
)
@ -49,7 +62,7 @@
= Publications
#let local_spacing = 0.7em
#let local_spacing = 0.0em
#template.entry2(
left: [2019],

View File

@ -1,6 +1,9 @@
#import "template.typ"
#let is_polymny = true
#let is_polymny = false
#let is_yuzzit = true
#let spacing = 0.2cm
= Contact
@ -21,6 +24,22 @@ align(left + top, [
)
])
} else if is_yuzzit {
// Version yuzzit
align(left + top, [
#grid(columns: (auto, auto), row-gutter: 0.5cm, column-gutter: 0.2cm,
[ #image("assets/icons/location.svg", height: 10pt) ],
[ 6 Rue de la Tourelle, \
92100 Boulogne-Billancourt
],
[ #image("assets/icons/phone.svg", height: 10pt) ], [ 06.71.22.05.84 ],
[ #image("assets/icons/mail.svg", height: 10pt) ], [ #link("mailto:thomas.forgione@yuzzitpro.com")[thomas.forgione \ \@yuzzitpro.com] ],
[ #image("assets/icons/world.svg", height: 10pt) ], [ #link("https://tforgione.fr")[https://tforgione.fr] ],
[ #image("assets/icons/github.svg", height: 10pt) ], [ #link("https://github.com/tforgione")[\@tforgione] ]
)
])
} else {
// Version perso
@ -39,6 +58,8 @@ align(left + top, [
}
#v(spacing)
= Programmation
#align(left + top, [
@ -53,17 +74,21 @@ align(left + top, [
)
])
#v(spacing)
= DevOps
#align(left + top, [
#grid(columns: (2cm, auto), row-gutter: 0.5cm, column-gutter: 0.5cm,
[ Docker ], [ #template.score(level: 4) ],
[ Kubernetes ], [ #template.score(level: 4) ],
[ Kubernetes ], [ #template.score(level: 3) ],
[ RabbitMQ ], [ #template.score(level: 3) ],
[ S3 ], [ #template.score(level: 3) ],
[ S3 ], [ #template.score(level: 4) ],
)
])
#v(spacing)
= Langues
#align(left + top, [

View File

@ -6,22 +6,22 @@
let opacity = "33" // opacity hex chars
let polymny = read("./assets/polymny.svg")
let polymny_transparent = polymny
.replace("#FFFFFFFF", "#FFFFFF" + opacity)
.replace("#EAE2D4FF", "#EAE2D4" + opacity)
.replace("#BDB299FF", "#BDB299" + opacity)
// let polymny = read("./assets/polymny.svg")
// let polymny_transparent = polymny
// .replace("#FFFFFFFF", "#FFFFFF" + opacity)
// .replace("#EAE2D4FF", "#EAE2D4" + opacity)
// .replace("#BDB299FF", "#BDB299" + opacity)
set page(
paper: "a4",
numbering: none,
margin: (left: 0.25cm, right: 0.25cm, top: 0.5cm, bottom: 0.5cm),
background: [
#place(bottom + left, dx: 2cm, dy: 2.75cm, {
image.decode(polymny_transparent, width: 65em, height: 65em)
})
// #place(bottom + left, dx: 2cm, dy: 2.75cm, {
// image.decode(polymny_transparent, width: 65em, height: 65em)
// })
#place(top + left, rect(width: 5.55cm, height: 100%, fill: color.lighten(90%)))
#place(top + left, rect(width: 5.8cm, height: 100%, fill: color.lighten(90%)))
#place(top + left, rect(width: 100%, height: 4.4cm, fill: color))
#place(top + left, dx: 0.8cm, dy: 1cm, image("./assets/moi.png", height: 4cm))
],
@ -63,7 +63,7 @@
set text(fill: color)
grid(
gutter: 1em,
columns: (5cm, 7fr),
columns: (5.25cm, 7fr),
[], // align(horizon, [#v(3pt) #rect(width: 1cm, height: 0.33em, fill: color)]),
[
#it.body
@ -99,7 +99,7 @@
#let entry(body, left: content) = {
grid(
gutter: 1em,
columns: (5.5cm, 0.75fr, 7fr),
columns: (5.75cm, 0.75fr, 7fr),
[],
align(right, left),
body,
@ -125,7 +125,7 @@
width: size.width,
grid(
gutter: 1em,
columns: (5.5cm, 0.75fr, 7fr),
columns: (5.75cm, 0.75fr, 7fr),
[], [], content
)
)
@ -135,7 +135,7 @@
grid(
gutter: 1em,
columns: (5.5cm, 0.75fr, 7fr),
columns: (5.75cm, 0.75fr, 7fr),
[],
if not disable_line {
align(center, [