Bienvenue sur Libres-Penseurs.com

Le concept de Libres-penseurs.com est de permettre à tous ceux qui le désirent de s'exprimer sur un sujet de leur choix.

Qu'il s'agisse d'un texte d'opinion politique, de critiques de produits, de tutoriaux, il n'y aucune barrière quant au sujet abordé et la façon dont il l'est.

Ce site est présentement en cours de production; il s'agit d'une version test. Les inscriptions sont fermées jusqu'à la prochaine mise à jour majeure du site.

Actuellement, il y a 364 articles ou tutoriels publiés qu'il est possible de lire.

... ainsi que 130 documents en préparation pour être publiés.

Nouveautés:

Le développement de la version anglaise est présentement en cours et se trouvera sur free-thinkers.ca.

Si vous êtes intéressés à participer au développement du projet, n'hésitez pas à contacter le .

Listes des prochaines choses a faire avant la sortie de la version Alpha:

Publications

  1. Permettre un preview avant la publication.
  2. Possibilite de definir une image pour le document (qu'on peut voir dans le listing)
  3. Inclure une date de modification (datetime) et une colonne pour le nombre de modifications (int) sur la table doc
  4. Inclure une colonne pour le nombre de views (int) sur la table doc
  5. Créer un système permettant de featurer des articles, par les admins, mais aussi selon le nombre de votes ou de commentaires.
  6. Créer un top 10 des articles (éventuellement)
Corbeille
  1. (Creer une table de backup de documents et de commentaires pour les usagers & documents supprimés).
  2. Permettre l'accès à l'utilisateur à sa corbeille, pour récupérer des documents mais sans pouvoir les supprimer.
  3. Permettre aux admins de pouvoir supprimer les documents des corbeilles.
Publications partagées

Permettre de partager un meme document avec plusieurs utilisateurs (pour travailler à plusieurs).

  1. Notifier dès qu'une modification est apportée par un autre utilisateur.
  2. Bloquer l'accès au document si le document est déjà ouvert quelque part. (0/1 sur une colonne)
Catégories

Une problématique se pose car la quantité de catégories devient énorme.

  1. Sections: Il faudrait créer des sections principales. Articles, Tutoriaux, etc. et restructurer les tables en fonction de ça. Il n'y a pas de raison que ces dernières soit aussi des sections. On doit pouvoir choisir si certaines sections sont d'accès uniquement Admin (ex: aide)
  2. Publication: Il faut intégrer un menu javascript (à la Windows) pour les catégories.
  3. Gestion: Il faut lister niveau par niveau. Quand on clicke un niveau, la liste s'allonge sous la catégorie, et ainsi de suite. À chaque reload de page, faire arriver à la hauteur de la catégorie parent cliquée (lien interne)
  4. Multi-catégories: Il faudra permettre l'attribution de plusieurs catégories au même article. Mettre un lien "assigner à une catégorie suppl." qui fait apparaître un champs pour une 2e catégorie, et ainsi de suite.

[SQL] doc_sections
id(int) - descr(text) - rang(int)

[SQL] doc_cat
docId(int) - docCat(int)

[SQL] doc (edit)
id(int) - descr(text) - rang(int)

Commentaires
  1. Pouvoir modifier & supprimer son commentaire (icones).

Gestion des langues

  1. Multi-lingue: Utiliser les constantes. En profiter pour restructurer de façon efficace les langues.
Traduction
  1. Traductions libres: Quelqu'un peut décider de fournir une version traduite de l'article d'un auteur.
  2. L'auteur doit dans ce cas accepter ou décliner la traduction (email) en dedans de 7 jours, sinon approuvé automatiquement.
  3. Lors d'un visionnement d'article ou autre, afficher les choix de langue à la manière Wikipédia

 

Utilisateurs

Options d'utilisateurs

Il faut permettre, éventuellement, aux utilisateurs de personnaliser leur compte facilement.

  1. Choisir sa langue d'affichage
  2. Choisir d'afficher son login ou nom
  3. Afficher ou non son adresse email, cryptee ou non.
  4. Choisir les informations qui peuvent etre vues (Brouillons, Publications, Commentaires, Contacts, etc.), ou vues seulement de nos contacts.
  5. Notifications par email, par exemple: à chaque fois qu'un commentaire est écrit sur une publication.
Contacts

Contacts ou amis, c'est pour montrer des liens entre les users. Ça peut servir entres autres pour restreindre les informations sur un utilisateur à un cercle restreint. Il peut être intéressant de récupérer le principale Facebook, et envoyer un mail à chaque fois qu'un de vos amis publie qqch ou commente sur un de vos trucs.

  1. On peut envoyer un request de contact à quelqu'un, lequel doit l'accepter pour que le contact soit ajouté. Une simple table avec 1 colonne pour chaque user, une colonne pour voir si le contact est affirmé par les deux partis, et une colonne pour la date.
Profil
  1. Compter les views de chaque profil
Notifications
  1. Quand on se connecte sur son compte, on doit avoir accès à une liste des 10-12 dernières notifications qui nous adressées, ainsi qu'un lien pour pouvoir toutes les voir, pagination.
  2. Ces notifications doivent pouvoir être envoyées par email.
  3. Les admin doivent pouvoir recevoir des notifications spéciales (ex: un tel a supprimé son document, ou changé de catégorie, ou supprimé tel utilisateur, etc.).

[SQL] user_not
userId(int) - notId(int) - vu(bool) - date(datetime)

[SQL] not
ID(int) - descr(varchar) - urgent (bool)

Thèmes
  1. On doit pouvoir choisir un thème pour le site (enregistré en DB)
  2. On doit pouvoir choisir un thème pour son profil (quelques différences, pas trop d'extravagance
Aide
  1. Il faudrait créer un système d'aide (FAQ) avec une section dédiée. Inclure des niveaux de droit (les utilisateurs inscrits vont voir d'autres FAQs qui les concernent, que les visiteurs normaux qui ne sont pas inscrits)
  2. Il faudrait mettre des icônes un peu partout sur le site avec des bulles d'aide (manuellement)
  3. Il faudrait permettre l'ajout d'infobulles dans les articles (ex: [info "Le javascript est un language"]JAVASCRIPT[/info]

Administration

  1. Gestion des parametres du site
  2. Fusionner ajouter une categorie avec la gestion des categories
  3. Gestion des thèmes, activer/désactiver/ajouter
  4. Système de cases à cocher pour faire plusieurs actions (ex: supprimer) sur des items
  5. Transférer des options en popup (ex: transférer un document à un autre utilisateur pourrait être en popup).
  6. Permettre de lister selon un critere precis dans un tableau (en clickant sur les entetes) dans l'Admin

General

  1. Systeme de rapport pour que les participants a la beta signalent des bugs
  2. Utiliser le ID plutôt que le nom des users (restructuration des champs). Permettra d'éviter des bugs possibles et permettra aussi le changement de nom.
Liens morts
  1. Détecter automatiquement les liens morts dans les documents et pour les signaler en notifications.
  2. Remplacer automatiquement le lien en ajoutant (lien mort) et ajouter une ligne dans la table des liens morts

[SQL] doc_deadlink
docId(int) - deadLink(text) - date(date)

Engin de recherche
  1. Créer un système de recherche qui se sert des index FULLTEXT (restructuration de certaines colonnes).
  2. Permettre la recherche rapide, avec drop-down menu pour choisir de chercher dans tout le site, ou la section active, ou la catégorie active
  3. Page de recherche avancée, Sections/Catégories, dates de publications, popularité, etc.
  4. Mettre un menu déroulant (ou autre système) pour trier par date (défaut), popularité, ordre alphabétique, etc.
Page d'accueil
  1. La page d'accueil devra afficher les dernières news, derniers articles, tutoriaux, images, liens (de façon adaptée, par ex. les images doivent afficher des thumbnails, pas des titres).
News

Un système simple mais efficace de news serait de mise. Question de donner des nouvelles régulières sur le développement du site, étant donné qu'il va être en développement un certain bout de temps, et qu'il faudrait informer les utilisateurs éventuels des changements.

Listes des prochaines choses a faire avant la sortie de la version BETA:

  1. Meta tags de l'entete
  2. Plan du site pour Google
  3. inclure Google analytics dans les pages
  4. Tester le type des variables GET et POST (verifier que c'est fait partout...)
  5. Fermer les connections SQL a la fin
  6. Deconstruire les classes a la fin
  7. Cleaner commentaires et "titre" des fichiers
  8. Token au signin
  9. Checker la correspondance du browser de la page precedente et celui de la presente (securite)
  10. Systeme de tokens : Utiliser les sessions, en plus de POST, pour que ca soit vriament efficace pour les donnees sensibles.
  11. Remplacer les connections entre les tables qui sont des chaines de caractere par leurs ID (ex doc.lang)
  12. Cases a cocher ou quelconque systeme pour selectionner plus d'un document dans l'Admin
  13. Ajouter une case a cocher dans les commentaires pour que l'auteur soit prevenu.
  14. Verifier que le site passe sous IE6
  15. ...