Archi + htaccess

J'ai mis en place notre architecture (peut changer)

j'ai aussi mis un fichier .htaccess

(pour plus d'infos allez dans les fichiers j'ai mis des descriptions)
This commit is contained in:
Florian Bouillon 2018-10-29 23:49:29 +01:00
parent 57c1aee59c
commit 427ffb35b2
7 changed files with 241 additions and 21 deletions

58
.htaccess Normal file
View File

@ -0,0 +1,58 @@
#ci-dessous dse trouve un fichier pré fait par mes soins (Avior)
# je vais rejouter des description pour les elements
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /assets/php/handler.php?page=$1 [L,QSA]
#RewriteRule ^$ /assets/php/handler.php?page= [L]
ErrorDocument 403 /assets/php/handler.php?page=404
Options All -Indexes
<FilesMatch ".*\.(php|html)$">
Order Allow,Deny
Deny from all
</FilesMatch>
<FilesMatch "preloader.html">
Order Allow,Deny
Allow from all
</FilesMatch>
<FilesMatch "handler.php">
Order Allow,Deny
Allow from all
</FilesMatch>
<FilesMatch ".*\.(webmanifest|svg)$">
Order Allow,Deny
Allow from all
</FilesMatch>
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access 2 month"
ExpiresByType image/gif "access 2 month"
ExpiresByType image/jpeg "access 2 month"
ExpiresByType image/png "access 2 month"
ExpiresByType text/css "access 2 month"
ExpiresByType application/x-javascript "access plus 2 month"
ExpiresByType text/javascript "access plus 2 month"
ExpiresByType application/javascript "access plus 2 month"
ExpiresByType image/x-icon "access plus 12 month"
ExpiresByType image/icon "access plus 12 month"
ExpiresByType application/x-ico "access plus 12 month"
ExpiresByType application/ico "access plus 12 month"
</IfModule>

View File

@ -1,2 +1,25 @@
# project
CHANGELOG.md
idées.md
README.md seront enlever lors de l'upload vers le serveur (pour eviter des dechets en plus)
# /uploads
Dossiers ou se trouverons les uploads
- trié par année puis mois (ex : /uploads/2018/10/pouet.png)
# /assets
dossiers des assets du logiciel
## /js
contient les fichiers javascript utilisée
## /css
contient les fichiers CSS utilisées
## /php
contient les fichiers php utilisées
#.htaccess
gere la redirection des requetes et gere le cache de certains fichiers

1
assets/css/style.css Normal file
View File

@ -0,0 +1 @@
/* Fichier du style (il pourras y en avoir plusieurs) */

1
assets/js/script.js Normal file
View File

@ -0,0 +1 @@
// Fichier des scripts (logiquement que pour les requets AJAX et pour certaines animations) (plusieurs fichiers sont possible bien sur)

1
assets/php/functions.php Normal file
View File

@ -0,0 +1 @@
/* Fichier de fontions que nous utiliserons a travers les différents fichiers */

1
assets/php/handler.php Normal file
View File

@ -0,0 +1 @@
/* Fichier qui va gerer la creation de la page et la redirection au cas ou */

177
idées.md
View File

@ -1,50 +1,185 @@
# zone non connecté:
- recherches: (recherche pour trouver les tag/categories/posts)
# Fonctions (par utilisateurs)
## anonyme:
- recherche: (recherche pour trouver les tag/categories/posts)
- prefixage: (non necessaire (optionnel))
- "tag:"
- "categorie:"
- filtrage
- filtrage par id du post/tag/categorie (maybe)
- filtrage par nom du post/Tag/categorie
- visualisation des posts
- (tags, categories, content)
- post
- affichage tags categories, contenu du post
- partager le post
- visualisation d'un liste de posts par tags/categories (listing des posts)
- checklist
- listage des posts (categories/tags/index/(url custom))
# zone admin:
- listage des tags (/tags/ ou /tag/)
- listage des categories (/categories/ ou /categorie/)
- abonnement a la newsletter
## user (utilisateur connecté)
-commenter le post
## poster:
- général:
- gestion du prefix pour blogs (ex : delta-wings.net/blog/el)
- gestion des suffix/prefix pour nom du post (identifiant unique, date du post)
- gestion nom/slogan du site
- gestions tags/categories:
- url (nom en minuscule qui seras affiché dans l'url, doit être unique)
- nom (Nom affiché lors de la requete)
- parent (ex : categorie1/categorie2)
- methode de trie (premier post au dernier et vis-versa)
- description ?(dépend du design du site)
- ajout/suppression
- posts (création/modification/suppression):
- gestionnaire des posts/pages:
- upload video/image (gerable par le gestionnaire de medias)
- gestion permalink
- editeur de texte (https://summernote.org/)
- titre du post
- mettre en place tags/catgories
- gestion images:
- gestionnaire de medias
- upload
- modification de tags ("alt")
## moderator:
- gestionnaire des posts/pages:
- mettre en ligne le post
- gestionnaire des commentaires:
- suppression
- modification des tags de l'image ("alt")
- pages: (optionnel, à voir plus tard)
- gestionnaire d'utilisateurs
- suppresssion
- interdiction de commenter
- désabonement/abonement manuel a la newsletter
- changement de username et autre données sur lui
- thèmes: (après le tout)
## admin:
Languages :
- général:
- gestion du prefix pour blogs (ex : delta-wings.net/__blog__/el) (sans prefix la page d'accueil est la liste des derniers posts, avec c'est une page)
- gestion des suffix/prefix pour nom du post (identifiant unique, date du post) (ex : delta-wings.net/blog/__1-__ post-name __-2018-09-22__)
- gestion nom/slogan du site (afficher sur le site)
- html
- css
- gestionnaire de medias:
- suppression
- gestionnaire d'utilisateurs:
- affectaction de roles (user, publisher, admin)
- analytics:
- toggleable
- stats indiquant qui est sur le site (ip (ne pas stocker pour anonyme), pays, url, referee (google search ou autre))
- thèmes: (après le tout) (optionnel)
- avoir la possibilité des changer/creer un thème
# fonctiones automatiques
- generation de sitemap.xml
- generateur de metadata
# Languages utilisées:
- html (pug si l'envie vous la donne)
- css
- javascript
- php
- sql
- sql
# Types de pages (pour design) :
- / (page ou post)
- /page/
- /categories/ (et /tags/ peut être)
- /categorie/ (et /tag/ peut être)
- /tags/
- /tag/
- /post/
- /admin/
- /login/
# architecture fichiers
- assets/
- php/
- js/
- css/
- node_modules/ (maybe)
- package.json
- uploads/ (fichiers uploaded)
- 2018/
- 09/
- id-nom.png
- .htaccess
- robots.txt
- sitemap.xml
- favicon.ico
- apple-touch-icon-precomposed.png
- apple-touch-icon.png
- manifest.json
# bdd
- images
- id
- date
- nom
- alt
- post_id (if linked to a post)
- post
- id
- title
- url
- content
- post_categories
- post_id
- categorie_id
- categorie
- id
- url
- name
- post_tags
- post_id
- tag_id
- post_comments
- post_id
- user_id
- comment
- tag
- id
- nom
- parent_id
- settings
- blog_prefix
- prefix
- suffix
- name
- slogan
- newsletter
- id
- email
- users
- id
- role
- canComment (true, false)
- username
- email
- password (hashed in one way)