A project to make a blog in a competition (We finished 2nd (1st was a wordpress one :cry: ))
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Florian Bouillon 0149bb7938 correction 10 months ago
assets correction 10 months ago
sql dump 10 months ago
.gitignore too much changes 11 months ago
.htaccess plein de modifs :O 10 months ago
CHANGELOG.md changement dans l'architecture du projet 11 months ago
LICENSE Update LICENSE 11 months ago
README.md changements 10 months ago
composer.json anime 10 months ago
favicon.ico plein de modifs :O 10 months ago

README.md

project

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

Dossiers ou se trouverons les uploads

trié par année puis mois (ex : /uploads/2018/10/pouet.png)

/assets

dossiers des assets du logiciel

/assets/js

contient les fichiers javascript utilisée

/assets/css

contient les fichiers CSS utilisées

/assets/php

contient les fichiers php utilisées

.htaccess

gere la redirection des requetes et gere le cache de certains fichiers

Idées

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)