Correction de bugs
This commit is contained in:
parent
f5cd7021c5
commit
4bb19ff8a9
30
README.md
30
README.md
@ -1,12 +1,14 @@
|
||||
# Pywallter est un projet de portail communautaire pour les utilisateur d'un serveur.
|
||||
ça demande juste un identifiant et un mot de passe et voila.
|
||||
# Pywallter est un projet de portail communautaire pour les utilisateurs d'un serveur.
|
||||
Ça demande juste un identifiant et un mot de passe et voila.
|
||||
Si les serveurs Mail et/ou XMPP sont configurer pywallter peut à gerer les alias et le mot de passe pour son compte mail et XMPP
|
||||
On peut y importer des fichiers que l'on pourra rendre accèssible en public par la suite.
|
||||
Je voulais tester cette idée de post-it pour que les utilisateur puisse s'échanger des messages
|
||||
ou que les admins puisse faire des annonces... On verra
|
||||
ou que les admins puisse faire des annonces...
|
||||
On verra
|
||||
on pourrait ajoute de la double authentification mais bon ...
|
||||
|
||||
|
||||
## Pour démarrer le programme
|
||||
## Installer le programme
|
||||
|
||||
### Sur OpenBSD (7.1)
|
||||
Il faut installer FLask et quelques dépendances
|
||||
@ -21,10 +23,10 @@ Il reste malheuresment une dépendances sur flask-bcrypt a installé avec pip:
|
||||
apt install python3-flask python3-flask-bcrypt python3-wtforms python3-pil python3-markdown \
|
||||
python3-gevent python3-zope.interface
|
||||
|
||||
### Ensuite dans le dossier du projet tu fais :
|
||||
## Démarrer le programme :
|
||||
|
||||
$ export FLASK_APP=pywallter.py
|
||||
$ flask run
|
||||
# cp config.py.example config.py
|
||||
$ python3 pywallter.py
|
||||
|
||||
#### En serveur de production
|
||||
$ python3 wsgi.py
|
||||
@ -36,4 +38,16 @@ Et ça devrait démarrer sans soucis.
|
||||
Le logiciel a besoin de opensmtpd et prosody pour fonctionner.
|
||||
Le serveur mail et xmmp se base sur le domaine de la machine.
|
||||
Les scripts dans le dossier scripts sont la à titre d'exemple et peuvent être copié dans /usr/local/bin
|
||||
si vous la configuration présenté dans le wiki
|
||||
Une configuration fonctionnelle de prosody et opensmtpd est disponible dans le wiki.
|
||||
|
||||
## Comment ça fonctionne ?
|
||||
Globalement le programme stocke les fichiers des utilisateurs dans un dossiers, les fichiers de tous types
|
||||
sont stocker dans le dossier files et les images sont mis dans le dossier images et son consultable dans le menu gallerie.
|
||||
Pour les comptes XMPP le programme fait un appel à prosodyctl.
|
||||
Pour les comptes mail vous devez avoir deux programmes set_mail_alias et set_mail_passwd.
|
||||
|
||||
Les appels pour le compte mail se font ainsi :
|
||||
set_mail_passwd example@votredomaine.fr 'le mot de passe'
|
||||
|
||||
set_mail_alias example@votredomaine.fr add monalias@votredomaine.fr
|
||||
set_mail_alias example@votredomaine.fr del monalias@votredomaine.fr
|
||||
|
10
pywallter.py
10
pywallter.py
@ -30,11 +30,6 @@ if init_dir():
|
||||
print ("Le repertoire des utilisateurs a été créer")
|
||||
|
||||
|
||||
|
||||
# Set the secret key. Keep this really secret
|
||||
#app.secret_key = 'klfkdlfkdslfkln234325;cx!' # Chiffre les cookies si j'ai bien capté.
|
||||
# À générer aléatoirement impérativement avant de mettre en ligne.
|
||||
|
||||
#### Variables ####################################################################################
|
||||
|
||||
|
||||
@ -81,9 +76,8 @@ def create_app():
|
||||
app.register_blueprint(logs)
|
||||
app.register_blueprint(loginlogout)
|
||||
app.register_blueprint(mygallery)
|
||||
|
||||
|
||||
return app
|
||||
|
||||
if __name__ == '__main__' :
|
||||
hostname=gethostname()
|
||||
app.run(host='127.0.0.1', port=8080, debug=False)
|
||||
app.run(host='127.0.0.1', port=8000, debug=False)
|
||||
|
@ -23,7 +23,7 @@
|
||||
<td>{{ fichier[0] }}</td>
|
||||
<td><a href="/myfiles/{{ fichier[1] }}">{{ fichier[1] }}</a></td>
|
||||
<td>{{ fichier[2] }}</td>
|
||||
<td><a href="{{ url_for('remove', nom=fichier[1]) }}"><button type="button" class="btn btn-sm btn-danger">Supprimer</button></a></td>
|
||||
<td><a href="{{ url_for('filesupload.remove', nom=fichier[1]) }}"><button type="button" class="btn btn-sm btn-danger">Supprimer</button></a></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
@ -36,13 +36,22 @@ def signin(token) :
|
||||
resp = redirect(url_for('profil.profile', _external=True))
|
||||
else :
|
||||
if request.method == 'POST':
|
||||
if not(request.form['user']) or not(request.form['passwd']) or not(request.form['mail']):
|
||||
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
|
||||
return render_template('inscription.html',
|
||||
signin_enable=app.config['SIGNIN_ENABLE'],
|
||||
token=token, hostname=hostname,
|
||||
url_inscription=url_inscription,
|
||||
MAIL_SERVER=MAIL_SERVER)
|
||||
if not(request.form['user']) or not(request.form['passwd']) :
|
||||
if MAIL_SERVER:
|
||||
if not(request.form['mail']):
|
||||
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
|
||||
return render_template('inscription.html',
|
||||
signin_enable=app.config['SIGNIN_ENABLE'],
|
||||
token=token, hostname=hostname,
|
||||
url_inscription=url_inscription,
|
||||
MAIL_SERVER=MAIL_SERVER)
|
||||
else:
|
||||
flash(u'Il faut remplir le formulaire en entier, les champs ne peuvent pas etre vide ', 'error')
|
||||
return render_template('inscription.html',
|
||||
signin_enable=app.config['SIGNIN_ENABLE'],
|
||||
token=token, hostname=hostname,
|
||||
url_inscription=url_inscription,
|
||||
MAIL_SERVER=MAIL_SERVER)
|
||||
|
||||
user = request.form['user']
|
||||
passwd = request.form['passwd']
|
||||
|
Loading…
Reference in New Issue
Block a user