generated from Templates_CodeFirst/templateHtmlCss
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
145 lines
6.3 KiB
145 lines
6.3 KiB
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Projets</title>
|
|
<link rel="stylesheet" href="site.css">
|
|
</head>
|
|
<body>
|
|
<header class="bandeau">
|
|
<div class="photo_titre_bandeau">
|
|
<img src="image/user_arpoulain.jpeg" alt="photo" class="image_accueil">
|
|
<h1 style="margin-left: 10px; margin-top: 40px; margin-right : 10px; text-decoration: underline;">
|
|
<a href="index.html">Poulain <br> Arsène </a>
|
|
</h1>
|
|
</div>
|
|
<nav id="bouttons_liens_nav">
|
|
<a href="Projets.html" >
|
|
<div class="bouttons_liens"> <strong>Projets</strong>
|
|
</div>
|
|
</a>
|
|
<a href="Apropos.html" >
|
|
<div class="bouttons_liens"><strong>A propos</strong>
|
|
</div>
|
|
</a>
|
|
<a href="Competences.html">
|
|
<div class="bouttons_liens"><strong>Compétences</strong>
|
|
</div>
|
|
</a>
|
|
<a href="contact.html">
|
|
<div class="bouttons_liens"><strong>Contact</strong>
|
|
</div>
|
|
</a>
|
|
</nav>
|
|
</header>
|
|
|
|
<div class="background"></div>
|
|
|
|
<section class="container">
|
|
<h1 style="text-align: center;">Mes Projets</h1>
|
|
<br>
|
|
<!-- Projets personnels -->
|
|
<h2 class="section-title">Personnels</h2>
|
|
<div class="projects-grid">
|
|
<div class="project-card">
|
|
|
|
<button class="close-btn" style="display:none;" aria-label="Fermer">×</button>
|
|
<h3><span style="color:red;">We</span>Tube</h3>
|
|
<p>Appuyer pour en savoir plus</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Projets universitaires -->
|
|
<h2 class="section-title">Universitaires</h2>
|
|
<div class="projects-grid">
|
|
<div class="project-card">
|
|
<button class="close-btn" style="display:none;" aria-label="Fermer">×</button>
|
|
<h3>Projet 1</h3>
|
|
<p>Appuyer pour en savoir plus</p>
|
|
</div>
|
|
<div class="project-card">
|
|
<button class="close-btn" style="display:none;" aria-label="Fermer">×</button>
|
|
<h3>Projet 2</h3>
|
|
<p>Appuyer pour en savoir plus</p>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<footer class="basPage">
|
|
<p>© 2025 Poulain Arsène. Tous droits réservés.</p>
|
|
</footer>
|
|
|
|
<script>
|
|
// Texte par défaut et texte détaillé pour chaque projet
|
|
const details = {
|
|
"WeTube": "<strong>WeTube</strong> est un projet personnel que j'ai commencé lors de mon année de Terminale. " +
|
|
"Il s'agit d'une plateforme de partage de vidéos, inspirée de YouTube et d'Instagram.<br><br>" +
|
|
"J'ai eu l'idée de développer ce projet principalement pour apprendre et perfectionner mes compétences " +
|
|
"en développement web, notamment en HTML, CSS et PHP. Je gère également la base de données locale du site.<br><br>" +
|
|
"Le site n'est pas encore terminé : certaines fonctionnalités manquent et, comme j'ai commencé ce projet au lycée, " +
|
|
"je n'ai pas pu récupérer toutes les données. De plus, avec mes études, j'ai mis ce projet de côté pour le moment.<br><br>" +
|
|
"<em>Il devrait bientôt être disponible sur mon <u><a href='https://github.com/ArsenePoulain' target='_blank'>GitHub</a></u>.</em>",
|
|
|
|
"Projet 1": "Projet universitaire 1 : <strong>description détaillée ici</strong>.<br><ul><li>Point 1</li><li>Point 2</li></ul>",
|
|
|
|
"Projet 2": "Projet universitaire 2 : description détaillée ici.<br><img src='image/exemple.png' alt='exemple' style='max-width:100px;'>"
|
|
};
|
|
|
|
document.querySelectorAll('.project-card').forEach(card => {
|
|
const closeBtn = card.querySelector('.close-btn');
|
|
// Fermer la carte avec la croix
|
|
closeBtn.addEventListener('click', (e) => {
|
|
e.stopPropagation();
|
|
card.classList.remove('expanded');
|
|
card.querySelector('p').textContent = "Appuyer pour en savoir plus";
|
|
closeBtn.style.display = 'none';
|
|
// Réaffiche toutes les cartes
|
|
document.querySelectorAll('.project-card').forEach(c => c.style.visibility = 'visible');
|
|
});
|
|
|
|
card.addEventListener('click', (e) => {
|
|
// Si on clique sur la croix, ne rien faire ici
|
|
if (e.target.classList.contains('close-btn')) return;
|
|
|
|
// Retire 'expanded' de toutes les cartes sauf celle cliquée
|
|
document.querySelectorAll('.project-card.expanded').forEach(expandedCard => {
|
|
if (expandedCard !== card) {
|
|
expandedCard.classList.remove('expanded');
|
|
const p = expandedCard.querySelector('p');
|
|
p.textContent = "Appuyer pour en savoir plus";
|
|
const btn = expandedCard.querySelector('.close-btn');
|
|
btn.style.display = 'none';
|
|
}
|
|
});
|
|
|
|
// Bascule 'expanded' sur la carte cliquée
|
|
card.classList.toggle('expanded');
|
|
const h3 = card.querySelector('h3');
|
|
const p = card.querySelector('p');
|
|
if (card.classList.contains('expanded')) {
|
|
// Met le texte détaillé
|
|
if (details[h3.textContent]) {
|
|
p.innerHTML = details[h3.textContent];
|
|
} else {
|
|
p.textContent = "Description détaillée du projet.";
|
|
}
|
|
closeBtn.style.display = 'block';
|
|
// Masque les autres cartes
|
|
document.querySelectorAll('.project-card').forEach(otherCard => {
|
|
if (otherCard !== card) {
|
|
otherCard.style.visibility = 'hidden';
|
|
}
|
|
});
|
|
} else {
|
|
// Remet le texte par défaut
|
|
p.textContent = "Appuyer pour en savoir plus";
|
|
closeBtn.style.display = 'none';
|
|
// Réaffiche toutes les cartes
|
|
document.querySelectorAll('.project-card').forEach(c => c.style.visibility = 'visible');
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html> |