Concepts généraux

Un article de PhpMyVisites documentation.

Jump to: navigation, search

Ceci est un document d'archive. Nous avons juste conservé les parties importantes à ce jour.

Sommaire

Objectifs

PhpMyVisites a pour objectif de devenir l'outil de statistiques nouvelle génération le plus complet, rapide, puissant et évolutif. Pour cela l'équipe de développement s'engage à suivre les 10 commandements suivants :

  • Reliable (fiable)
phpMyVisites sera fiable, ne provoquera aucune perte de données. Un outil de sauvegarde/restauration sera disponible par la suite pour prévenir tout problème.
  • Scalable (évolutif)
phpMyVisites saura s'adapter à des audiences de toutes tailles. phpMyVisites saura tenir la charge et assurera une rapidité maximale, via un système d'archivage complexe et une optimisation des traitements et calculs sur les données.
  • Secure (sécurisé)
phpMyVisites sera protégé de toute forme de hacking, que ce soit par des visiteurs anonymes ou des membres enregistrés avec des privilèges. La sécurité est une priorité majeure de l'équipe de développement.
  • Flexible (flexible)
phpMyVisites proposera un système de thèmes, qui permettra de fournir des rapports avec des apparences différentes pour répondre aux besoins de chaque type d'utilisateurs. Le contenu des rapports pourra également être facilement modifié.
  • Modular (Modulaire)
phpMyVisites sera découpé en parties fonctionnelles, chacune étant le plus indépendante possible du reste de l'application. L'ajout de nouvelles fonctionnalités sera facilitée, que ce soit au niveau de l'intégration code ou base de données, et de l'affichage.
  • Localizable (traduisible)
phpMyVisites sera entièrement traduisible et gérera les spécificités de chaque langue. Le système de traduction sera simple et il sera très rapide d'ajouter une nouvelle langue.
  • Intuitive (intuitif)
phpMyVisites sera facile à installer, facile à utiliser. Les utilisateurs pourront facilement tirer d'importantes conclusions sur l'activité de leur site Internet et sur l'intérêt de leurs visiteurs. Les utilisateurs avancés pourront exploiter les fonctionnalités complexes de phpMyVisites pour des analyses encore plus fines.
  • Portable (portable)
phpMyVisites fonctionnera avec des exigences techniques de compatibilité importantes : register_globals Off, error_reporting E_ALL, ne dépendra pas du serveur utilisé, ne dépendra pas du système d'exploitation utilisé, sera compatible avec des versions anciennes de php.

Release Early, release Often

Suivons les grandes idées du développement du logiciel libre. On publiera des versions bêta le plus régulièrement possible cet été pour que les testeurs ne s'ennuient pas. Egalement :

18. To solve an interesting problem, start by finding a problem that is interesting to you.

6. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
7. Release early. Release often. And listen to your customers.
8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
9. Smart data structures and dumb code works a lot better than the other way around.
10. If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
11. The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
12. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
13. ``Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
14. Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
15. When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to!
17. A security system is only as secure as its secret. Beware of pseudo-secrets.
19: Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.

Documentation de phpMyVisites v2

Une documentation qui soit modulaire, réutilisable !

Dans ce domaine tout reste à faire. L'idée est de faire une documentation utilisateur très complète, facile à comprendre, et surtout réutilisable. En effet à long terme nous aimerions que les éléments de l'interface de phpmv soient cliquables, et le clic ouvre la partie de la doc concernée.

Par exemple un clic sur [?] au dessus d'un graph ouvre une pop up ou charge dans la page l'explication de ce graph, en 2 parties :

  • "Résumé" qui explique en une phrase ce que donne cet élément comme information
  • "Analys" qui explique comment analyser correctement les données de cet élément

Fonctionnalités

  • fort respect des standards (XHTML strict, CSS2)
  • Garder la compatibilité avec le maximum de navigateurs en respectant les normes
  • compatible php > 4.3 et compatible php 5 (je ne peux pas faire les tests personnellement qq1 devra s'en charger !)
  • compatibilité avec la majorité des hébergeurs disponibles
  • maintenir la forte internationalisation i18n
  • respecter la séparation CONTENU / AFFICHAGE (Smarty & CSS)
  • compatible 'register_globals' sur 'OFF' évidemment
  • aucune erreur en mode 'error_reporting(E_ALL);'
  • OS indépendant (unix, windows, mac) et Serveur indépendant (apache, IIS, etc.)
  • il doit être possible d'inclure phpmyvisites dans une interface tierce, via un système simple et non contraignant.

Divers liens