Initial commit
This commit is contained in:
commit
a961619d08
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
db.sqlite3
|
||||||
|
__pycache__
|
0
beesgospel/__init__.py
Normal file
0
beesgospel/__init__.py
Normal file
64
beesgospel/static/css/main.css
Normal file
64
beesgospel/static/css/main.css
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
@font-face {
|
||||||
|
font-family:"Harlow Solid";
|
||||||
|
src: url("../fonts/harlow-solid-regular.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
color: #fff;
|
||||||
|
background: #333;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: #ffab82;
|
||||||
|
}
|
||||||
|
nav {
|
||||||
|
border-bottom: 5px solid red;
|
||||||
|
}
|
||||||
|
.nav-link.active {
|
||||||
|
border-bottom: 1px solid red;
|
||||||
|
}
|
||||||
|
.nav-sep {
|
||||||
|
margin-top: 0.5em;
|
||||||
|
color: #d77070;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width : 992px) {
|
||||||
|
.nav-sep { display: none; }
|
||||||
|
.navbar-brand img { max-width: 5em; }
|
||||||
|
.hometitle { font-size: 280%; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.alert-danger { background-color: #FFD79C; }
|
||||||
|
.main-text { max-width: 100vw; }
|
||||||
|
.red-bottom { border-bottom: 1px solid red; }
|
||||||
|
.overleft { margin-left: -4rem; }
|
||||||
|
.overright { margin-right: -4rem; }
|
||||||
|
.harlow { font-family: "Harlow Solid"; }
|
||||||
|
.homeurl { color: white; text-decoration: none; }
|
||||||
|
.homeurl:hover { color: lightgrey; }
|
||||||
|
.homediv {
|
||||||
|
margin-top: -1.5rem;
|
||||||
|
padding-top: 8rem;
|
||||||
|
min-height: 700px;
|
||||||
|
background-image: url("../img/photo_contact_back.webp");
|
||||||
|
background-position-x: center;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
.hometitle {
|
||||||
|
font-size: 320%;
|
||||||
|
padding-bottom: 6rem;
|
||||||
|
}
|
||||||
|
.#homeaudio audio { opacity: 0.7; }
|
||||||
|
|
||||||
|
.home-img {
|
||||||
|
width: 600px;
|
||||||
|
max-width: 100%;
|
||||||
|
border: 2px solid white;
|
||||||
|
}
|
||||||
|
.bottom-red {
|
||||||
|
border-bottom: 1px solid #c42626;
|
||||||
|
padding-bottom: 0.2em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
.left-red {
|
||||||
|
border-left: 2px solid red;
|
||||||
|
}
|
BIN
beesgospel/static/fonts/harlow-solid-regular.ttf
Executable file
BIN
beesgospel/static/fonts/harlow-solid-regular.ttf
Executable file
Binary file not shown.
BIN
beesgospel/static/img/abeille.png
Normal file
BIN
beesgospel/static/img/abeille.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 14 KiB |
BIN
beesgospel/static/img/photo_braderie_2019.jpg
Normal file
BIN
beesgospel/static/img/photo_braderie_2019.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 145 KiB |
BIN
beesgospel/static/img/photo_contact.jpg
Normal file
BIN
beesgospel/static/img/photo_contact.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 319 KiB |
BIN
beesgospel/static/img/photo_contact_back.webp
Normal file
BIN
beesgospel/static/img/photo_contact_back.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 197 KiB |
BIN
beesgospel/static/songs/WeShallOvercome.mp3
Normal file
BIN
beesgospel/static/songs/WeShallOvercome.mp3
Normal file
Binary file not shown.
7
beesgospel/static/vendor/bootstrap.bundle.min.js
vendored
Normal file
7
beesgospel/static/vendor/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
beesgospel/static/vendor/bootstrap.min.css
vendored
Normal file
5
beesgospel/static/vendor/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
0
common/__init__.py
Normal file
0
common/__init__.py
Normal file
16
common/asgi.py
Normal file
16
common/asgi.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
"""
|
||||||
|
ASGI config for beesgospel project.
|
||||||
|
|
||||||
|
It exposes the ASGI callable as a module-level variable named ``application``.
|
||||||
|
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/5.2/howto/deployment/asgi/
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.asgi import get_asgi_application
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'beesgospel.settings')
|
||||||
|
|
||||||
|
application = get_asgi_application()
|
113
common/settings.py
Normal file
113
common/settings.py
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
"""
|
||||||
|
Django settings for beesgospel project.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
# Build paths inside the project like this: BASE_DIR / "subdir".
|
||||||
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
|
SECRET_KEY = "django-insecure-c9p_1ckesz8!6))(#n2hio16*_8_-nv8n@9n*od8kqoufiq13h"
|
||||||
|
|
||||||
|
# SECURITY WARNING: don"t run with debug turned on in production!
|
||||||
|
DEBUG = True
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = []
|
||||||
|
|
||||||
|
|
||||||
|
# Application definition
|
||||||
|
|
||||||
|
INSTALLED_APPS = [
|
||||||
|
"django.contrib.admin",
|
||||||
|
"django.contrib.auth",
|
||||||
|
"django.contrib.contenttypes",
|
||||||
|
"django.contrib.sessions",
|
||||||
|
"django.contrib.messages",
|
||||||
|
"django.contrib.staticfiles",
|
||||||
|
"beesgospel",
|
||||||
|
]
|
||||||
|
|
||||||
|
MIDDLEWARE = [
|
||||||
|
"django.middleware.security.SecurityMiddleware",
|
||||||
|
"django.contrib.sessions.middleware.SessionMiddleware",
|
||||||
|
"django.middleware.common.CommonMiddleware",
|
||||||
|
"django.middleware.csrf.CsrfViewMiddleware",
|
||||||
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
||||||
|
"django.contrib.messages.middleware.MessageMiddleware",
|
||||||
|
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
||||||
|
]
|
||||||
|
|
||||||
|
ROOT_URLCONF = "common.urls"
|
||||||
|
|
||||||
|
TEMPLATES = [
|
||||||
|
{
|
||||||
|
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
||||||
|
"DIRS": [BASE_DIR / "templates"],
|
||||||
|
"APP_DIRS": True,
|
||||||
|
"OPTIONS": {
|
||||||
|
"context_processors": [
|
||||||
|
"django.template.context_processors.request",
|
||||||
|
"django.contrib.auth.context_processors.auth",
|
||||||
|
"django.contrib.messages.context_processors.messages",
|
||||||
|
],
|
||||||
|
"builtins": [
|
||||||
|
"django.templatetags.static",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
WSGI_APPLICATION = "common.wsgi.application"
|
||||||
|
|
||||||
|
|
||||||
|
# Database
|
||||||
|
# https://docs.djangoproject.com/en/5.2/ref/settings/#databases
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
"default": {
|
||||||
|
"ENGINE": "django.db.backends.sqlite3",
|
||||||
|
"NAME": BASE_DIR / "db.sqlite3",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Password validation
|
||||||
|
# https://docs.djangoproject.com/en/5.2/ref/settings/#auth-password-validators
|
||||||
|
|
||||||
|
AUTH_PASSWORD_VALIDATORS = [
|
||||||
|
{
|
||||||
|
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# Internationalization
|
||||||
|
# https://docs.djangoproject.com/en/5.2/topics/i18n/
|
||||||
|
|
||||||
|
LANGUAGE_CODE = "fr"
|
||||||
|
|
||||||
|
TIME_ZONE = "UTC"
|
||||||
|
|
||||||
|
USE_I18N = False
|
||||||
|
|
||||||
|
USE_TZ = True
|
||||||
|
|
||||||
|
|
||||||
|
# Static files (CSS, JavaScript, Images)
|
||||||
|
# https://docs.djangoproject.com/en/5.2/howto/static-files/
|
||||||
|
|
||||||
|
STATIC_URL = "static/"
|
||||||
|
|
||||||
|
# Default primary key field type
|
||||||
|
# https://docs.djangoproject.com/en/5.2/ref/settings/#default-auto-field
|
||||||
|
|
||||||
|
#DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
10
common/urls.py
Normal file
10
common/urls.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
from django.urls import path
|
||||||
|
from django.views.generic import TemplateView
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
path("admin/", admin.site.urls),
|
||||||
|
path("", TemplateView.as_view(template_name="index.html"), name="home"),
|
||||||
|
path("presentation/", TemplateView.as_view(template_name="presentation.html"), name="presentation"),
|
||||||
|
path("contact/", TemplateView.as_view(template_name="contact.html"), name="contact"),
|
||||||
|
]
|
16
common/wsgi.py
Normal file
16
common/wsgi.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
"""
|
||||||
|
WSGI config for beesgospel project.
|
||||||
|
|
||||||
|
It exposes the WSGI callable as a module-level variable named ``application``.
|
||||||
|
|
||||||
|
For more information on this file, see
|
||||||
|
https://docs.djangoproject.com/en/5.2/howto/deployment/wsgi/
|
||||||
|
"""
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'beesgospel.settings')
|
||||||
|
|
||||||
|
application = get_wsgi_application()
|
22
manage.py
Executable file
22
manage.py
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
"""Django's command-line utility for administrative tasks."""
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""Run administrative tasks."""
|
||||||
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'common.settings')
|
||||||
|
try:
|
||||||
|
from django.core.management import execute_from_command_line
|
||||||
|
except ImportError as exc:
|
||||||
|
raise ImportError(
|
||||||
|
"Couldn't import Django. Are you sure it's installed and "
|
||||||
|
"available on your PYTHONPATH environment variable? Did you "
|
||||||
|
"forget to activate a virtual environment?"
|
||||||
|
) from exc
|
||||||
|
execute_from_command_line(sys.argv)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
44
templates/base.html
Normal file
44
templates/base.html
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="fr">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>Le Gospel de l’Abeille - Bee's Gospel</title>
|
||||||
|
<link href="{% static 'vendor/bootstrap.min.css' %}" rel="stylesheet">
|
||||||
|
<link href="{% static 'css/main.css' %}" rel="stylesheet">
|
||||||
|
<script src="{% static 'vendor/bootstrap.bundle.min.js' %}"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
{% block header %}
|
||||||
|
<nav class="navbar navbar-expand-lg bg-dark border-bottom border-body sticky-top" data-bs-theme="dark">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="navbar-brand d-flex align-items-center"><a href="/">
|
||||||
|
<img src="{% static 'img/abeille.png' %}"></a>
|
||||||
|
<div class="harlow">Gospel de l’Abeille<br>The Bee's Gospel Singers</div>
|
||||||
|
</div>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarColor01"
|
||||||
|
aria-controls="navbarColor01" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarColor01">
|
||||||
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
|
<li class="nav-item"><a class="nav-link{% if request.path == "/presentation/"%} active{% endif %}" aria-current="page" href="{% url 'presentation' %}">Présentation</a></li>
|
||||||
|
<li class="nav-sep">•</li>
|
||||||
|
<li class="nav-item"><a class="nav-link{% if request.path == "/contact/" %} active{% endif %}" href="{% url 'contact' %}">Contact</a></li>
|
||||||
|
<li class="nav-sep">•</li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="#">Agenda</a></li>
|
||||||
|
<li class="nav-sep">•</li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="#">Médias</a></li>
|
||||||
|
<li class="nav-sep">•</li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="#">Espace membres</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
{% endblock header %}
|
||||||
|
|
||||||
|
<div class="container mt-4">
|
||||||
|
{% block content %}{% endblock %}
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
53
templates/contact.html
Normal file
53
templates/contact.html
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6 mt-4 left-red">
|
||||||
|
<h3>Président</h3>
|
||||||
|
|
||||||
|
<p>Eric Develey<br>
|
||||||
|
Stavay-Mollondin 15<br>
|
||||||
|
CH-2300 La Chaux-de-Fonds
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>+41 79 425 24 55<br>
|
||||||
|
<a href="mailto:edeveley@bluewin.ch">edeveley@bluewin.ch</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 mt-4 left-red">
|
||||||
|
<h3>Cheffe de cœur</h3>
|
||||||
|
|
||||||
|
<p>Nicole Jaquet Henry<br>
|
||||||
|
Chapeau-Râblé 25<br>
|
||||||
|
CH-2300 La Chaux-de-Fonds
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>+41 78 820 05 38<br>
|
||||||
|
<a href="mailto:njaquethenry@gmail.com">njaquethenry@gmail.com</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="mt-5">Cette chorale vit grâce aux cotisations de ses membres et grâce aux cachets reçus lors des concerts.</p>
|
||||||
|
|
||||||
|
<p>Également soutenue financièrement par la paroisse réformée de la Chaux-de-Fonds, elle participe à plusieurs services religieux chaque année.</p>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<p>Si vous souhaitez nous soutenir, merci de faire vos dons à :</p>
|
||||||
|
|
||||||
|
<p class="ms-5 ps-3 left-red">
|
||||||
|
<code>Banque Raiffeisen, 9001 St-Gallen<br>
|
||||||
|
IBAN : CH82 8080 8008 1541 0361 4</code><br>
|
||||||
|
Au nom de :<br>
|
||||||
|
The Bee’s Gospel Singers, Gospel de l’Abeille<br>
|
||||||
|
Jean-Charles COGNET (trésorier)<br>
|
||||||
|
Le Breuillet 1<br>
|
||||||
|
2056 Dombresson
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<img class="home-img" src="{% static 'img/photo_contact.jpg' %}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
27
templates/index.html
Normal file
27
templates/index.html
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block header %}{% endblock %}
|
||||||
|
{% block content %}
|
||||||
|
<div class="homediv">
|
||||||
|
<div class="hometitle text-center">
|
||||||
|
<a class="homeurl harlow" href="{% url 'presentation' %}">
|
||||||
|
<div class="d-flex justify-content-center mb-4">
|
||||||
|
<div class="flex-grow-1 overleft red-bottom"> </div>
|
||||||
|
<div class="main-text red-bottom">The Bee’s Gospel Singers</div>
|
||||||
|
<div class="flex-grow-1 overright"> </div>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-center">
|
||||||
|
<div class="flex-grow-1 overleft"> </div>
|
||||||
|
<div class="main-text red-bottom">Gospel de l’Abeille</div>
|
||||||
|
<div class="flex-grow-1 overright red-bottom"> </div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="homeaudio" class="d-flex justify-content-center">
|
||||||
|
<div class="text-start">
|
||||||
|
<i>Écouter:</i><br>
|
||||||
|
<audio controls src="{% static 'songs/WeShallOvercome.mp3' %}"></audio>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
34
templates/presentation.html
Normal file
34
templates/presentation.html
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<p><big>Le Gospel de l’Abeille, ou The Bee's Gospel Singers est un groupe d'amoureux de cette musique multiculturelle qui souhaite faire partager son plaisir et son émotion avec le public.</big></p>
|
||||||
|
<div class="alert alert-danger mt-4">Prochain concert: <b>dim. 29 juin à 09:45</b>, Temple St-Jean La Chaux-de-Fonds<br>culte paroissial accompagné du Bee's Gospel Singers</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="text-center">
|
||||||
|
<img class="home-img" src="{% static 'img/photo_braderie_2019.jpg' %}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="mt-3">Ce groupe a la particularité de réunir une trentaine de chanteurs amateurs, chantant à 4 voix, en anglais, par cœur, sans amplification, et… juste pour le plaisir et l’émotion.</p>
|
||||||
|
|
||||||
|
<p>Il est ouvert à toutes les personnes amoureuses du Gospel et du Negro Spiritual, qu’elles aient une appartenance religieuse ou non.<br>
|
||||||
|
Les répétitions ont lieu le mercredi soir de 18h30 à 20h30 (à l’exception des vacances scolaires) au temple St-Jean de La Chaux-de-Fonds.</p>
|
||||||
|
|
||||||
|
<p>Le Gospel de l’Abeille se produit régulièrement en concerts publics ou privés (cérémonies de mariages, anniversaires, décès,...) en Suisse et à l'Etranger.</p>
|
||||||
|
|
||||||
|
<h3 class="bottom-red mt-4">Historique</h3>
|
||||||
|
<p>En l’an 2000, le pasteur camerounais Daniel Mabongo, actif dans la paroisse réformée de l’Abeille de la Chaux-de-Fonds lance l’idée auprès de ses paroissiens de la création d’un groupe de chant Gospel pour animer certains cultes.</p>
|
||||||
|
|
||||||
|
<p>Dès 2001, un directeur professionnel est engagé en la personne de M. Christophe Haug.</p>
|
||||||
|
|
||||||
|
<p>La notoriété auprès du public est rapidement au rendez-vous et, le nombre de choristes augmentant, il devient nécessaire de s’adjoindre les services d’un pianiste d’accompagnement.</p>
|
||||||
|
|
||||||
|
<p>Dès octobre 2002, Eric Develey, musicien amateur et enthousiaste, se met aux claviers et au service de l’équipe désormais nommée «The Bee’s Gospel Singers».</p>
|
||||||
|
|
||||||
|
<p>En mai 2010, la direction du groupe est confiée à Mme Nicole Jaquet Henry, cantatrice et professeur de chant,
|
||||||
|
experte passionnée de Gospel et de Negro Spiritual.</p>
|
||||||
|
{% endblock %}
|
Loading…
Reference in a new issue