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 | ||||
|  | ||||
| @ -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 #################################################################################### | ||||
| 
 | ||||
| 
 | ||||
| @ -85,5 +80,4 @@ def create_app(): | ||||
|     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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user