webdesigner WordPress éco-responsable devis gratuit

Engagement qualité et satisfaction

Vous avez un projet web à concrétiser ?
Demandez un devis gratuit à votre expert WordPress en télétravail !
Que vous soyez basé(e) à Paris, Marseille, Lille ou n’importe où en France,
je travaille à distance de manière efficace.

Je vous propose un devis détaillé et transparent, sans frais cachés ni surprises désagréables.

Je m’engage à vous fournir un devis transparent, sans frais cachés ni mauvaises
surprises. budget. Mon objectif est votre entière
satisfaction, et je travaillerai en étroite collaboration avec vous pour atteindre
vos  objectifs.

 

Création sites wordpress sur-mesure

Faire appel à un webdesigner freelance spécialiste de WordPress, c’est choisir la qualité, la
personnalisation et l’efficacité. Avec un devis gratuit, vous avez l’assurance de connaître
précisément le coût de votre projet avant de vous engager. N’attendez plus, contactez-moi
dès aujourd’hui pour discuter de votre projet et obtenir votre devis gratuit !

Devis Gratuit — Marc Giraud Webdesigner:root { --black: #000000; --gold: #fbda55; --white: #ffffff; --gray: #1a1a1a; --gray-mid: #2a2a2a; --gray-border: #333333; }*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }html { scroll-behavior: smooth; }body { background: var(--black); color: var(--white); font-family: 'DM Sans', sans-serif; font-weight: 300; line-height: 1.6; overflow-x: hidden; }/* NOISE OVERLAY */ body::before { content: ''; position: fixed; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E"); pointer-events: none; z-index: 9999; opacity: 0.4; }/* HEADER */ header { position: relative; padding: 80px 24px 60px; max-width: 1100px; margin: 0 auto; overflow: hidden; }.header-eyebrow { font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; opacity: 0; animation: fadeUp 0.6s ease forwards 0.2s; }.header-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(56px, 10vw, 130px); line-height: 0.9; color: var(--gold); letter-spacing: 0.02em; opacity: 0; animation: fadeUp 0.7s ease forwards 0.35s; }.header-title span { display: block; color: var(--white); font-size: clamp(36px, 6vw, 80px); }.header-desc { margin-top: 28px; font-size: 15px; color: rgba(255,255,255,0.6); max-width: 520px; opacity: 0; animation: fadeUp 0.7s ease forwards 0.5s; }.services-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; opacity: 0; animation: fadeUp 0.7s ease forwards 0.65s; }.pill { border: 1px solid var(--gold); color: var(--gold); font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; padding: 6px 16px; border-radius: 2px; }.header-line { width: 100%; height: 1px; background: linear-gradient(90deg, var(--gold), transparent); margin-top: 60px; opacity: 0; animation: fadeIn 1s ease forwards 0.8s; }/* LAYOUT */ .main { max-width: 1100px; margin: 0 auto; padding: 60px 24px 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }@media (max-width: 768px) { .main { grid-template-columns: 1fr; gap: 60px; } }/* FORM SECTION */ .section-label { font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 32px; display: flex; align-items: center; gap: 12px; } .section-label::after { content: ''; flex: 1; height: 1px; background: var(--gray-border); }.form-group { margin-bottom: 24px; }label { display: block; font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-bottom: 8px; }input, select, textarea { width: 100%; background: transparent; border: 1px solid var(--gray-border); color: var(--white); font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 300; padding: 14px 16px; outline: none; transition: border-color 0.25s, background 0.25s; border-radius: 2px; appearance: none; }input:focus, select:focus, textarea:focus { border-color: var(--gold); background: rgba(251,218,85,0.03); }input::placeholder, textarea::placeholder { color: rgba(255,255,255,0.2); }select option { background: #111; color: var(--white); }textarea { resize: vertical; min-height: 130px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }@media (max-width: 480px) { .form-row { grid-template-columns: 1fr; } }/* PROJECT TYPE GRID */ .type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.type-card { border: 1px solid var(--gray-border); padding: 14px 16px; cursor: pointer; transition: border-color 0.2s, background 0.2s; border-radius: 2px; position: relative; }.type-card input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }.type-card:hover { border-color: rgba(251,218,85,0.5); }.type-card.selected { border-color: var(--gold); background: rgba(251,218,85,0.05); }.type-card .type-name { font-size: 13px; font-weight: 500; color: var(--white); }.type-card .type-desc { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 3px; }.type-card .type-icon { font-size: 20px; margin-bottom: 8px; }/* ERROR STATES */ .error-msg { font-size: 11px; color: #ff6b6b; margin-top: 6px; display: none; }.form-group.has-error input, .form-group.has-error select, .form-group.has-error textarea { border-color: #ff6b6b; }.form-group.has-error .error-msg { display: block; }/* SUBMIT BUTTON */ .btn-submit { width: 100%; background: var(--gold); color: var(--black); border: none; font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 0.1em; padding: 18px 32px; cursor: pointer; margin-top: 8px; position: relative; overflow: hidden; border-radius: 2px; transition: transform 0.2s; }.btn-submit::before { content: ''; position: absolute; inset: 0; background: #000; transform: translateX(-100%); transition: transform 0.35s cubic-bezier(0.4,0,0.2,1); }.btn-submit:hover::before { transform: translateX(0); }.btn-submit:hover { color: var(--gold); transform: translateY(-1px); }.btn-submit span { position: relative; z-index: 1; }/* SUCCESS MESSAGE */ .success-overlay { display: none; text-align: center; padding: 60px 20px; }.success-overlay.visible { display: block; }.success-icon { font-size: 48px; margin-bottom: 20px; }.success-title { font-family: 'Bebas Neue', sans-serif; font-size: 48px; color: var(--gold); margin-bottom: 12px; }.success-text { color: rgba(255,255,255,0.6); font-size: 15px; }/* FAQ */ .faq-item { border-bottom: 1px solid var(--gray-border); }.faq-question { width: 100%; background: none; border: none; color: var(--white); font-family: 'DM Sans', sans-serif; font-size: 15px; font-weight: 500; text-align: left; padding: 20px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; transition: color 0.2s; }.faq-question:hover { color: var(--gold); }.faq-icon { width: 24px; height: 24px; border: 1px solid currentColor; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 16px; transition: transform 0.3s, background 0.3s, border-color 0.3s; line-height: 1; color: var(--gold); }.faq-item.open .faq-icon { transform: rotate(45deg); background: var(--gold); color: var(--black); }.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1); }.faq-item.open .faq-answer { max-height: 300px; }.faq-answer p { padding-bottom: 20px; color: rgba(255,255,255,0.55); font-size: 14px; line-height: 1.7; }/* SIDE INFO */ .info-block { background: var(--gray); border: 1px solid var(--gray-border); border-top: 3px solid var(--gold); padding: 28px; margin-bottom: 24px; border-radius: 2px; }.info-block h3 { font-family: 'Bebas Neue', sans-serif; font-size: 24px; color: var(--gold); margin-bottom: 8px; }.info-block p { font-size: 13px; color: rgba(255,255,255,0.55); line-height: 1.6; }/* FOOTER */ footer { border-top: 1px solid var(--gray-border); text-align: center; padding: 32px; font-size: 12px; color: rgba(255,255,255,0.2); letter-spacing: 0.1em; }footer a { color: var(--gold); text-decoration: none; }/* ANIMATIONS */ @keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }.anim-in { opacity: 0; animation: fadeUp 0.6s ease forwards; }

Marc Giraud — Webdesigner Freelance

Devis
Gratuit

Décrivez votre projet et recevez une réponse personnalisée sous 24h. WordPress, Design sur mesure, SEO — parlons de vos ambitions.

WordPress Design UI/UX SEO Refonte Maintenance

Merci d'indiquer votre nom.

Email invalide.

Veuillez sélectionner un type de projet.

Sélectionnez votre budget Moins de 1 000 € 1 000 – 3 000 € 3 000 – 6 000 € 6 000 – 10 000 € Plus de 10 000 € À définir ensemble

Merci de sélectionner un budget.

Une description est nécessaire.

Message envoyé !

Merci pour votre confiance.
Marc vous répondra dans les 24 heures.

Réponse en 24h

Chaque demande est étudiée personnellement. Vous recevrez un devis détaillé et sur mesure, sans engagement.

Expertise WordPress

Spécialiste WordPress depuis plus de 10 ans, Marc conçoit des sites performants, sécurisés et faciles à gérer au quotidien.

Prestation 100% sur mesure

Aucun template générique. Chaque projet est unique, pensé pour votre marque et vos objectifs business.

En général, comptez 4 à 8 semaines selon la complexité du projet. Un site vitrine simple peut être livré en 3 semaines, tandis qu'un e-commerce complet peut nécessiter 2 à 3 mois. Les délais sont toujours précisés dans le devis.

Le projet se déroule en 4 étapes : briefing & stratégie → maquettes design → développement WordPress → mise en ligne & formation. Vous êtes impliqué à chaque étape et des points de validation sont prévus pour garantir un résultat conforme à vos attentes.

L'hébergement n'est pas inclus par défaut, mais Marc peut vous conseiller et gérer la mise en place d'un hébergement WordPress performant. Des formules de maintenance incluant hébergement et sécurité sont disponibles.

Oui, absolument. WordPress est livré avec une formation personnalisée pour que vous puissiez gérer votre contenu en autonomie. Une documentation adaptée à votre site est également fournie.

Oui, les bonnes pratiques SEO (structure sémantique, performances, balises, schema markup) sont intégrées dès le développement. Des prestations SEO avancées (audit, stratégie de contenu, netlinking) sont disponibles en option.

Un acompte de 30% est demandé à la signature du devis, 40% à la validation des maquettes, et le solde de 30% à la mise en ligne. Des facilités de paiement peuvent être étudiées selon les projets.

// FAQ Accordion document.querySelectorAll('.faq-question').forEach(btn => { btn.addEventListener('click', () => { const item = btn.closest('.faq-item'); const isOpen = item.classList.contains('open'); document.querySelectorAll('.faq-item').forEach(i => { i.classList.remove('open'); i.querySelector('.faq-question').setAttribute('aria-expanded', 'false'); }); if (!isOpen) { item.classList.add('open'); btn.setAttribute('aria-expanded', 'true'); } }); });// Type card selection document.querySelectorAll('.type-card input[type="radio"]').forEach(radio => { radio.addEventListener('change', () => { document.querySelectorAll('.type-card').forEach(c => c.classList.remove('selected')); radio.closest('.type-card').classList.add('selected'); document.getElementById('group-type').classList.remove('has-error'); }); });// Form validation & submit const form = document.getElementById('devis-form');function validateEmail(email) { return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); }function setError(groupId, hasError) { const group = document.getElementById(groupId); if (group) group.classList.toggle('has-error', hasError); }form.addEventListener('submit', function(e) { e.preventDefault();const nom = document.getElementById('nom').value.trim(); const email = document.getElementById('email').value.trim(); const budget = document.getElementById('budget').value; const desc = document.getElementById('description').value.trim(); const typeProjet = form.querySelector('input[name="type_projet"]:checked');let isValid = true;setError('group-nom', !nom); if (!nom) isValid = false;setError('group-email', !validateEmail(email)); if (!validateEmail(email)) isValid = false;const typeGroup = document.getElementById('group-type'); if (!typeProjet) { typeGroup.classList.add('has-error'); document.getElementById('type-error').style.display = 'block'; isValid = false; } else { typeGroup.classList.remove('has-error'); document.getElementById('type-error').style.display = 'none'; }setError('group-budget', !budget); if (!budget) isValid = false;setError('group-desc', desc.length < 20); if (desc.length { document.getElementById('form-wrapper').style.display = 'none'; const success = document.getElementById('success-msg'); success.classList.add('visible'); }, 300); });// Intersection Observer for anim-in const observer = new IntersectionObserver(entries => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.animationPlayState = 'running'; observer.unobserve(entry.target); } }); }, { threshold: 0.1 });document.querySelectorAll('.anim-in').forEach(el => { el.style.animationPlayState = 'paused'; observer.observe(el); });