diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ee13cfd --- /dev/null +++ b/.gitignore @@ -0,0 +1,136 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +.vscode/ +.well-known/ +.idea/ + +app/config.py +.htaccess diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..35defba --- /dev/null +++ b/.htaccess @@ -0,0 +1,18 @@ +RewriteEngine On + +RewriteCond %{HTTP_HOST} !^www\. +RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] + +RewriteCond %{HTTPS} off +RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] + +# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION BEGIN +PassengerAppRoot "/home/wdgl1530/antinote.fr" +PassengerBaseURI "/" +PassengerPython "/home/wdgl1530/virtualenv/antinote.fr/3.10/bin/python" +PassengerAppLogFile "/home/wdgl1530/logs/passenger.log" +# DO NOT REMOVE. CLOUDLINUX PASSENGER CONFIGURATION END +# DO NOT REMOVE OR MODIFY. CLOUDLINUX ENV VARS CONFIGURATION BEGIN + + +# DO NOT REMOVE OR MODIFY. CLOUDLINUX ENV VARS CONFIGURATION END diff --git a/app/__init__.py b/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/static/favicon.ico b/app/static/favicon.ico new file mode 100644 index 0000000..4bcb59c Binary files /dev/null and b/app/static/favicon.ico differ diff --git a/app/static/style.css b/app/static/style.css new file mode 100644 index 0000000..0b9fd0d --- /dev/null +++ b/app/static/style.css @@ -0,0 +1,100 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: Montserrat, sans-serif; +} + +#identification { + padding: 5px 0; + text-align: center; +} + +#schoolid { + text-transform: uppercase; + font-size: 130%; + font-weight: 600; +} + +#userid { + font-size: 110%; + font-weight: 600; +} + +#navbar { + height: 50px; + list-style-type: none; + margin: 0; + padding: 0; + overflow: hidden; + background-color: #46484d; +} + +#navbar li { + float: left; + height: 45px; +} + +#navbar li a { + font-weight: bold; + display: block; + color: white; + text-align: center; + line-height: 15px; + padding: 17px 10px 13px; + text-decoration: none; +} + +#navbar li a:hover { + background-color: #ffffff; + border-bottom: 5px solid var(--theme-color); + color: black; + transition: 500ms background-color, 500ms color; +} + +#navbar li a.active { + background-color: #ffffff; + border-bottom: 10px solid var(--theme-color); + color: black; +} + +#navbar a.accueil { + font-size: 20px; + padding: 13px 10px 12px; +} + + +#liste-notes { + border: 1px solid gray; + width: clamp(300px, 30%, 1200px); +} + +#liste-notes .section { + display: block; + padding: 5px; + border-bottom: 1px solid black; +} + +#liste-notes .section:hover { + background-color: var(--theme-color-light); +} + +#liste-notes ul li { + padding: 5px; +} + +#liste-notes ul li:hover { + background-color: var(--theme-color-light); +} + + + +footer { + background-color: #46484d; + text-align: center; + color: white; + padding: 10px 0; +} diff --git a/app/templates/grades.html b/app/templates/grades.html new file mode 100644 index 0000000..6375858 --- /dev/null +++ b/app/templates/grades.html @@ -0,0 +1,22 @@ +{# grades.html #} + +{% extends "layout/base.html" %} + +{% block title %}Mes notes | Antinote{% endblock %} + +{% block main %} + +

Mes notes

+ + + +{% endblock %} \ No newline at end of file diff --git a/app/templates/index.html b/app/templates/index.html new file mode 100644 index 0000000..2f9b1f6 --- /dev/null +++ b/app/templates/index.html @@ -0,0 +1,14 @@ +{% extends "layout/base.html" %} + +{% block title %}Accueil | Antinote{% endblock %} + +{% block main %} + +

Bienvenue sur Antinote !

+ +Ce site est encore en construction. yo + +{{ session }} + + +{% endblock %} \ No newline at end of file diff --git a/app/templates/layout/base.html b/app/templates/layout/base.html new file mode 100644 index 0000000..8769a2c --- /dev/null +++ b/app/templates/layout/base.html @@ -0,0 +1,42 @@ +{# layout/base.html.j2 #} + + + + + + + + + + {% block title %}{% endblock %} + + + +
+
+
Lycée polyvalent Alain-René Lesage
+
Espace Élèves - NOM Prénom (Classe)
+
+ +
+
+ {% block main %}{% endblock %} +
+ + + diff --git a/app/templates/login.html b/app/templates/login.html new file mode 100644 index 0000000..e69de29 diff --git a/app/templates/timetable.html b/app/templates/timetable.html new file mode 100644 index 0000000..dc6d7cb --- /dev/null +++ b/app/templates/timetable.html @@ -0,0 +1,11 @@ +{% extends "layout/base.html" %} + +{% block title %}Accueil | Antinote{% endblock %} + +{% block main %} + +

Emploi du temps

+ +Ce site est encore en construction. + +{% endblock %} \ No newline at end of file diff --git a/app/views.py b/app/views.py new file mode 100644 index 0000000..9d17e28 --- /dev/null +++ b/app/views.py @@ -0,0 +1,37 @@ +from flask import Flask, request, session +from flask import render_template, send_from_directory +import os +import sys + +from datetime import datetime + +sys.path.insert(0, os.path.dirname(__file__)) + +app = Flask(__name__) +app.config.from_object("config") + +app.jinja_env.globals.update({ + "year": datetime.now().year, + "menuitems": [ + ('/', '', 'accueil'), + ('/grades/', 'Mes notes', ''), + ('/timetable/', 'Emploi du temps', '') + ] +}) + +@app.route("/") +def index(): + return render_template("index.html") + +@app.route("/grades/") +def grades(): + return render_template("grades.html") + +@app.route("/timetable/") +def timetable(): + return render_template("timetable.html") + +@app.route('/favicon.ico') +def favicon(): + return send_from_directory(os.path.join(app.root_path, 'static'), + 'favicon.ico',mimetype='image/vnd.microsoft.icon') diff --git a/passenger_wsgi.py b/passenger_wsgi.py new file mode 100644 index 0000000..35cb3c5 --- /dev/null +++ b/passenger_wsgi.py @@ -0,0 +1,9 @@ +import imp +import os +import sys + + +sys.path.insert(0, os.path.dirname(__file__)) + +wsgi = imp.load_source('wsgi', 'app/views.py') +application = wsgi.app \ No newline at end of file diff --git a/tmp/restart.txt b/tmp/restart.txt new file mode 100644 index 0000000..e69de29