From 671f40e868a1cc6be0e8a251a47030e0b7779ff3 Mon Sep 17 00:00:00 2001 From: Arnaud Michel <87248697+MrArnaudMichel@users.noreply.github.com> Date: Sat, 20 Apr 2024 14:59:17 +0100 Subject: [PATCH 1/8] Add link on aictron --- src/components/projectsPage/css/ProjectPage.css | 7 +++++++ src/locales/language/fr/translation.json | 5 ++++- src/locales/projects.json | 4 ++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/components/projectsPage/css/ProjectPage.css b/src/components/projectsPage/css/ProjectPage.css index 6c84484..c72268e 100644 --- a/src/components/projectsPage/css/ProjectPage.css +++ b/src/components/projectsPage/css/ProjectPage.css @@ -40,6 +40,13 @@ transition: color .5s ease-in-out, box-shadow .5s ease-in-out; font-size: var(--font-link); } +.project-header-contains-link { + text-align: start; + box-shadow: inset 0 0 0 0 var(--color-text-primary); + color: var(--color-text-primary); + transition: color .5s ease-in-out, box-shadow .5s ease-in-out; + font-size: var(--font-link); +} .project-header-contains-link:hover { box-shadow: inset 100vw 0 0 0 var(--color-text-primary); diff --git a/src/locales/language/fr/translation.json b/src/locales/language/fr/translation.json index 63ebac2..c835880 100644 --- a/src/locales/language/fr/translation.json +++ b/src/locales/language/fr/translation.json @@ -105,12 +105,15 @@ "CocoBotTitleDescription2": "Mon rôle dans le projet", "AIctronShortDescription": "Application web pour faire des prédictions avec l'IA", - "AIctronDescription0": "Aictron est une application web qui permet à ses utilisateurs d'obtenir une analyse prédictive des données en insérant n'importe quel ensemble de données csv. L'application utilisera l'intelligence artificielle, et plus précisément l'apprentissage automatique avec la bibliothèque SKlearn Python. Le principal avantage de l'application est sa légèreté, car les algorithmes d'apprentissage automatique sont peu gourmands en ressources, ce qui la rend particulièrement utile pour tous ceux qui ont besoin de faire des prédictions basées sur des données spécifiques. L'application est conçue pour être conviviale, avec une interface simple et intuitive. L'utilisateur pourra télécharger un ensemble de données, sélectionner la colonne cible et obtenir la prédiction.\n\nTraduit avec DeepL.com (version gratuite)", + "AIctronDescription0": "

Aictron est une application web qui permet à ses utilisateurs d'obtenir une analyse prédictive des données en insérant n'importe quel ensemble de données csv. L'application utilisera l'intelligence artificielle, et plus précisément l'apprentissage automatique avec la bibliothèque SKlearn Python. Le principal avantage de l'application est sa légèreté, car les algorithmes d'apprentissage automatique sont peu gourmands en ressources, ce qui la rend particulièrement utile pour tous ceux qui ont besoin de faire des prédictions basées sur des données spécifiques. L'application est conçue pour être conviviale, avec une interface simple et intuitive. L'utilisateur pourra télécharger un ensemble de données, sélectionner la colonne cible et obtenir la prédiction.\n\n

", "AIctronDescription1": "L'application est développée en Python. Elle utilise la bibliothèque SKlearn pour faire des prédictions sur les données. L'application permet de télécharger un ensemble de données, de sélectionner la colonne cible et d'obtenir la prédiction.", "AIctronDescription2": "J'ai travaillé sur ce projet en trinôme lors de mon Erasmus. J'ai principalement travaillé sur l'IA et sur l'API. Pour cela, j'ai utilisé la bibliothèque SKlearn pour faire des prédictions sur les données et utilisé Flask pour créer l'API.", + "AIctronDescription3": "

Voici les liens du projet:

\n", "AIctronTitleDescription0": "Aperçu de l'application", "AIctronTitleDescription1": "Description de l'application", "AIctronTitleDescription2": "Mon rôle dans le projet", + "AIctronTitleDescription3": "Liens du projet", + "MoseArtShortDescription": "Jeu ludique de gestion au tour par tour", "MoseArtDescription0": "MoseArt est un jeu de gestion au tour par tour dans lequel le joueur incarne Robert Mose, le directeur de l'IUT Robert Schuman d'Illkirch-Graffenstaden, pour un mandat de 5 ans.", diff --git a/src/locales/projects.json b/src/locales/projects.json index a91adb4..44c1df9 100644 --- a/src/locales/projects.json +++ b/src/locales/projects.json @@ -239,8 +239,8 @@ }, { "title": "AIctron", - "description": ["AIctronDescription0", "AIctronDescription1", "AIctronDescription2"], - "titledescription": ["AIctronTitleDescription0", "AIctronTitleDescription1", "AIctronTitleDescription2"], + "description": ["AIctronDescription0", "AIctronDescription1", "AIctronDescription2", "AIctronDescription3"], + "titledescription": ["AIctronTitleDescription0", "AIctronTitleDescription1", "AIctronTitleDescription2", "AIctronTitleDescription3"], "shortDescription": "AIctronShortDescription", "link": "AIctron", "date": "2024", From a047b282cd34374fb562376c09eb2cc4113ad180 Mon Sep 17 00:00:00 2001 From: Arnaud Michel <87248697+MrArnaudMichel@users.noreply.github.com> Date: Sat, 20 Apr 2024 15:01:59 +0100 Subject: [PATCH 2/8] Reformat code --- src/components/careerPage/AllOccupations.js | 9 +- src/components/careerPage/Occupation.js | 2 +- .../careerPage/css/AllOccupations.css | 4 +- src/components/contact/Contact.js | 14 +- src/components/interestsPage/Interests.js | 3 +- .../interestsPage/css/Interests.css | 12 +- .../layoutComponents/NavigationBar.js | 12 +- .../layoutComponents/css/NavigationBar.css | 2 +- src/components/mainPage/Home.js | 2 +- src/components/mainPage/css/Skills.css | 2 +- src/components/projectsPage/ProjectPage.js | 194 +++++++++--------- .../projectsPage/css/ProjectPage.css | 7 +- 12 files changed, 140 insertions(+), 123 deletions(-) diff --git a/src/components/careerPage/AllOccupations.js b/src/components/careerPage/AllOccupations.js index a1be8f7..c799dc3 100644 --- a/src/components/careerPage/AllOccupations.js +++ b/src/components/careerPage/AllOccupations.js @@ -1,11 +1,11 @@ -import React, { useEffect, useRef } from 'react'; -import { Link } from 'react-router-dom'; +import React, {useEffect, useRef} from 'react'; +import {Link} from 'react-router-dom'; import jobsData from '../../locales/jobs.json'; import AOS from "aos"; import "aos/dist/aos.css"; import './css/AllOccupations.css'; -function AllOccupations({ t }) { +function AllOccupations({t}) { const jobItemsRef = useRef([]); useEffect(() => { @@ -23,7 +23,8 @@ function AllOccupations({ t }) {

{t('AllOccupations')}

{sortedJobsData.map((job, index) => ( -
jobItemsRef.current[index] = el} className="career-job-item" data-aos="fade-up"> +
jobItemsRef.current[index] = el} className="career-job-item" + data-aos="fade-up">

{t(job.title)}

{job.date}

diff --git a/src/components/careerPage/Occupation.js b/src/components/careerPage/Occupation.js index d475a2a..6878e0a 100644 --- a/src/components/careerPage/Occupation.js +++ b/src/components/careerPage/Occupation.js @@ -3,7 +3,7 @@ import './css/Occupation.css'; import {useNavigate, useParams} from 'react-router-dom'; import occupations from "../../locales/jobs.json"; -function Occupation({ t }) { +function Occupation({t}) { const {occupationName} = useParams(); const occupation = occupations.find(o => o.link === occupationName); const navigate = useNavigate(); diff --git a/src/components/careerPage/css/AllOccupations.css b/src/components/careerPage/css/AllOccupations.css index 99f9f10..31e089c 100644 --- a/src/components/careerPage/css/AllOccupations.css +++ b/src/components/careerPage/css/AllOccupations.css @@ -1,4 +1,4 @@ -.career-job-item{ +.career-job-item { grid-gap: 1rem; justify-content: space-between; background-color: var(--color-backdrop); @@ -12,7 +12,7 @@ transition: all 0.3s ease !important; } -.career-job-header{ +.career-job-header { display: flex; justify-content: space-between; align-items: center; diff --git a/src/components/contact/Contact.js b/src/components/contact/Contact.js index 818dc66..be450fb 100644 --- a/src/components/contact/Contact.js +++ b/src/components/contact/Contact.js @@ -8,7 +8,7 @@ import AOS from "aos"; // } export default function ContactPage() { - const [formState, setFormState] = useState({ name: '', email: '', message: '' }); + const [formState, setFormState] = useState({name: '', email: '', message: ''}); useEffect(() => { AOS.init({ @@ -50,10 +50,14 @@ export default function ContactPage() {

Contact

{/*onSubmit={handleSubmit}>*/} - - - -