Identité
Plugin jour J (D day en anglais). On utilisera dday comme nom abrégé pour le plugin, le nom de la table, etc...
Principe
Gestion d'une liste de jour J pour lequelles on effectue un compte à rebours jusqu'à un jour J (comme pour un anniversaire, une date de sortie, une fête) ou un compte du nombre de jours passés depuis ce jour J (comme pour montrer le nombre de jours écoulés depuis le nouvel an).
La liste des jours J et leurs paramètres seront stockés dans une nouvelle table nommée dc_dday (avec dc_ étant le préfixe standard des tables de DotClear).
Chaque jour J sera doté d'un numéro (identificateur) unique. Il pourra être accompagné d'un texte, d'une URL (accompagnée de l'indicateur de langue). Un jour J pourra être unique ou répété à intervalle régulier. On indiquera également le sens de comptage (avant, après ou les deux)[1], avant donnera le nombre de jours restant avant la date et le comptage s'arrêta au jour J, après donnera le nombre de jours passés depuis le jour J et le comptage ne commencera qu'à partir du jour J, les deux combinera ces derniers.
Un jour J pourra être actif ou inactif. Un numéro d'ordre sera également disponible, permettant le tri en fonction des besoins de l'utilisateur. (ajouté le 4 mars 2005).
Une interface d'administration permettra l'installation de la table et la gestion des jours J.
Une fonction sera fournie pour afficher un jour J ou la liste complète des jours J :
dcDday::ShowList($dday_id = '', $block = '<ul>%s</ul>', $item = '<li>%s</li>', $passe = ' il y a %s jours', $hier = ' hier', $present = ' aujourd\'hui', $demain = ' demain', $futur = ' dans %s jours')
avec :
$dday_id
= identificateur du jour J à lister (laisser vide pour obtenir tous les jours J)$block
= Bloc XHTML englobant toute la liste des jours J$item
= Bloc XHTML englobant un jour J de la liste- 5 blocs de formattage en fonction du nombre de jours restants ou à venir
Structure de la table dc_dday
- dday_id : identificateur du jour J, numérique, auto-incrémenté, indexé et obligatoire
- dday_dt : date du jour J, date, obligatoire
- dday_titre : texte associé au jour J, facultatif
- dday_titre_url : URL associée au jour J, facultatif
- dday_desc : texte descriptif pour l'URL, facultatif
- dday_lang : langue, texte (5)
- dday_pub : indicateur d'activité, booléen
- dday_dir : sens de comptage (0 = avant, 1 = après ou 2 = les deux) (ajouté le 14 mars 2005).
- dday_repeat : répétition, booléen, défaut = non (ajouté le 14 mars 2005).
- dday_repeat_nb : valeur de répétition, numérique, défaut = 1
, infini = 0(retiré le 14 mars 2005). - dday_repeat_unit : unité de répétition (jour, semaine, mois, année[2])
- dday_ord : numéro d'ordre (0 à n) (ajouté le 4 mars 2005).
Exemples d'utilisation
- Liste d'anniversaires
- Liste de sortie de films ou de jeux
- Compte à rebours avant un événement particulier (naissance, mariage, ...)
- ...
1 De AeN0 -
Ca peut être interessant :)
2 De lithium -
Ah la la je trépigne d'impatience...
3 De Franck -
Bon je vais mettre un compteur pour la sortie de la version 0.1 qui devrait avoir lieu si tout va bien dans un avenir pas trop lointain ! En attendant, si vous avez déjà des idées ou des demandes, n'hésitez-pas, c'est maintenant que c'est le plus facile pour moi, tant que je n'ai pas mis en route le gros du développement ! D'ailleurs, j'hésite ... je commence par quoi ? La partie administration (index.php) ou par la partie fonctions (fonctions.php) ? A priori plutôt par la partie fonctions.php, non ?
4 De JLauriol -
Il pourrait être interressant de considérer non pas une simple date butoir mais une date avec une heure precise. Exemple d'utilisation : "10h avant le méga concert du chanteur que j'aime." Il suffit peut-être de changer le type de "dday_dt" et de le prendre en compte dans le code. Avoir un parametre de formatage pour l'affichage, et hop.
5 De Franck -
JLauriol> J'ai tenu compte de ta remarque en changeant le type pour la date. Par contre, je ne gère pour l'instant qu'un nombre de jours pour la première version. Je verrai comment prendre en compte un calcul plus fin après la première version publique.
6 De Jean-Francois -
J'aurais une question pour votre plugin. Vous pouvez ecrire, par exemple, le nombre de jour avant votre retraite, en couleur.
Comment faire?
J'ai plusieurs jour-j et j'aimerais moi aussi les mettre en couleur.
Merci
7 De Franck -
J'ai répondu ici.
8 De game -
Salut ! Très intéressant en effet ! Merci. j'arrive un peu à la bourre, dsl ! Mais juste une petite question piege ;) As-tu pensé aux années bisextiles ? parce que la c'est compliqué à coder !
9 De Franck -
Bonjour game. Normalement le langage PHP prends ça en compte pour tous les calculs de date. Maintenant la détermination d'une année bissextile n'est pas compliquée du tout. Le principe est le suivant :
Une année est bissextile si son millésime est divisible par 4 ou par 400 mais pas par 100.
10 De Ladymic -
Une question, Ou est-ce que je pourrais trouver un carnet avec date sans les jours de la semaine ? ex : 1er janvier - (une page) ou (1/2 page)2 janvier - 3 janvier etc etc......... Je n'arrive pas à trouver ce genre de carnet. En 1977 il en existait aux Editions françaises Weber, mais apparemment elles n'existent plus. Merci, si vous me répondez.
11 De Franck -
Chez Moleskine© ils n'ont pas ça ?