diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..218e546 --- /dev/null +++ b/.htaccess @@ -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 + + + Order Allow,Deny + Deny from all + + + + Order Allow,Deny + Allow from all + + + + Order Allow,Deny + Allow from all + + + + Order Allow,Deny + Allow from all + + + + SetOutputFilter DEFLATE + SetEnvIfNoCase Request_URI \ + \.(?:gif|jpe?g|png)$ no-gzip dont-vary + + + + 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" + \ No newline at end of file diff --git a/README.md b/README.md index 846f0d8..8df96cd 100644 --- a/README.md +++ b/README.md @@ -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 \ No newline at end of file diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..dc8fc53 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1 @@ +/* Fichier du style (il pourras y en avoir plusieurs) */ \ No newline at end of file diff --git a/assets/js/script.js b/assets/js/script.js new file mode 100644 index 0000000..9adcf04 --- /dev/null +++ b/assets/js/script.js @@ -0,0 +1 @@ +// Fichier des scripts (logiquement que pour les requets AJAX et pour certaines animations) (plusieurs fichiers sont possible bien sur) \ No newline at end of file diff --git a/assets/php/functions.php b/assets/php/functions.php new file mode 100644 index 0000000..618b970 --- /dev/null +++ b/assets/php/functions.php @@ -0,0 +1 @@ +/* Fichier de fontions que nous utiliserons a travers les différents fichiers */ \ No newline at end of file diff --git a/assets/php/handler.php b/assets/php/handler.php new file mode 100644 index 0000000..e386aaf --- /dev/null +++ b/assets/php/handler.php @@ -0,0 +1 @@ +/* Fichier qui va gerer la creation de la page et la redirection au cas ou */ \ No newline at end of file diff --git a/idées.md b/idées.md index a44d791..d3d627e 100644 --- a/idées.md +++ b/idées.md @@ -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 \ No newline at end of file +- 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)