From 6a654ae0d7ffb46991660c297fda01fd2e073f1c Mon Sep 17 00:00:00 2001 From: Lyanis Souidi Date: Tue, 17 Jan 2023 23:44:08 +0100 Subject: [PATCH] Divers ajouts/modifications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajout du blog - Ajout de la page équipe - Modification du header (style) - Modification du footer (contenu + style) - Ajout du plan du site - Ajout des mentions légales - Ajout du favicon - Ajout des balises OpenGraph - Ajout du logo GitHub --- about/index.php | 81 +++++---- assets/css/blog.css | 3 + assets/css/footer.css | 110 +++--------- assets/css/header.css | 28 +++ assets/css/home.css | 4 +- assets/css/style.css | 31 ++++ assets/css/team.css | 81 +++++++++ assets/img/favicon_dark.ico | Bin 0 -> 225462 bytes assets/img/favicon_light.ico | Bin 0 -> 225462 bytes assets/img/github.svg | 1 + assets/img/logo_blanc2.png | Bin 10277 -> 8243 bytes assets/img/logo_noir2.png | Bin 4992 -> 3281 bytes assets/js/script.js | 16 ++ blog/.htaccess | 1 + blog/index.php | 171 ++++++++++++++++++ contact/index.php | 79 +++++---- faq/index.php | 79 +++++---- index.php | 76 ++++---- legal/index.php | 123 +++++++++++++ product/index.php | 81 +++++---- sitemap/index.php | 92 ++++++++++ team/.htaccess | 1 + team/index.php | 329 +++++++++++++++++++++++++++++++++++ 23 files changed, 1107 insertions(+), 280 deletions(-) create mode 100644 assets/css/blog.css create mode 100644 assets/css/team.css create mode 100644 assets/img/favicon_dark.ico create mode 100644 assets/img/favicon_light.ico create mode 100644 assets/img/github.svg create mode 100644 assets/js/script.js create mode 100644 blog/.htaccess create mode 100644 blog/index.php create mode 100644 legal/index.php create mode 100644 sitemap/index.php create mode 100644 team/.htaccess create mode 100644 team/index.php diff --git a/about/index.php b/about/index.php index 542c8a8..0463ba0 100644 --- a/about/index.php +++ b/about/index.php @@ -3,7 +3,15 @@ + + Qui sommes-nous ? - Elite Solar + + + + + + @@ -12,17 +20,28 @@
-

Elite Solar

- Menu - +
+ + Menu + +
+ +

Qui sommes-nous ?


@@ -40,40 +59,26 @@

Les motivations de notre équipe sont principalement axées sur l’écologie et l’innovation. En effet grâce à notre technologie nous contribuons à la promotion des énergies renouvelables, et de ce fait, à la réduction de l’empreinte carbone. Nous permettons à tous d’accéder à une nouvelle manière innovante de consommer l’électricité, il est indispensable d’innover dans ce domaine afin de préserver l’environnement.

Notre équipe

-

Notre équipe est constituée tout d'abord des trois fondateurs, Lyanis Souidi, Tom Moguljak et Romain Journeau, et d'une autre part d'ingénieurs spécialisés dans les cellules photovoltaïque. Pour les futurs candidats, nous veillerons à ce que ces derniers adhèrent à notre culture d’entreprise, les candidats devront notamment être engagés dans la protection de l’environnement, l’une des valeurs fondamentales de notre projet. Le niveau d’expertise des candidats sera également un point important pour nos recrutements étant donné que nous proposons une technologie très innovante.

+

Notre équipe est constituée tout d'abord des trois fondateurs, Lyanis Souidi, Tom Moguljak et Romain Journeau, et d'une autre part d'ingénieurs spécialisés dans les cellules photovoltaïque. Pour les futurs candidats, nous veillerons à ce que ces derniers adhèrent à notre culture d’entreprise, les candidats devront notamment être engagés dans la protection de l’environnement, l’une des valeurs fondamentales de notre projet. Le niveau d’expertise des candidats sera également un point important pour nos recrutements étant donné que nous proposons une technologie très innovante.

+ + diff --git a/assets/css/blog.css b/assets/css/blog.css new file mode 100644 index 0000000..dbea135 --- /dev/null +++ b/assets/css/blog.css @@ -0,0 +1,3 @@ +#articles li { + margin-bottom: 15px; +} \ No newline at end of file diff --git a/assets/css/footer.css b/assets/css/footer.css index 3bddcdb..e8ce5fe 100644 --- a/assets/css/footer.css +++ b/assets/css/footer.css @@ -1,100 +1,32 @@ footer { - background: var(--c-bg-footer); - color: var(--c-footer-text); - display: grid; - align-items: center; -} - -footer div p { - font-size: 25pt; - text-align: center; -} - -#social ul { - display: inline-block; -} - -#social li { - display: inline; -} - -#copyright { - text-align: center; - padding-top: 25px; - padding-bottom: 25px; - height: 100%; + padding-top: 1rem; + padding-bottom: 1rem; background-color: #21262d; - margin: 0; + color: #ddd; } - -#social, #sitemap, #contact { - height: max-content; -} - -footer a { - color: var(--c-footer-text); - text-decoration: none; -} - -#contact a:hover, #sitemap a:hover { - text-decoration: underline; -} - -#social ul { +footer div.content { display: flex; - justify-content: center; - padding: 0; + align-items: center; + justify-content: space-between; + max-width: 1280px; + margin-right: auto; + margin-left: auto; + padding-right: 1rem; + padding-left: 1rem; } -#social li { - padding: 20px; +footer div.text { + display: flex; + gap: 1.5rem; + font-size: 14px; } -#sitemap ul { - list-style: none; +footer div.text a { + color: #ddd; } -#sitemap li, #contact li { - padding-bottom: 15px; -} - -footer ul { - font-weight: 600; -} - -#contact ul { - list-style: none; - text-align: center; - padding: 0; -} - -#contact a[href^="tel:"]::before { - content: "☎️ "; -} - -#contact a[href^="mailto:"]::before { - content: "✉️ "; -} - -@media screen and (min-width: 800px) { - footer { - grid-template-columns: 1fr 1fr 1fr; - grid-template-rows: 85% 15%; - } - - #social, #sitemap, #contact { - grid-row: 1; - } - - #copyright { - grid-column: 1/4; - grid-row: 2; - } -} - -@media screen and (max-width: 800px) { - footer { - grid-template-columns: 100%; - grid-auto-rows: auto; - } +footer div.social { + display: flex; + gap: 1rem; + align-items: center; } \ No newline at end of file diff --git a/assets/css/header.css b/assets/css/header.css index 9634419..2e37cae 100644 --- a/assets/css/header.css +++ b/assets/css/header.css @@ -5,6 +5,33 @@ header { min-height: 100px; } +header div { + max-width: 1280px; + margin-right: auto; + margin-left: auto; + padding-right: 1rem; + padding-left: 1rem; +} + +header #logo { + filter: invert(100%); + float: left; +} + +@media (prefers-color-scheme: light) { + header { + background-color: #edecec; + } + + #burger-menu { + filter: none; + } + + header #logo { + filter: none; + } +} + header h1 { float: left; font-size: 25px; @@ -35,6 +62,7 @@ header h1 { #burger-menu { transform: translateY(25%); + filter: invert(100%); } @media screen and (min-width: 700px) { diff --git a/assets/css/home.css b/assets/css/home.css index 5fec2a3..7dc4d81 100644 --- a/assets/css/home.css +++ b/assets/css/home.css @@ -22,9 +22,9 @@ display: inline; max-width: 1280px; margin-left: auto; margin-right: auto; - } + } - p { + main p { padding-left: 5%; padding-right: 5%; padding-bottom: 2%; diff --git a/assets/css/style.css b/assets/css/style.css index d61971f..d5dca32 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -99,4 +99,35 @@ main a:hover::after { .right, .left { grid-column: 1; } +} + +#backToTop { + display: none; + position: fixed; + bottom: 55px; + right: 55px; + z-index: 99; + font-size: 18px; + border: none; + outline: none; + background-color: #00A6ED; + padding: 15px; + border-radius: 4px; +} + +#backToTop:hover { + background-color: #555; +} + +nav.crumbs { + border-bottom: 1px solid var(--c-b-primary); +} + +.crumbs ol { + list-style-type: none; + padding-left: 0; +} + +.crumb { + display: inline-block; } \ No newline at end of file diff --git a/assets/css/team.css b/assets/css/team.css new file mode 100644 index 0000000..10d4f59 --- /dev/null +++ b/assets/css/team.css @@ -0,0 +1,81 @@ +@media screen and (min-width: 700px) { + #team { + display: grid; + grid-template-columns: repeat(3, 1fr); + } + + main p#join, #team { + text-align: center; + } +} + +@media screen and (min-width: 850px) { + #cv { + display: grid; + grid-template-columns: 1fr 2fr; + gap: 25px; + } + + #skill { + display: grid; + grid-template-columns: repeat(2, 1fr); + } + + #skill h2 { + grid-column: 1/3; + } +} + +ul#social { + display: inline-block; + display: flex; + padding: 0; + list-style: none; +} + +ul#social li { + display: inline; + padding: 10px; +} + +img[alt="github"] { + filter: invert(100%); +} + +@media (prefers-color-scheme: light) { + img[alt="github"] { + filter: none; + } +} + +@media print { + * { + background-color: transparent !important; + color: black !important; + box-shadow: none !important; + text-shadow: none !important; + } + + header, footer { + display: none; + } + + #cv { + display: grid; + grid-template-columns: 1fr 2fr; + gap: 25px; + } + + #skill { + display: grid; + grid-template-columns: repeat(2, 1fr); + } + + #skill h2 { + grid-column: 1/3; + } +} + +#articles li { + margin-bottom: 15px; +} \ No newline at end of file diff --git a/assets/img/favicon_dark.ico b/assets/img/favicon_dark.ico new file mode 100644 index 0000000000000000000000000000000000000000..5641ad1f4759c79e5f98b233f2287fcfd62aec89 GIT binary patch literal 225462 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 literal 0 HcmV?d00001 diff --git a/assets/img/favicon_light.ico b/assets/img/favicon_light.ico new file mode 100644 index 0000000000000000000000000000000000000000..f215681d499ea407b03d47bd4323693e017e53f2 GIT binary patch literal 225462 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 \ No newline at end of file diff --git a/assets/img/logo_blanc2.png b/assets/img/logo_blanc2.png index 4ed1582b616efae719567aad7267432631d77f73..d625cd10e89eaba448dc37fdcf91f6c110c392c1 100644 GIT binary patch delta 7688 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 diff --git a/assets/img/logo_noir2.png b/assets/img/logo_noir2.png index 6c324251fe8af8d55f5be5038334a3a86de48888..6b9e3b7de9f5dfd6009445059ed0e26d0a0ec2ed 100644 GIT binary patch delta 3243 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 20 || document.documentElement.scrollTop > 20) { + backToTop.style.display = "block"; + } else { + backToTop.style.display = "none"; + } +} + +function topFunction() { + document.body.scrollTop = 0; + document.documentElement.scrollTop = 0; +} \ No newline at end of file diff --git a/blog/.htaccess b/blog/.htaccess new file mode 100644 index 0000000..3adb3f4 --- /dev/null +++ b/blog/.htaccess @@ -0,0 +1 @@ +FallbackResource index.php \ No newline at end of file diff --git a/blog/index.php b/blog/index.php new file mode 100644 index 0000000..cdcd924 --- /dev/null +++ b/blog/index.php @@ -0,0 +1,171 @@ +query('SELECT article.title, article.created_at, article.slug, article.excerpt, employee.name AS author, employee.slug AS authorUrl FROM article JOIN employee ON article.author=employee.id ORDER BY created_at DESC;') as $row) { + $articles[] = $row; + } + } else { + $mode = "view"; + $sth = $dbh->prepare("SELECT article.title, article.created_at, article.modified_at, article.slug, article.content, article.excerpt, employee.name AS author, employee.slug AS authorUrl FROM article JOIN employee ON article.author=employee.id AND article.slug = ?;"); + $sth->execute([end($url)]); + $article = $sth->fetch(PDO::FETCH_ASSOC); + + if (empty($article)) { + http_response_code(404); + $error = "notfound"; + } + + $sth = null; + } + + $dbh = null; +} catch (PDOException $e) { + http_response_code(503); + $error = "db"; + die($e->getMessage()); +} +?> + + + + + + + + + Blog - Elite Solar'; + echo ''; + echo ''; + echo ''; + echo ''; + } + elseif ($mode == 'view') { + echo '' . $article['title'] . ' - Elite Solar'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + } + ?> + + + + + + + + + +
+
+ + Menu + +
+
+
+ +
    +
  1. Accueil
  2. > +
  3. Blog
  4. +
+ +

Une erreur est survenue lors du chargement de la page.

'; +} elseif ($error == "notfound") { + echo '' . + "

Article introuvable

+

L'article que vous cherchez à atteindre ne peut pas être trouvée. + Il est possible qu'il ait été supprimé ou déplacé. Si vous avez saisi manuellement son adresse, + veuillez vérifier une éventuelle erreur de saisie.


+

Retour à la page d'accueil

"; +} else { + if ($mode == 'list') { + echo '' . + "

Blog


"; + echo ''; + } elseif ($mode == 'view') { + $date = new DateTime($article['created_at']); + echo '' . + "

" . $article["title"] . "


+

Publié le " . $date->format('d/m/Y') . " par " . $article["author"] . "


+

" . $article["content"] . "

"; + } +} +?> +
+ + + + + \ No newline at end of file diff --git a/contact/index.php b/contact/index.php index b280053..a24cd48 100644 --- a/contact/index.php +++ b/contact/index.php @@ -119,7 +119,15 @@ function select_profile() : string { + + Contact - Elite Solar + + + + + + @@ -128,52 +136,49 @@ function select_profile() : string {
-

Elite Solar

- Menu - +
+ + Menu + +
+ +

Nous contacter

+ + diff --git a/faq/index.php b/faq/index.php index d524adf..ef6653e 100644 --- a/faq/index.php +++ b/faq/index.php @@ -3,7 +3,15 @@ + + FAQ - Elite Solar + + + + + + @@ -12,17 +20,28 @@
-

Elite Solar

- Menu - +
+ + Menu + +
+ +

FAQ

Voici les questions fréquentes de nos clients :

@@ -51,36 +70,22 @@
+ + diff --git a/index.php b/index.php index 3281d1a..ff73553 100644 --- a/index.php +++ b/index.php @@ -3,24 +3,36 @@ + + Elite Solar + + + + + + - +
-

Elite Solar

- Menu - +
+ + Menu + +

Bienvenue chez Elite Solar !


@@ -80,36 +92,22 @@

Nous sommes impatients de vous aider à profiter de notre technologie innovante et de vous offrir un service de qualité. N'hésitez pas à nous contacter pour en savoir plus sur notre produit et comment il peut vous aider.

+ + + \ No newline at end of file diff --git a/legal/index.php b/legal/index.php new file mode 100644 index 0000000..1926877 --- /dev/null +++ b/legal/index.php @@ -0,0 +1,123 @@ + + + + + + + + Mentions légales - Elite Solar + + + + + + + + + + + + +
+
+ + Menu + +
+
+
+ +

Mentions légales

+ +

+ Conformément aux dispositions des Articles 6-III et 19 de la Loi n°2004-575 du 21 juin 2004 pour la Confiance + dans l’économie numérique, dite L.C.E.N., il est porté à la connaissance des utilisateurs et visiteurs, + ci-après l""Utilisateur", du site Elite Solar, ci-après le "Site", les présentes mentions légales. +

+ +

+ La connexion et la navigation sur le site par l’Utilisateur implique acceptation intégrale et sans réserve des + présentes mentions légales. +

+ +

+ Ces dernières sont accessibles sur le Site à la rubrique « Mentions légales ». +

+ + +

ARTICLE 1 - L'EDITEUR

+ +

+ L'édition du Site est assurée par Elite Solar dont le siège social est situé Route forestière Hurtault, + 77300 Fontainebleau.
+ Numéro de téléphone : +33 1 60 74 68 00
+ Adresse e-mail : elitesolar.contact77@gmail.com
+ Le Directeur de la publication est Souidi Lyanis ci-après l'"Editeur". +

+ +

ARTICLE 2 - L'HEBERGEUR

+ +

+ L'hébergeur du Site est l'IUT de Fontainebleau, dont le siège social est situé au Route forestière Hurtault, + 77300 Fontainebleau.
+ Numéro de téléphone : +33 1 60 74 68 00 +

+ +

ARTICLE 3 - ACCES AU SITE

+ +

+ Le Site est accessible en tout endroit, 7j/7, 24h/24 sauf cas de force majeure, interruption programmée ou + non et pouvant découlant d’une nécessité de maintenance. +

+ +

+ En cas de modification, interruption ou suspension du Site, l'Editeur ne saurait être tenu responsable. +

+ +

ARTICLE 4 - COLLECTE DES DONNEES

+ +

+ Le site est exempté de déclaration à la Commission Nationale Informatique et Libertés (CNIL) dans la mesure + où il ne collecte aucune donnée concernant les utilisateurs. +

+ +

+ Toute utilisation, reproduction, diffusion, commercialisation, modification de toute ou partie du Site, + sans autorisation de l’Editeur est prohibée et pourra entraînée des actions et poursuites judiciaires + telles que notamment prévues par le Code de la propriété intellectuelle et le Code civil. +

+ +

NOTE : Elite Solar est une entreprise fictive crée dans le cadre d'un projet lors de notre formation à l'IUT de Fontainebleau.

+
+ + + + + diff --git a/product/index.php b/product/index.php index 0193695..fc4944c 100644 --- a/product/index.php +++ b/product/index.php @@ -3,7 +3,15 @@ + + Produit - Elite Solar + + + + + + @@ -12,17 +20,28 @@
-

Elite Solar

- Menu - +
+ + Menu + +
+ +

Notre produit


@@ -48,36 +67,22 @@
+ + + \ No newline at end of file diff --git a/sitemap/index.php b/sitemap/index.php new file mode 100644 index 0000000..620eec3 --- /dev/null +++ b/sitemap/index.php @@ -0,0 +1,92 @@ + + + + + + + + Plan du site - Elite Solar + + + + + + + + + + + + +
+
+ + Menu + +
+
+
+ + +

Plan du site

+ +
+ + + + + \ No newline at end of file diff --git a/team/.htaccess b/team/.htaccess new file mode 100644 index 0000000..3adb3f4 --- /dev/null +++ b/team/.htaccess @@ -0,0 +1 @@ +FallbackResource index.php \ No newline at end of file diff --git a/team/index.php b/team/index.php new file mode 100644 index 0000000..3b32d32 --- /dev/null +++ b/team/index.php @@ -0,0 +1,329 @@ +diff($date); + return $interval->y; +} + +try { + $error = false; + $dbh = new PDO('mysql:host=saeweb2022.souidi.fr;dbname=saeweb2022', "saeweb2022"); + + $url = parse_url($_SERVER["REQUEST_URI"])["path"]; + + if (str_ends_with($url, "/")) { + $url = substr($url, 0, -1); + } + + $url = explode("/", $url); + + if (end($url) == "team") { + $mode = "list"; + $employees = array(); + + foreach($dbh->query('SELECT name, jobTitle, slug FROM employee;') as $row) { + $employees[] = $row; + } + } else { + $mode = "view"; + $sth = $dbh->prepare("SELECT name, jobTitle, birthdate, email FROM employee WHERE employee.slug = ?;"); + $sth->execute([end($url)]); + $employee = $sth->fetch(PDO::FETCH_ASSOC); + + if (empty($employee)) { + http_response_code(404); + $error = "notfound"; + } + + if (isset($_GET["articles"])) { + $mode = "articles"; + $sth = $dbh->prepare("SELECT article.title, article.slug, article.created_at, article.excerpt FROM article JOIN employee ON article.author=employee.id WHERE employee.slug = ? ORDER BY article.created_at DESC;"); + $sth->execute([end($url)]); + $employee["articles"] = $sth->fetchAll(PDO::FETCH_ASSOC); + } else { + $employee['age'] = age($employee['birthdate']); + $sth = $dbh->prepare("SELECT social.name, social.url FROM employee_social social JOIN employee ON social.employeeId=employee.id WHERE employee.slug = ?;"); + $sth->execute([end($url)]); + $employee["socials"] = $sth->fetchAll(PDO::FETCH_ASSOC); + + $employee['cv'] = array('formation' => array(), 'work' => array(), 'language' => array(), 'skill' => array(), 'project' => array()); + if (isset($_GET["cv"])) { + $mode = "cv"; + $sth = $dbh->prepare("SELECT cv.type, cv.title, cv.description, cv.link FROM cv JOIN employee ON cv.employeeId=employee.id WHERE employee.slug = ? ORDER BY cv.priority;"); + $sth->execute([end($url)]); + foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $e) { + if ($e['type'] == "skill") { + $employee['cv'][$e['type']][$e['title']][] = $e['description']; + } else { + $employee['cv'][$e['type']][] = array( + 'title' => $e['title'], + 'description' => $e['description'], + 'link' => $e['link'] + ); + } + } + } else { + $sth = $dbh->prepare("SELECT article.title, article.slug, article.created_at, article.excerpt FROM article JOIN employee ON article.author=employee.id WHERE employee.slug = ? ORDER BY article.created_at DESC LIMIT 2;"); + $sth->execute([end($url)]); + $employee["articles"] = $sth->fetchAll(PDO::FETCH_ASSOC); + + $sth = $dbh->prepare("SELECT cv.title, cv.description, cv.link FROM cv JOIN employee ON cv.employeeId=employee.id WHERE employee.slug = ? AND cv.type = 'formation' ORDER BY cv.priority LIMIT 1;"); + $sth->execute([end($url)]); + foreach ($sth->fetchAll(PDO::FETCH_ASSOC) as $e) { + $employee['cv']['formation'][] = array( + 'title' => $e['title'], + 'description' => $e['description'], + 'link' => $e['link'] + ); + } + } + } + + $sth = null; + } + + $dbh = null; +} catch (PDOException) { + http_response_code(503); + $error = "db"; +} +?> + + + + + + + + + Équipe - Elite Solar'; + echo ''; + echo ''; + echo ''; + } elseif ($mode == 'view') { + echo ''. $employee['name'] .' - Elite Solar'; + echo ''; + echo ''; + echo ''; + } elseif ($mode == 'articles') { + echo 'Articles de '. $employee['name'] .' - Elite Solar'; + echo ''; + echo ''; + echo ''; + } elseif ($mode == 'cv') { + echo 'CV de ' . $employee['name']; + echo 'CV de '. $employee['name'] .' - Elite Solar'; + echo ''; + echo ''; + echo ''; + } + ?> + + + + + + + + + + +
+
+ + Menu + +
+
+
+ +
    +
  1. Accueil
  2. > +
  3. Équipe
  4. +
+ +

Une erreur est survenue lors du chargement de la page.

'; + } elseif ($error == "notfound") { + echo '' . + "

Page introuvable

+

La page que vous cherchez à atteindre ne peut pas être trouvée. + Il est possible qu'elle ait été supprimée ou déplacée. Si vous avez saisi manuellement son adresse, + veuillez vérifier une éventuelle erreur de saisie.


+

Retour à la page d'accueil

"; + } else { + if ($mode == 'list') { + echo '' . + "

Notre équipe


"; + foreach ($employees as $employee) { + echo '
+

' . $employee['name'] . '

+

' . $employee['jobTitle'] . '

+
'; + } + echo "
"; + echo"

Vous souhaitez rejoindre notre équipe ? Contactez-nous par mail à l'adresse suivante : elitesolar.contact77@gmail.com

"; + } elseif ($mode == 'view') { + echo '' . + "

" . $employee["name"] . "

"; + echo "

" . $employee["age"] . " ans | " . $employee["jobTitle"] . "

"; + + echo '
    '; + foreach ($employee["socials"] as $social) { + echo '
  • ' . $social[
  • '; + } + echo '
'; + + echo "

Articles récents (Voir tout)

"; + if (empty($employee["articles"])) echo '

Aucun article.

'; + echo '
    '; + foreach ($employee["articles"] as $article) { + $date = new DateTime($article['created_at']); + echo '
  • ' . $article["title"] . '
    + Date : ' . $date->format('d/m/Y') . '
    + Extrait : ' . $article["excerpt"] . '
  • '; + } + echo '
'; + + echo '

Formation (Voir le CV)

'; + if (empty($employee["cv"]["formation"])) echo '

Aucune formation enregistrée.

'; + foreach ($employee["cv"]["formation"] as $formation) { + echo '' . $formation["title"] . '
  • ' . $formation["description"] . '
'; + } + echo '
'; + } elseif ($mode == "cv") { + echo '' . + "

CV de " . $employee["name"] . "

"; + echo "
"; + + echo "

Informations

" . + "
    +
  • Âge : " . $employee["age"] . "
  • +
  • Adresse électronique : " . $employee["email"] . "
  • "; + foreach ($employee["socials"] as $social) { + if ($social["name"] == "linkedin" || $social["name"] == "github") { + echo "
  • " . $social["url"] . "
  • "; + } + } + echo "
"; + + echo '

Formation

'; + if (empty($employee["cv"]["formation"])) echo '

Aucune formation enregistrée.

'; + foreach ($employee["cv"]["formation"] as $formation) { + echo '' . $formation["title"] . '
  • ' . $formation["description"] . '
'; + } + echo '
'; + + echo '

Expérience

'; + if (empty($employee["cv"]["work"])) echo '

Aucune expérience enregistrée.

'; + foreach ($employee["cv"]["work"] as $work) { + echo '' . $work["title"] . '
  • ' . $work["description"] . '
'; + } + echo '
'; + + echo '

Langues

'; + if (empty($employee["cv"]["language"])) echo '

Aucune langue enregistrée.

'; + echo '
    '; + foreach ($employee["cv"]["language"] as $language) { + echo '
  • ' . $language["title"] . ' : ' . $language["description"] . '
  • '; + } + echo '
'; + + echo '

Compétences

'; + if (empty($employee["cv"]["skill"])) echo '

Aucune compétence enregistrée.

'; + while ($skill = current($employee["cv"]["skill"])) { + echo '
' . key($employee["cv"]["skill"]) . '
  • '; + echo implode('
  • ', $skill); + echo '
'; + next($employee["cv"]["skill"]); + } + echo '
'; + + echo '

Projets

'; + if (empty($employee["cv"]["project"])) echo '

Aucun projet enregistré.

'; + foreach ($employee["cv"]["project"] as $project) { + if (empty($project["link"])) { + echo '' . $project["title"] . '
  • ' . $project["description"] . '
'; + } else { + echo '' . $project["title"] . '
  • ' . $project["description"] . '
'; + } + } + echo '
'; + } elseif ($mode == 'articles') { + echo '' . + "

Articles publiés par " . $employee["name"] . "

"; + if (empty($employee["articles"])) echo '

Aucun article.

'; + echo '
    '; + foreach ($employee["articles"] as $article) { + $date = new DateTime($article['created_at']); + echo '
  • ' . $article["title"] . '
    + Date : ' . $date->format('d/m/Y') . '
    + Extrait : ' . $article["excerpt"] . '
  • '; + } + echo '
'; + } + } + ?> +
+ + + + + \ No newline at end of file