Git Product home page Git Product logo

proj402's People

Contributors

c4ptaincrunch avatar ekatsah avatar psycojoker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

proj402's Issues

Loading Time Benchmark

Il faudrait coder une application qui interroge des parties du site et calculer le temps moyen de chaque module. On pourrait faire ça en js, l'implémenter directement sur le site comme ça chaque client peut nous fournir les résultats. On pourrait regarder l'évolution du load en fonction du temps et déterminer s'il faut commencer à mettre du cache et où en priorité

Upload multiple/upload de .zip

Ce serait cool de pouvoir uploader un zip (ou un rar) et que le serveur le décompresse et ajoute tous les sous fichiers ou alors que l'upload multiple soit possible

Utiliser un language de markup

Problématique

Le end-user n'aime pas la markup et ne connait aucun language de markup => Il en faut donc un simple + un WYSIWYG

Languages proposés

Ce qu'on devra avoir comme balises

  • Titres : 3 niveaux max
  • Styles:
    • gras,
    • italique
    • underline
  • Code:
    • balises <pre><pre>
    • coloration syntaxique
  • Maths: LaTeX
  • Liens intelligents:
    • il faut pouvoir mettre des liens externes au site mais aussi des liens internes
    • linker un cours
    • linker un pdf
    • linker un thread
    • linker un user
    • linker les futures features
    • linker les commits

Ce qu'il faut trouver

  • Un parser/module pour django (facile à trouver)
  • Un éditeur wysiwyg qui ne renvoie pas de html et pas trop compliqué

Rajouter plein de killer features pour attirer les end-user

Si on veut ramener des gens, qu'ils trouvent ça "cool" et qu'ils en parlent à leurs potes, il faut qu'on leur soit utile et qu'on fasse ce que les autres ne font pas (non, un end-user n'est pas intéressé par du data-porn)
Je propose q'on fasse une liste de tout ce qui pourrait être cool à implémenter un jour pour accroitre notre domination universelle, quite à ouvrir une issue si on compte implémenter la features tout de suite ou qu'elle nécessite une discussion à elle seule

Je commence :

  • Geholimport intégré + export en ical/autre offert
  • Proposer un joli webmail (roundcoube)
  • App mobile (surtout pour les horaires)
  • Canneaux de com' (ça, ça va nécessiter une issue à lui tout seul)
  • Ancres
    <Bram> c'est un truc tout bête en faite mais ça devrait pouvoir être sympa
      <Bram> là où y avait ton ancien carré pour les commentaires, en haut à gauche
      <Bram> tu mets une image d'ancre
      <Bram> quand on clique dessus ou passe la souris dessus ça présente 4 possibilités
      <Bram> (ou 3, je sais plus, ma mémoire est mauvaise)
      <Bram> 0. lien vers cette page
      <Bram> 1. j'ai arrêté ma lecture ici (-> ça sauve cette endroit là pour ce document là, quand le type réouvre le document ça l'envoie ici ou lui propose d'aller ici)
      <Bram> 2. sauver cette position (-> c'est comme un bookmark pour cette page avec la possibilité de rajouter une description style "exercice sur la chimie qui tombe TOUT LE TEMPS à l'examen" ou "démonstration machin truc pouetpouet" et LA feature chouette en plus: rendre cette ancre publique -> tout le monde partage les endroits clefs d'un texte -> win tout le sait où est tout ce qui est important)
      <Bram> 3. voir mes ancres pour ce document (-> popup avec la liste des ancres, possibilités de les éditers, les virers et modifier leur visibilité)
      <Bram> ah ouai
      <Bram> manque la possibilité de voir le nombre d'ancre publique sur chaque page et de rajouter une ancre publique dans ses ancres à soit
      <Bram> et de voir au debut/à un autre endroit toutes les ancres publiques sur un document
      <Bram> hsteak: voilà une killer feature de plus qui permettra à proj402 de gagner la guerre des platforms !

processing deamon error

Traceback (most recent call last):
File "documents/processing_deamon.py", line 149, in
pendings = list(Task.objects.filter(state='queued').order_by('id'))
File "/home/project402/proj402/venv/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/query.py", line 84, in len
self._result_cache.extend(self._iter)
File "/home/project402/proj402/venv/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/query.py", line 273, in iterator
for row in compiler.results_iter():
File "/home/project402/proj402/venv/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/sql/compiler.py", line 680, in results_iter
for rows in self.execute_sql(MULTI):
File "/home/project402/proj402/venv/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/models/sql/compiler.py", line 735, in execute_sql
cursor.execute(sql, params)
File "/home/project402/proj402/venv/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/backends/util.py", line 34, in execute
return self.cursor.execute(sql, params)
File "/home/project402/proj402/venv/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/db/backends/postgresql_psycopg2/base.py", line 44, in execute
return self.cursor.execute(query, args)
django.db.utils.DatabaseError: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.

This document is really in …

Au moment du vote, il faudrait auto-compléter “This document is really in …” pour que les gens qui ont pas envie de regarder ne prennent pas systématiquement le premier de la liste

i18n

[Bram] : si vous voulez aider pour l'i18n y a une tâche toute simple à faire parcourrir tous les fichiers source et template et marquer à traduire tout ce qui doit être traduit ça consiste en gros à foutre des {% trans "string" %} autour d'un string dans les templates voir un {% blocktrans %}string{% endblocktrans %} si c'est complexe et utiliser gettext dans le code

Flux d'actualité

Flux d'actualité pour pas devoir chercher les nouveautés dans chaque cours

AttributeError: 'AnonymousUser' object has no attribute 'get_profile'

02:58 < ibizaman> ça me donne ça : AttributeError: 'AnonymousUser' object has no attribute 'get_profile'
02:59 < ibizaman> voir: http://pastie.org/3942396
03:07 < Bram> ça ressemble à un cas où y a pas vérification que l'user est loggé avec de faire un get_profile
03:07 < Bram> puisque l'user est probablement pas censé arriver jusque là
03:09 < ibizaman> Bram: ça ressemble à ça on est d'accord
03:10 < ibizaman> peut-être que je teste mal le fait d'être loggé ou non
03:10 < Bram> ibizaman: regarde ici /Volumes/Data/home/timi/Sites/proj402/../proj402/utils/decorators.py
03:10 < Bram> if request.user.get_profile().moderate:
03:11 < Bram> y a un if request.user.is_anonymous ou un brole du genre
03:11 < Bram> ou "is_logged"
03:11 < Bram> si non tu as ton erreur
03:13 < ibizaman> et non il y a direct "request.user.get_profile().moderate"

En gros, il faut inverser les moderate() et les login required() dans les urls.py.

Rules : enforce_post >> AR >> login_required >> moderate

Protections anti-vandalisme

Il faudrait placer des protections anti-vandalisme.
Pour l'instant y'a pas grand chose à protéger mais autant déjà faire quelque chose, rien que parce que j'ai pas envie que quelqu'un change le titre de mes 300 uploads par de la merde

Modifier le système de classement des docs.

Le système actuel n'est pas très clair, certains documents vont dans plusieurs catégories et il manque des catégories ce qui fait que beaucoup de docs sont classés dans "Other"

Idées

  • Rendre le tags actuels plus clairs (message d'aide ?)
  • Système de tags
  • Faire beaucoup plus de catégories (liste : http://piratepad.net/EWO6zIYJVJ)
  • inset ideas here

Fortement améliorer l'UX quand on ajoute un cours

L'ajout d'un cours est totalement contre-intuitif :

  • A la première étape, il n'y a pas de bouton à cliquer, il faut taper enter
  • Ensuite l'utilisateur croit que c'est bon, mais il doit encore confirmer une fois
  • Et pour couronner, il faut encore confirmer une fois

Trier les menus

Quand on affiche une catégorie, ses sous-catégories ne sont pas triées c'est étrange...

Accès anonyme

Pouvoir donner des accès en lecture seule pour ceux qui n'ont pas de netid

Générer 2 aperçus

Si on a du cpu/gpu à cramer, générer 2 aperçus du pdf. A l'affichage, d'abord loader le moins bon, puis, si l'utilisateur reste longtemps sur une partie ou zoome dessus, charger celui de meilleure qualité.

Remplacer "Old solutions" par "Solutions"

< C4ptainFork> hsteak: tu crois que "Old solutions" pourait être changé en "Solutions" ? Parce que y'a plein de gens qui croient
que les corrigés sont ceux de l'année passée

Big brother

Il faudrait tracker chaque utilisateur pour voir ou il va, ou il reste, son os/browser, associer ip et netid etc...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.