Merci de votre intérêt pour contribuer à ArtéNova Shop !
- Code de conduite
- Comment contribuer
- Signaler un bug
- Proposer une fonctionnalité
- Process de Pull Request
- Style de code
- Structure des commits
En participant à ce projet, vous acceptez de respecter notre code de conduite. Soyez respectueux, inclusif et professionnel dans toutes vos interactions.
Il existe plusieurs façons de contribuer au projet :
- Signaler des bugs - Si vous trouvez un bug, créez une issue
- Proposer des fonctionnalités - Vous avez une idée ? Partagez-la !
- Améliorer la documentation - Corrections, clarifications, traductions
- Soumettre du code - Corrections de bugs, nouvelles fonctionnalités
- Réviser les Pull Requests - Aidez à examiner les contributions des autres
Avant de créer une issue :
- Vérifiez que le bug n'a pas déjà été signalé
- Utilisez la dernière version du code
- Collectez les informations suivantes :
- Description claire du problème
- Étapes pour reproduire le bug
- Comportement attendu vs comportement observé
- Captures d'écran si pertinent
- Environnement (navigateur, OS, version)
**Description du bug**
Une description claire du problème.
**Reproduction**
Étapes pour reproduire :
1. Aller sur '...'
2. Cliquer sur '...'
3. Descendre jusqu'à '...'
4. Voir l'erreur
**Comportement attendu**
Description de ce qui devrait se passer.
**Captures d'écran**
Si applicable, ajoutez des captures d'écran.
**Environnement**
- Navigateur: [ex. Chrome 120]
- OS: [ex. Windows 11]
- Version du projet: [ex. 1.0.0]
**Informations supplémentaires**
Tout autre contexte utile.Avant de proposer une nouvelle fonctionnalité :
- Vérifiez qu'elle n'a pas déjà été proposée
- Réfléchissez à son utilité pour le projet
- Préparez une description détaillée
**Problème à résoudre**
Description du problème que cette fonctionnalité résoudrait.
**Solution proposée**
Description claire de la fonctionnalité.
**Alternatives envisagées**
Autres solutions que vous avez considérées.
**Contexte supplémentaire**
Captures d'écran, exemples, références, etc.# Forker le repository sur GitHub puis :
git clone https://github.com/votre-username/artenova-shop.git
cd artenova-shop# Créez une branche descriptive
git checkout -b feature/nom-de-la-fonctionnalité
# ou
git checkout -b fix/nom-du-bug- Écrivez du code propre et commenté
- Testez vos modifications dans plusieurs navigateurs
- Vérifiez le responsive design
- Assurez-vous qu'il n'y a pas d'erreurs dans la console
git add .
git commit -m "Type: Description courte"Voir Structure des commits pour plus de détails.
git push origin feature/nom-de-la-fonctionnalité- Allez sur GitHub
- Cliquez sur "New Pull Request"
- Sélectionnez votre branche
- Remplissez le template de PR
- Soumettez !
**Type de changement**
- [ ] Bug fix
- [ ] Nouvelle fonctionnalité
- [ ] Amélioration
- [ ] Documentation
**Description**
Description claire des changements apportés.
**Problème résolu**
Fixes #(numéro de l'issue)
**Tests effectués**
- [ ] Testé sur Chrome
- [ ] Testé sur Firefox
- [ ] Testé sur Safari
- [ ] Testé sur mobile
- [ ] Responsive vérifié
**Captures d'écran**
Si applicable.
**Checklist**
- [ ] Mon code suit le style du projet
- [ ] J'ai commenté mon code
- [ ] J'ai mis à jour la documentation
- [ ] Mes changements ne génèrent pas de nouveaux warnings
- [ ] J'ai testé mes changements<!-- ✅ BON - Indentation de 4 espaces, commentaires clairs -->
<section class="products" id="products">
<div class="container">
<h2 class="section-title">Produits Vedettes</h2>
<!-- Grille de produits -->
<div class="products-grid">
<!-- Contenu -->
</div>
</div>
</section>
<!-- ❌ MAUVAIS - Pas d'indentation, pas de commentaires -->
<section class="products" id="products"><div class="container"><h2 class="section-title">Produits Vedettes</h2><div class="products-grid"></div></div></section>/* ✅ BON - Commentaires par section, propriétés organisées */
/* ========================================
SECTION PRODUITS
======================================== */
.products {
/* Espacement */
padding: var(--spacing-xl) 0;
/* Arrière-plan */
background-color: var(--bg-light);
}
.product-card {
/* Layout */
display: flex;
flex-direction: column;
/* Espacement */
padding: var(--spacing-md);
/* Effets */
transition: all var(--transition-speed);
}
/* ❌ MAUVAIS - Tout mélangé, pas de commentaires */
.products{padding:var(--spacing-xl) 0;background-color:var(--bg-light);}
.product-card{display:flex;padding:var(--spacing-md);transition:all var(--transition-speed);}// ✅ BON - Fonctions documentées, code lisible
/**
* Ajoute un produit au panier
* @param {string} productName - Nom du produit
* @param {number} price - Prix du produit
*/
function addToCart(productName, price) {
// Validation des paramètres
if (!productName || price <= 0) {
console.error('Paramètres invalides');
return;
}
// Ajout au panier
cart.items.push({ name: productName, price: price });
// Mise à jour de l'interface
updateCartDisplay();
}
// ❌ MAUVAIS - Pas de documentation, variables cryptiques
function a(n,p){cart.items.push({name:n,price:p});u();}- Classes CSS : kebab-case (
product-card,nav-menu) - IDs : camelCase (
navMenu,productsGrid) - Variables JS : camelCase (
cartTotal,productName) - Constantes : UPPER_SNAKE_CASE (
MAX_ITEMS,API_URL) - Fonctions : camelCase, verbes (
addToCart,updateDisplay)
Utilisez des messages de commit clairs et descriptifs :
Type: Description courte (max 50 caractères)
Description détaillée si nécessaire (optionnel)
- Point 1
- Point 2
Fixes #123
feat:- Nouvelle fonctionnalitéfix:- Correction de bugdocs:- Documentationstyle:- Formatage, point-virgules manquants, etc.refactor:- Refactorisation du codeperf:- Amélioration des performancestest:- Ajout de testschore:- Maintenance, mise à jour de dépendances
# Bonne pratique
git commit -m "feat: Ajout du filtre de produits par catégorie"
git commit -m "fix: Correction du bug du panier vide"
git commit -m "docs: Mise à jour du README avec instructions de déploiement"
# Mauvaise pratique
git commit -m "update"
git commit -m "fixes"
git commit -m "changes"Avant de soumettre votre PR, assurez-vous que :
- Le code fonctionne sans erreurs
- Le code est bien commenté
- Le responsive est vérifié (mobile, tablette, desktop)
- Le code suit le style du projet
- Les commits sont bien structurés
- La documentation est à jour
- Aucun fichier inutile n'est inclus
- Les tests passent (si applicables)
Testez sur au moins :
- Chrome (dernière version)
- Firefox (dernière version)
- Safari (si possible)
- Edge (si possible)
- Desktop (1920x1080)
- Tablette (768x1024)
- Mobile (375x667)
- Navigation
- Menu hamburger
- Ajout au panier
- Formulaire newsletter
- Animations au scroll
- Liens et ancres
Si vous avez des questions :
- Consultez la documentation
- Recherchez dans les issues existantes
- Créez une nouvelle issue avec le label "question"
- Contactez-nous à merphy97@gmail.com
Merci pour votre contribution à ArtéNova Shop ! Chaque contribution, petite ou grande, est appréciée. 🙏
Fait avec ❤️ pour la communauté open source