import react from 'react'
import Timeline from './timeline/Timeline'
import TimelineElement from './timeline/TimelineElement'
import TimelineLabel from './timeline/TimelineLabel'
import TimelineCard from './timeline/TimelineCard'
import TimelineCardSummary from './timeline/TimelineCardSummary'
import TimelineCardContent from './timeline/TimelineCardContent'
import Tag from './Tag'

const REACT_TAG = <Tag name="React" url="https://fr.legacy.reactjs.org/" />
const SYMFONY_4_TAG = <Tag name="Symfony 4" url="https://symfony.com/" />
const FLUTTER_TAG = <Tag name="Flutter" url="https://flutter.dev/" />
const RUBY_ON_RAILS_TAG = <Tag name="Ruby on rails" url="https://rubyonrails.org/" />
const HOTWIRED_TAG = <Tag name="Hotwired" url="https://hotwired.dev/" />
const RUST_TAG = <Tag name="Rust" url="https://www.rust-lang.org/" />
const DOCKER_TAG = <Tag name="Docker" url="https://www.docker.com/" />
const STEAM_TAG = <Tag name="Steam API" url="https://partner.steamgames.com/doc/sdk/api/example" />
const GITLAB_CI_TAG = <Tag name="Gitlab CI" url="https://docs.gitlab.com/ee/ci/" />
const UNITY_TAG = <Tag name="Unity 3D" url="https://unity.com/fr" />
const WORDPRESS_TAG = <Tag name="Wordpress" url="https://wordpress.com/fr/" />
const CORDOVA_TAG = <Tag name="Cordova" url="https://cordova.apache.org/" />
const ELECTRON_TAG = <Tag name="Electron" url="https://www.electronjs.org/" />
const LWJGL_TAG = <Tag name="LWJGL" url="https://www.lwjgl.org/" />
const OPENGL_TAG = <Tag name="OpenGL" url="https://www.opengl.org/" />
const VULKAN_TAG = <Tag name="Vulkan" url="https://www.vulkan.org/" />
const JAVA_TAG = <Tag name="Java" url="https://www.java.com/fr/" />
const MIDI_TAG = <Tag name="MIDI" url="https://fr.wikipedia.org/wiki/Musical_Instrument_Digital_Interface" />
const REQUIREJS_TAG = <Tag name="RequireJS" url="https://requirejs.org/" />
const WEBPACK_TAG = <Tag name="Webpack" url="https://webpack.js.org/" />
const VITE_TAG = <Tag name="Vite" url="https://vitejs.dev/" />
const MAVEN_TAG = <Tag name="Maven" url="https://maven.apache.org/" />
const GRADLE_TAG = <Tag name="Gradle" url="https://gradle.org/" />

function MonParcours() {
    return (
        <div>
            <Timeline>
                <TimelineElement>
                    <TimelineLabel>2019 - Aujourd’hui</TimelineLabel>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                REACT_TAG, SYMFONY_4_TAG, FLUTTER_TAG, RUBY_ON_RAILS_TAG, HOTWIRED_TAG, RUST_TAG, WEBPACK_TAG, VITE_TAG, GRADLE_TAG
                            ]}
                        >
                            Développeur d’application Web, Mobile et Système (CDI)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Développement d’application Symfony, React, Flutter, Rust et Ruby on rails (6 et 7) pour des clients.</p><br />
                            <p>Je développe surtout des applications Flutter et Ruby on rails avec l’aide de Hotwired.</p><br />

                            <i>Unova France</i><br />
                            <i>11 Septembre 2019 - Toujours en CDI</i>
                        </TimelineCardContent>
                    </TimelineCard>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                               RUST_TAG, VULKAN_TAG
                            ]}
                        >
                            Développement d’un petit moteur 3D
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Je développe un petit moteur 3D pour apprendre à utiliser Vulkan mais aussi pour prendre en expérience en Rust</p>
                        </TimelineCardContent>
                    </TimelineCard>
                </TimelineElement>
                <TimelineElement>
                    <TimelineLabel>2018 - 2019</TimelineLabel>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                UNITY_TAG, SYMFONY_4_TAG, GITLAB_CI_TAG, STEAM_TAG, DOCKER_TAG, MIDI_TAG
                            ]}
                        >
                            Développeur Web Symfony 4 et de Jeu avec Unity 3D (CDI)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Développement du Site en Symfony 4 (Changement graphique, ajout de fonctionnalité)</p><br />
                            <p>Intégration du déploiement continue de la nouvelle application Limouzik refaite sous Unity 3D sur Steam</p><br />

                            <i>Limouzik SAS</i><br />
                            <i>03 Septembre 2018 - 31 Juillet 2019 (Rupture pour raison économique)</i>
                        </TimelineCardContent>
                    </TimelineCard>
                </TimelineElement>
                <TimelineElement>
                    <TimelineLabel>2017 - 2018</TimelineLabel>
                    <TimelineCard>
                        <TimelineCardSummary>License Dev. Web et du Big Data</TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Licence professionnelle en alternance de développeur d’application web et du Big Data (LP DWBD).</p><br />
                            <p>Utilisation de docker, Mysql, PHP avancé, Symfony 3 et 4, AngularJS, NodeJS, Cassandra, MongoDB, …</p><br />

                            <i>IUT du Limousin à Limoges</i>
                        </TimelineCardContent>
                    </TimelineCard>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                SYMFONY_4_TAG
                            ]}
                        >
                            Développeur Web Symfony 4 (Projet Tuteuré)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Développement du site sliz.me avec Symfony 4.</p><br />
                            <p>Ajout de QRCode sur l'ensemble des pages d'un fichier PDF pour que d'autres personnes puissent télécharger le PDF ou une page en question durant une conférence.</p><br />
                            <p>Il fallait également pouvoir générer des QrCode simple à scanner pour qu’un étudiant puisse le scanner à l’autre bout de l’amphi.</p><br />

                            <i>Onegate</i><br />
                            <i>Octobre 2017 - Février 2017</i>
                        </TimelineCardContent>
                    </TimelineCard>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                UNITY_TAG, SYMFONY_4_TAG, STEAM_TAG, REACT_TAG, WORDPRESS_TAG, CORDOVA_TAG, ELECTRON_TAG, MIDI_TAG, WEBPACK_TAG
                            ]}
                        >
                            Développeur Web Symfony 4 et de Jeu avec Unity 3D (Alternance)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Maintenance de la version du site en Wordpress + Refonte complète du site (Graphique et technique) avec Symfony 4.</p><br />

                            <p>Maintenance de la première version de l’application React ainsi que la migration des modules RequireJS vers Webpack pour fortement améliorer le temps de chargement</p><br />
                            <p>Pour permettre l’évolution future de l’application (Intégration avec d’autre boite de jeu VR + Gamification), l’application a dû être refaite de A à Z en C# avec le moteur 3D Unity.</p><br />
                            <p>Ajout de l’application Limouzik sur le Play Store (Android), AppStore (iOS) et sur Steam (PC) avec l’intégration de SteamAPI</p><br />

                            <i>L’ensemble du travail a été effectué par mes soins</i><br /><br />


                            <i>Limouzik SAS</i><br />
                            <i>04 Septembre 2017 - 24 Aout 2018</i>
                        </TimelineCardContent>
                    </TimelineCard>
                </TimelineElement>
                <TimelineElement>
                    <TimelineLabel>2015 - 2017</TimelineLabel>
                    <TimelineCard>
                        <TimelineCardSummary>DUT Informatique</TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Conception de programme en Java, C++, C, Android, PHP, NodeJS et l’utilisation de Mysql. Apprentissage des bases scientifiques dans l’informatique.</p><br />
                            <i>IUT du Limousin à Limoges</i>
                        </TimelineCardContent>
                    </TimelineCard>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                REACT_TAG, WORDPRESS_TAG, MIDI_TAG, REQUIREJS_TAG
                            ]}
                        >
                            Développement d’application Web React et MIDI + Site Wordpress (Stage + CDD)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Développement d’une application musicale en utilisant le protocole MIDI (+ Synthèse sonore).</p><br />
                            <p>La partie affichage a été développé avec React et RequireJS (Gestion de module).</p><br />
                            <p>Administration du Site en Wordpress avec les Plugins (Woocommerce et PaidMembership Pro) ainsi que le développement d’un plugin propriétaire pour l’intégration de l’application dans Wordpress</p><br />

                            <i>Limouzik SAS</i><br />
                            <i>03 Avril 2017 - 30 Juin 2017 (Stage)</i><br />
                            <i>01 Juillet 2017 - 31 Juillet 2017 (CDD)</i>
                        </TimelineCardContent>
                    </TimelineCard>
                </TimelineElement>
                <TimelineElement>
                    <TimelineLabel>2012 - 2015</TimelineLabel>
                    <TimelineCard>
                        <TimelineCardSummary>Bac STI2D spécialité SIN</TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Passage du Bac sciences et technologies de l’industrie et du développement durable (STI2D).</p>
                            <p>Spécialité systèmes d’information et numérique (SIN).</p><br />

                            <i>Lycée Jean Favard à Guéret</i>
                        </TimelineCardContent>
                    </TimelineCard>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                JAVA_TAG, MAVEN_TAG
                            ]}
                        >
                            Développement en Java (Perso)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Apprentissage dans un premier temps du langage avec le site du zéro et les quelques vidéos sur Youtube.</p><br />
                            <p>Ensuite, j'ai commencé à développer des projets Perso (Plugin Minecraft, Mod Minecraft) dans un premier temps.</p><br />
                            <p>Puis, j'ai commencé à développer des petits jeux de A à Z (Petit moteur de physique + graphique + audio) et à m'entrainer avec des amis pour participer à des concours comme le Ludum dare et la Global Game Jam.</p>
                        </TimelineCardContent>
                    </TimelineCard>
                    <TimelineCard>
                        <TimelineCardSummary
                            tags={[
                                LWJGL_TAG, OPENGL_TAG
                            ]}
                        >
                            Utilisation de l’API graphique OpenGL (Perso)
                        </TimelineCardSummary>
                        <TimelineCardContent>
                            <p>Après avoir développé quelques trucs sur Minecraft. Je me suis interessé à son fonctionnement et j'ai découvert la librairie LWJGL utilisé dans Minecraft.</p><br />
                            <p>J'ai très vite voulu développer mes propres Mini-Jeux en OpenGL avec cette librairie.</p>
                        </TimelineCardContent>
                    </TimelineCard>
                </TimelineElement>
            </Timeline>
        </div>
    )
}

export default MonParcours