#import "template.typ"

= Parcours

#template.entry2(
  left: image(height: 15pt, "./assets/icons/adjust.svg"),
  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
     - président de l'Association Polymny Studio jusqu'en Sept 2022
     - base de données unique pour deux instances : gratuite / payante
     - partie gratuite auto-hébergée chez tetaneutral
     - partie payante sur cluster kubernetes OVHcloud avec stockage S3
  ]
)

#template.entry2(
  left: [2019],
  heading: [*Doctorat*, _Toulouse INP_, #link("https://tforgione.fr/phd/")],
  description: [Doctorat en informatique et télécommunications],
  note: [
    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
  ]
)

#template.entry2(
  left: [2015],
  heading: [*Diplôme d'ingénieur*, _ENSEEIHT_],
  description: [Diplôme d'ingénieur en informatique et mathématiques appliquées],
  note: [Spécialisation en multimédia et traitement d'images]
)

#v(1cm)

= Projets

#template.entry2(
  left: [2021],
  heading: [*Ergol*, #link("https://ergol-rs.github.io")],
  description: [ORM asynchrone pour Rust],
  note: [
    - proc macro via annotation pour génération de code lié aux tables
    - gestion des one-to-one, one-to-many, many-to-many
    - création / réinitialisation de tables automatiques
    - fonctions utilitaires pour INSERT, SELECT, UPDATE, DELETE
    - intégration avec le framework web Rocket
  ]
)

#template.entry2(
  left: [2019],
  heading: [*My Twitch Replays*, #link("https://twitch.tforgione.fr")],
  description: [Plate-forme de vidéo à la demande serverless via HTTP],
  note: [
    - encodage vidéo multi-résolution en HLS avec FFmpeg
    - lecteur vidéo custom en elm avec miniatures de navigation
    - selection manuelle ou automatique de la résolution via hls.js
  ]
)

#v(1.02cm)

= Loisirs

#template.entry(left: [Sport])[*jiujitsu brésilien depuis 2020, ceinture bleue*]
#template.entry(left: [Moto])[*permis A2 depuis 2016, permis A depuis 2018*]
#template.entry(left: [Musique])[*guitare acoustique et éléctrique depuis 2008*]
