Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (3.5%) to scientific vocabulary
Repository
https://portfolio-nacime.alwaysdata.net
Basic Info
- Host: GitHub
- Owner: Killua78
- Language: PHP
- Default Branch: main
- Homepage: https://portfolio-killua78s-projects.vercel.app
- Size: 478 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
🎯 Portfolio - Nacime Boubekeur
Bienvenue sur le dépôt GitHub de mon portfolio personnel !
Ce site vitrine me permet de centraliser mes projets, de me présenter, et de partager ma passion pour le développement web.
🌐 Consulter le portfolio en ligne
🧑💻 À propos de moi
Je m'appelle Nacime Boubekeur, développeur web passionné et en constante évolution.
Actuellement à la recherche d'une alternance en développement web (niveau Bac +2), je mets en œuvre mes compétences en HTML, CSS, JavaScript et PHP pour créer des projets fonctionnels, lisibles et pensés pour les utilisateurs.
🛠️ Technologies utilisées
- Front-end : HTML5, CSS3, JavaScript, CSS
- Back-end : PHP, MySQL
- Outils : Git & GitHub, Visual Studio Code
- En cours d'apprentissage : Programmation orientée objet
📂 Arborescence du projet
├── .vscode/ # Configuration de l'environnement
├── citations/
├── img/ # Ressources graphiques (projets, CV, etc.)
├── morpio/
├── morse/
├── phpmailer/ # Librairie pour l'envoi d'emails (formulaire de contact)
├── tableau/
├── todolist/
├── contact.php # Page de contact avec traitement PHP
├── index.html # Page d'accueil
├── script.js # Comportements JS
└── style.css # Feuille de style principale
🚀 Fonctionnalités principales
- 🎯 Morpion JS : jeu à 2 joueurs, implémenté sans IA
- ✅ To-Do List : mini gestionnaire tâches en JavaScript
- ✉️ Formulaire de contact avec envoi d’email via PHPMailer
- 🔤 Morse : Convertisseur texte → morse en PHP
- 📃 Tableau : système Mini-CRUD en PHP
- 📜 Générateur de citations dynamiques
- ⚙️ Portfolio interactif et responsive
🔧 Technologies utilisées
- Front-end : HTML5, CSS3, JavaScript
- Back-end : PHP (CRUD, traitement de formulaires)
- Email : PHPMailer
- Design : CSS natif
- Outils : Git, GitHub, VS Code
🎓 Objectif
Ce portfolio me permet de :
- Présenter mes compétences techniques à travers des projets concrets
- Démontrer ma capacité à développer en full-stack léger
- Servir de support à mes candidatures pour une alternance en développement web
📬 Me contacter
- 📧 Email : nacimeboubekeur@gmail.com
- 📱 Téléphone : 06 38 92 00 06
- 🧠 LinkedIn : linkedin.com/in/nacimeboubekeur
- 💻 Portfolio : portfolio-nacime.alwaysdata.net
- 🐙 GitHub : github.com/Killua78
📝 Remarques
Ce projet est évolutif : je continue d’ajouter de nouvelles fonctionnalités et d’améliorer le design.
Tout retour est le bienvenu !
Merci pour votre visite 🙏
Nacime Boubekeur
Owner
- Name: Nacime
- Login: Killua78
- Kind: user
- Website: https://portfolio-nacime.alwaysdata.net
- Repositories: 1
- Profile: https://github.com/Killua78
De projets en projets pour pouvoir enfin débuter une alternance et décrocher un diplôme
Citation (citations/index.html)
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Générateur de citations</title>
<style>
body {
background-color: #fff;
font-family: Arial, sans-serif;
margin: 0;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
padding: 1em;
}
#container {
position: relative;
background-color: #f9f9f9;
border: 1.8px solid #ccc;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 420px;
height: 320px; /* hauteur fixe ou max */
padding: 2em 3em 5em; /* on laisse de la place pour le bouton */
box-sizing: border-box;
overflow: hidden;
}
#quote {
font-size: 1.6em;
color: #333;
transition: opacity 0.5s;
line-height: 1.4;
text-align: center;
display: flex;
justify-content: center;
align-items: flex-start;
height: 100%;
overflow-y: auto;
}
.btn-container {
position: absolute;
bottom: 1.4em;
left: 0;
right: 0;
display: flex;
justify-content: center;
}
button {
padding: 0.6em 1.4em;
font-size: 1.1em;
border: 1.5px solid #333;
background-color: white;
color: #333;
border-radius: 6px;
cursor: pointer;
transition: background-color 0.3s, color 0.3s;
min-width: 160px;
user-select: none;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
button:hover,
button:focus {
background-color: #333;
color: white;
outline: none;
}
#btn-desktop {
display: inline-block;
}
#btn-mobile {
display: none;
}
@media (max-width: 600px) {
#btn-desktop {
display: none;
}
#btn-mobile {
display: inline-block;
}
}
</style>
</head>
<body>
<div id="container">
<div id="quote">Cliquez sur le bouton pour une citation !</div>
<div class="btn-container">
<button id="btn-desktop" onclick="newQuote()">Nouvelle citation</button>
<button id="btn-mobile" onclick="newQuote()">Tapote-moi</button>
</div>
</div>
<script>
const quotes = [
"Le succès est la somme de petits efforts répétés jour après jour.",
"N’attendez pas. Le temps ne sera jamais juste.",
"Croyez en vous et tout devient possible.",
"Chaque jour est une nouvelle chance de réussir.",
"« Ne rêve pas ta vie, vis ton rêve. »",
"« La seule limite à notre épanouissement de demain, ce sont nos doutes et hésitations d’aujourd’hui. »",
"« Ce n’est pas la force, mais la persévérance qui fait les grandes œuvres. »",
"« Le courage ne rugit pas toujours. Parfois, il est une petite voix qui dit : ‘Je recommencerai demain.’ »",
"« L’échec est seulement l’opportunité de recommencer de manière plus intelligente. »",
"« Le seul endroit où le succès vient avant le travail, c’est dans le dictionnaire. »",
"« Votre avenir est créé par ce que vous faites aujourd’hui, pas demain. »",
];
function newQuote() {
const quoteEl = document.getElementById("quote");
quoteEl.style.opacity = 0;
setTimeout(() => {
quoteEl.textContent =
quotes[Math.floor(Math.random() * quotes.length)];
quoteEl.style.opacity = 1;
}, 500);
}
</script>
</body>
</html>
GitHub Events
Total
- Push event: 10
- Public event: 1
Last Year
- Push event: 10
- Public event: 1