changement dans l'architecture du projet

This commit is contained in:
Florian Bouillon 2019-02-27 13:50:43 +01:00
parent 4c51764836
commit a0ee078501
46 changed files with 197 additions and 283 deletions

0
project/.htaccess → .htaccess Executable file → Normal file
View File

View File

@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## 0.1.0 - 2018-07-10 ## UNRELEASED - 9999-12-31
### Added ### Added
### Removed ### Removed
### Changed ### Changed

253
README.md
View File

@ -4,6 +4,12 @@ CHANGELOG.md
idées.md idées.md
README.md seront enlever lors de l'upload vers le serveur (pour eviter des dechets en plus) README.md seront enlever lors de l'upload vers le serveur (pour eviter des dechets en plus)
## Premier lancement
- `composer install\`
- après rajout de classes faire `composer update`
# Architecture # Architecture
## /uploads ## /uploads
@ -28,83 +34,190 @@ contient les fichiers php utilisées
gere la redirection des requetes et gere le cache de certains fichiers gere la redirection des requetes et gere le cache de certains fichiers
### requettes SQL ### Idées
#### Categories # Fonctions (par utilisateurs)
```
CREATE TABLE categories (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(32)
);
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Digi'); ## anonyme:
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Ops'); - recherche: (recherche pour trouver les tag/categories/posts)
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Dev') - prefixage: (non necessaire (optionnel))
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Devops') - "tag:"
``` - "categorie:"
#### Authors - filtrage par id du post/tag/categorie (maybe)
``` - filtrage par nom du post/Tag/categorie
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(128),
linkedin VARCHAR(560)
);
INSERT INTO `users` (`id`, `username`, `linkedin`) VALUES (NULL, 'aviortheking', 'url') - post
``` - affichage tags categories, contenu du post
#### Posts - partager le post
```
CREATE TABLE posts (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(32),
url VARCHAR(32),
content TEXT,
categorie INT,
author INT
);
ALTER TABLE posts - listage des posts (categories/tags/index/(url custom))
ADD FOREIGN KEY (categorie) REFERENCES categories(id)
ALTER TABLE posts - listage des tags (/tags/ ou /tag/)
ADD FOREIGN KEY (author) REFERENCES users(id) - listage des categories (/categories/ ou /categorie/)
```
``` - abonnement a la newsletter
INSERT INTO `posts` (`id`, `title`, `url`, `content`, `categorie`, `author`) VALUES
(1, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(2, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(3, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(4, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(5, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(6, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(7, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(8, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(9, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(10, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(11, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(12, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(13, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(14, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL),
(15, 'Pokemon', 'pokemon', '\r\n\r\nId officiis nisi voluptate aperiam laboriosam. Porro doloribus repellat qui consectetur nam quo. Quam qui et omnis numquam. Mollitia consectetur quam dolor veniam voluptates exercitationem.\r\n\r\nRerum doloribus at fugiat ea. Maxime natus nulla consequatur ratione. Ducimus eius officia sit. Maiores sint sint ut et facere enim.\r\n\r\nVoluptatem nesciunt ut quod. Ab dignissimos harum ipsam velit perspiciatis reiciendis voluptatum incidunt. Excepturi natus dignissimos enim. Unde architecto maiores aut cumque dolores. Et mollitia accusamus rem et dolorem omnis quis beatae.\r\n\r\nIure eveniet consequatur aperiam. Quibusdam quo iusto nemo voluptatem vel id sunt. Ut et ducimus nobis cum ullam. Quia est voluptatem ducimus aut quo non aut. Distinctio architecto excepturi debitis.\r\n\r\nFacilis voluptatem est aspernatur facere aut voluptatem. Ipsa et omnis soluta iusto et natus. Temporibus rerum cumque ipsa porro amet omnis possimus ipsam. Eaque temporibus ipsam possimus est inventore aut exercitationem. Nemo adipisci aut aut velit rerum blanditiis.\r\n', NULL, NULL);
```
#### tags
```
CREATE TABLE tag (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
url VARCHAR(32),
name VARCHAR(32)
);
CREATE TABLE post_tag ( ## user (utilisateur connecté)
post_id INT NOT NULL,
categorie INT NOT NULL
);
ALTER TABLE post_tag -commenter le post
ADD FOREIGN KEY (post_id) REFERENCES posts(post_id);
ALTER TABLE post_tag ## poster:
ADD FOREIGN KEY (categorie) REFERENCES tag(categorie);
``` - 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
- 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
- gestionnaire de medias
- upload
- modification de tags ("alt")
## moderator:
- gestionnaire des posts/pages:
- mettre en ligne le post
- gestionnaire des commentaires:
- suppression
- gestionnaire d'utilisateurs
- suppresssion
- interdiction de commenter
- désabonement/abonement manuel a la newsletter
- changement de username et autre données sur lui
## admin:
- 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)
- 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
# 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)

0
project/assets/css/style.css → assets/css/style.css Executable file → Normal file
View File

View File

0
project/assets/font/blod.otf → assets/font/blod.otf Executable file → Normal file
View File

View File

0
project/assets/html/404.html → assets/html/404.html Executable file → Normal file
View File

View File

View File

View File

View File

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 380 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 376 B

After

Width:  |  Height:  |  Size: 376 B

View File

Before

Width:  |  Height:  |  Size: 931 KiB

After

Width:  |  Height:  |  Size: 931 KiB

View File

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

Before

Width:  |  Height:  |  Size: 634 B

After

Width:  |  Height:  |  Size: 634 B

View File

Before

Width:  |  Height:  |  Size: 559 B

After

Width:  |  Height:  |  Size: 559 B

View File

Before

Width:  |  Height:  |  Size: 1007 B

After

Width:  |  Height:  |  Size: 1007 B

0
project/assets/js/script.js → assets/js/script.js Executable file → Normal file
View File

View File

@ -2,19 +2,19 @@
error_reporting(E_ALL); error_reporting(E_ALL);
ini_set('display_errors', 'On'); ini_set('display_errors', 'On');
require_once "../../../vendor/autoload.php"; require_once "../../vendor/autoload.php";
use App\Router; use App\Router;
use App\Functions; use App\Functions;
use App\Tags\Tag; use App\Tags\Tag;
//renvoie vers le fichier css si il est demandé //renvoie vers le fichier css si il est demand<EFBFBD>
if(Functions::endsWith($_GET["page"], ".css")) { if(Functions::endsWith($_GET["page"], ".css")) {
echo file_get_contents("../css/style.css"); echo file_get_contents("../css/style.css");
die; die;
} }
//renvoie vers le fichier js si demandé //renvoie vers le fichier js si demand<EFBFBD>
if(Functions::endsWith($_GET["page"], ".js")) { if(Functions::endsWith($_GET["page"], ".js")) {
echo file_get_contents("../js/script.js"); echo file_get_contents("../js/script.js");
die; die;
@ -28,10 +28,10 @@ if($_GET["page"] != "" && !Functions::endsWith($_GET["page"], "/") && count($_GE
die; die;
} }
//enleve les / du début & fin //enleve les / du d<EFBFBD>but & fin
$_GET['page'] = trim($_GET['page'], '/'); $_GET['page'] = trim($_GET['page'], '/');
// si taille supérieur à 1 $_getpost = element // si taille sup<EFBFBD>rieur <20> 1 $_getpost = element
if(count(explode("/", $_GET["page"])) > 1) { if(count(explode("/", $_GET["page"])) > 1) {
$_GET["post"] = explode("/", $_GET["page"])[1]; $_GET["post"] = explode("/", $_GET["page"])[1];
} }
@ -55,7 +55,7 @@ if($_GET["page"] == "/test/") {
} }
/** /**
* Démarrage du routage du contenu * D<EFBFBD>marrage du routage du contenu
*/ */
$router = new Router(); $router = new Router();

0
project/assets/php/pages.php → assets/php/pages.php Executable file → Normal file
View File

0
project/assets/php/test.php → assets/php/test.php Executable file → Normal file
View File

View File

@ -14,7 +14,7 @@
}, },
"autoload": { "autoload": {
"classmap": [ "classmap": [
"project/assets/php/" "assets/php/"
] ]
} }
} }

10
composer.lock generated
View File

@ -428,16 +428,16 @@
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
"version": "7.0.2", "version": "7.0.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "cfca9c5f7f2694ca0c7749ffb142927d9f05250f" "reference": "0317a769a81845c390e19684d9ba25d7f6aa4707"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cfca9c5f7f2694ca0c7749ffb142927d9f05250f", "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/0317a769a81845c390e19684d9ba25d7f6aa4707",
"reference": "cfca9c5f7f2694ca0c7749ffb142927d9f05250f", "reference": "0317a769a81845c390e19684d9ba25d7f6aa4707",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -487,7 +487,7 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2019-02-15T13:40:27+00:00" "time": "2019-02-26T07:38:26+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",

185
idées.md
View File

@ -1,185 +0,0 @@
# Fonctions (par utilisateurs)
## anonyme:
- recherche: (recherche pour trouver les tag/categories/posts)
- prefixage: (non necessaire (optionnel))
- "tag:"
- "categorie:"
- filtrage par id du post/tag/categorie (maybe)
- filtrage par nom du post/Tag/categorie
- post
- affichage tags categories, contenu du post
- partager le post
- listage des posts (categories/tags/index/(url custom))
- listage des tags (/tags/ ou /tag/)
- listage des categories (/categories/ ou /categorie/)
- abonnement a la newsletter
## user (utilisateur connecté)
-commenter le post
## poster:
- 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
- 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
- gestionnaire de medias
- upload
- modification de tags ("alt")
## moderator:
- gestionnaire des posts/pages:
- mettre en ligne le post
- gestionnaire des commentaires:
- suppression
- gestionnaire d'utilisateurs
- suppresssion
- interdiction de commenter
- désabonement/abonement manuel a la newsletter
- changement de username et autre données sur lui
## admin:
- 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)
- 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
# 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)

View File

@ -1,14 +0,0 @@
<ruleset name="mine">
<description>pouet</description>
<rule ref="PSR2">
<exclude name="PSR2.Classes.ClassDeclaration.OpenBraceNewLine"/>
<exclude name="Generic.WhiteSpace.DisallowTabIndent.TabsUsed"/>
<exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine"/>
<exclude name="PSR1.Classes.ClassDeclaration.MultipleClasses"/>
<exclude name="PSR1.Classes.ClassDeclaration.MissingNamespace" />
<exclude name="Squiz.WhiteSpace.ScopeClosingBrace.ContentBefore" />
<exclude name="Squiz.ControlStructures.ControlSignature.SpaceAfterKeyword" />
</rule>
</ruleset>

0
bdd_proj.sql → sql/bdd_proj.sql Executable file → Normal file
View File

0
qdb.txt → sql/qdb.txt Executable file → Normal file
View File