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,8 +4,8 @@ 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/)
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
### Removed
### Changed
### Fixed
### Fixed

253
README.md
View File

@ -4,6 +4,12 @@ CHANGELOG.md
idées.md
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
## /uploads
@ -28,83 +34,190 @@ contient les fichiers php utilisées
gere la redirection des requetes et gere le cache de certains fichiers
### requettes SQL
### Idées
#### Categories
```
CREATE TABLE categories (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(32)
);
# Fonctions (par utilisateurs)
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Digi');
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Ops');
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Dev')
INSERT INTO `categories` (`id`, `Name`) VALUES (NULL, 'Devops')
```
#### Authors
```
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(128),
linkedin VARCHAR(560)
);
## 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
INSERT INTO `users` (`id`, `username`, `linkedin`) VALUES (NULL, 'aviortheking', 'url')
```
#### Posts
```
CREATE TABLE posts (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(32),
url VARCHAR(32),
content TEXT,
categorie INT,
author INT
);
- post
- affichage tags categories, contenu du post
- partager le post
ALTER TABLE posts
ADD FOREIGN KEY (categorie) REFERENCES categories(id)
- listage des posts (categories/tags/index/(url custom))
ALTER TABLE posts
ADD FOREIGN KEY (author) REFERENCES users(id)
```
- listage des tags (/tags/ ou /tag/)
- listage des categories (/categories/ ou /categorie/)
```
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);
- abonnement a la newsletter
```
#### tags
```
CREATE TABLE tag (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
url VARCHAR(32),
name VARCHAR(32)
);
CREATE TABLE post_tag (
post_id INT NOT NULL,
categorie INT NOT NULL
);
## user (utilisateur connecté)
ALTER TABLE post_tag
ADD FOREIGN KEY (post_id) REFERENCES posts(post_id);
-commenter le post
ALTER TABLE post_tag
ADD FOREIGN KEY (categorie) REFERENCES tag(categorie);
```
## 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)

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);
ini_set('display_errors', 'On');
require_once "../../../vendor/autoload.php";
require_once "../../vendor/autoload.php";
use App\Router;
use App\Functions;
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")) {
echo file_get_contents("../css/style.css");
die;
}
//renvoie vers le fichier js si demandé
//renvoie vers le fichier js si demand<EFBFBD>
if(Functions::endsWith($_GET["page"], ".js")) {
echo file_get_contents("../js/script.js");
die;
@ -28,10 +28,10 @@ if($_GET["page"] != "" && !Functions::endsWith($_GET["page"], "/") && count($_GE
die;
}
//enleve les / du début & fin
//enleve les / du d<EFBFBD>but & fin
$_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) {
$_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();

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": {
"classmap": [
"project/assets/php/"
"assets/php/"
]
}
}

10
composer.lock generated
View File

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