-
Analyzing your requirements and generating your app…
-
-
Loading…
+
+
+

+
Institut ITM de Formation
+
Votre avenir professionnel commence ici. Des formations d'excellence pour un succès garanti.
-
AppWizzy AI is collecting your requirements and applying the first changes.
-
This page will refresh automatically as the plan is implemented.
-
- Runtime: Django {{ django_version }} · Python {{ python_version }}
- — UTC {{ current_time|date:"Y-m-d H:i:s" }}
-
-
-
-
-{% endblock %}
\ No newline at end of file
+
+
+
+ {% if messages %}
+ {% for message in messages %}
+
+ {{ message }}
+
+
+ {% endfor %}
+ {% endif %}
+
+
+
+
Contactez-Nous
+
Une question ? Un projet ? N'hésitez pas à nous contacter. Notre équipe est à votre disposition pour vous orienter et vous accompagner.
+
+
+
+
+
+
+{% endblock %}
diff --git a/core/urls.py b/core/urls.py
index 6299e3d..34bd639 100644
--- a/core/urls.py
+++ b/core/urls.py
@@ -1,7 +1,6 @@
from django.urls import path
-
-from .views import home
+from .views import index
urlpatterns = [
- path("", home, name="home"),
-]
+ path("", index, name="index"),
+]
\ No newline at end of file
diff --git a/core/views.py b/core/views.py
index c9aed12..12e2131 100644
--- a/core/views.py
+++ b/core/views.py
@@ -1,25 +1,18 @@
-import os
-import platform
-
-from django import get_version as django_version
from django.shortcuts import render
-from django.utils import timezone
+from .forms import ContactForm
+from django.contrib import messages
-
-def home(request):
- """Render the landing screen with loader and environment details."""
- host_name = request.get_host().lower()
- agent_brand = "AppWizzy" if host_name == "appwizzy.com" else "Flatlogic"
- now = timezone.now()
+def index(request):
+ if request.method == 'POST':
+ form = ContactForm(request.POST)
+ if form.is_valid():
+ form.save()
+ messages.success(request, 'Merci! Votre message a été envoyé avec succès.')
+ form = ContactForm() # Clear form
+ else:
+ form = ContactForm()
context = {
- "project_name": "New Style",
- "agent_brand": agent_brand,
- "django_version": django_version(),
- "python_version": platform.python_version(),
- "current_time": now,
- "host_name": host_name,
- "project_description": os.getenv("PROJECT_DESCRIPTION", ""),
- "project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
+ 'form': form
}
- return render(request, "core/index.html", context)
+ return render(request, 'core/index.html', context)
\ No newline at end of file
diff --git a/static/css/custom.css b/static/css/custom.css
index 925f6ed..3c54884 100644
--- a/static/css/custom.css
+++ b/static/css/custom.css
@@ -1,4 +1,105 @@
-/* Custom styles for the application */
-body {
- font-family: system-ui, -apple-system, sans-serif;
+:root {
+ --primary-blue: #0066CC;
+ --secondary-green: #005A4A;
+ --light-gray: #f8f9fa;
+ --dark-gray: #343A40;
+ --font-headings: 'Poppins', sans-serif;
+ --font-body: 'Lato', sans-serif;
}
+
+body {
+ font-family: var(--font-body);
+ color: var(--dark-gray);
+ background-color: #fff;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: var(--font-headings);
+ font-weight: 700;
+}
+
+.hero-section {
+ background: linear-gradient(90deg, var(--primary-blue), var(--secondary-green));
+ padding: 6rem 0;
+ color: white;
+}
+
+.hero-logo {
+ max-width: 150px;
+ background: white;
+ border-radius: 15px;
+ padding: 10px;
+}
+
+.hero-title {
+ font-size: 3.5rem;
+ font-weight: 700;
+}
+
+.hero-subtitle {
+ font-size: 1.25rem;
+ font-weight: 400;
+}
+
+.section-title {
+ color: var(--primary-blue);
+ font-weight: 700;
+ margin-bottom: 1rem;
+}
+
+.section-subtitle {
+ font-size: 1.1rem;
+ color: #6c757d;
+}
+
+.contact-info {
+ margin-top: 2rem;
+ font-size: 1.1rem;
+}
+
+.contact-info p {
+ margin-bottom: 1rem;
+}
+
+.form-container {
+ background-color: #ffffff;
+ padding: 2.5rem;
+ border-radius: 15px;
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+}
+
+.form-control {
+ padding: 1rem;
+ border-radius: 8px;
+ border: 1px solid #ced4da;
+}
+
+.form-control:focus {
+ border-color: var(--primary-blue);
+ box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25);
+}
+
+.btn-primary {
+ background-color: var(--primary-blue);
+ border-color: var(--primary-blue);
+ padding: 1rem;
+ font-weight: 700;
+ font-family: var(--font-headings);
+ border-radius: 8px;
+ transition: background-color 0.3s ease;
+}
+
+.btn-primary:hover {
+ background-color: #0056b3;
+ border-color: #0056b3;
+}
+
+.alert-success {
+ background-color: var(--secondary-green);
+ color: white;
+ border-color: var(--secondary-green);
+}
+
+.btn-close {
+ filter: invert(1) grayscale(100%) brightness(200%);
+}
\ No newline at end of file
diff --git a/staticfiles/css/custom.css b/staticfiles/css/custom.css
index 108056f..3c54884 100644
--- a/staticfiles/css/custom.css
+++ b/staticfiles/css/custom.css
@@ -1,21 +1,105 @@
-
:root {
- --bg-color-start: #6a11cb;
- --bg-color-end: #2575fc;
- --text-color: #ffffff;
- --card-bg-color: rgba(255, 255, 255, 0.01);
- --card-border-color: rgba(255, 255, 255, 0.1);
+ --primary-blue: #0066CC;
+ --secondary-green: #005A4A;
+ --light-gray: #f8f9fa;
+ --dark-gray: #343A40;
+ --font-headings: 'Poppins', sans-serif;
+ --font-body: 'Lato', sans-serif;
}
+
body {
- margin: 0;
- font-family: 'Inter', sans-serif;
- background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end));
- color: var(--text-color);
- display: flex;
- justify-content: center;
- align-items: center;
- min-height: 100vh;
- text-align: center;
- overflow: hidden;
- position: relative;
+ font-family: var(--font-body);
+ color: var(--dark-gray);
+ background-color: #fff;
}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: var(--font-headings);
+ font-weight: 700;
+}
+
+.hero-section {
+ background: linear-gradient(90deg, var(--primary-blue), var(--secondary-green));
+ padding: 6rem 0;
+ color: white;
+}
+
+.hero-logo {
+ max-width: 150px;
+ background: white;
+ border-radius: 15px;
+ padding: 10px;
+}
+
+.hero-title {
+ font-size: 3.5rem;
+ font-weight: 700;
+}
+
+.hero-subtitle {
+ font-size: 1.25rem;
+ font-weight: 400;
+}
+
+.section-title {
+ color: var(--primary-blue);
+ font-weight: 700;
+ margin-bottom: 1rem;
+}
+
+.section-subtitle {
+ font-size: 1.1rem;
+ color: #6c757d;
+}
+
+.contact-info {
+ margin-top: 2rem;
+ font-size: 1.1rem;
+}
+
+.contact-info p {
+ margin-bottom: 1rem;
+}
+
+.form-container {
+ background-color: #ffffff;
+ padding: 2.5rem;
+ border-radius: 15px;
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
+}
+
+.form-control {
+ padding: 1rem;
+ border-radius: 8px;
+ border: 1px solid #ced4da;
+}
+
+.form-control:focus {
+ border-color: var(--primary-blue);
+ box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25);
+}
+
+.btn-primary {
+ background-color: var(--primary-blue);
+ border-color: var(--primary-blue);
+ padding: 1rem;
+ font-weight: 700;
+ font-family: var(--font-headings);
+ border-radius: 8px;
+ transition: background-color 0.3s ease;
+}
+
+.btn-primary:hover {
+ background-color: #0056b3;
+ border-color: #0056b3;
+}
+
+.alert-success {
+ background-color: var(--secondary-green);
+ color: white;
+ border-color: var(--secondary-green);
+}
+
+.btn-close {
+ filter: invert(1) grayscale(100%) brightness(200%);
+}
\ No newline at end of file