BlueGEEK Journal

Accueil > Programmes > Projets PHP pour Sites WEB > Agendas > Agynda > (Agynda) Projet > 0 - Agynda Bêta

PHP, Calendrier

0 - Agynda Bêta

JSCALENDAR

jeudi 21 septembre 2006, par bluegyn_spip

Projet Agynda,

- Pour Bêta Testeurs

L’idée d’un calendrier virtuel Médical

AGYNDA BETA
21 SEP 2006

DEMO

http://bluegyn.com/agynda/

- ID = demo

- PW = demo

Sources PHP

http://bluegyn.com/agynda/agynda.zip

Messages

  • Voila une petite mise a jour des tables

    - Tu dois détruire les table existantes et relancer

    admin/install.php

    - Le programme ne peut se lancer que si

    inc_db_connect.php n’existe pas

    (Pour éviter que quelqu’un d’autre réinstalle par dessus)

    2 tables sont créées dans la Base

    agyn_rendezvous

    - Avec 1 ligne par rendez vous

    agyn_notes

    - Avec une seule ligne par jour

    Ces 2 tables sont reliées par la [ DATE ] au format "AAAA-MM-JJ" qui est indexée

    ET interrogées en SQL par la clause INNER JOIN

  • NOUVELLE VERSION

    - Il faut encore une fois rafraîchir les bases (j’ai rajouté 2 champs mémo)

    Cette fois ci tu as un fichier

    - admin/uninstall.php

    - Pour le faire à ta place

    Pour des raisons de sécurité la présence sur le site du fichier

    - inc_db_connect.php

    le désactive

    Donc d’abord et avant tout

    - effacer inc_db_connect.php

    - puis lancer admin/uninstall.php )

    Les données précédentes sont bien entendues perdues !

  • L’agynda a bien progressé depuis

    Toujours phase bêta

    • Bêta ça veut dire qu’on peut le tester et donner son avis, mais qu’il est un peu prématuré de l’utiliser puisque son architecture change sans cesse au fur et à mesure des perfectionnements

    1ere chose : L’authentification

    • Sur les conseils des cigognes j’ai abandonné l’authentification par le serveur FREE qui n’est pas assez souple ( et trop serveur dépendante)
    • J’ai tenté de comprendre l’authentification par les entêtes HEADER-AUTHENTICATE, (comme nous l’avions vu précédemment) et après avoir désossé la bête, j’ai fini par comprendre que c’était un truc carrément merdique et imbitable (ce qui explique que quasi personne ne s’en sert jamais ...)

    J’ai donc réécrit une page bitable perso d’authentification et ça ressemble à ça

    http://bluegyn.com/agynda/index.php

    AVANTAGES

    - La page est personnalisable à volonté (on peut rajouter des images et style persos)

    - Le nombre de tentatives est (pseudo) limité (il suffit de relancer le navigateur pour remettre le compteur à zéro)

    - et surtout ça marche sans aucun souci

    Tous les scripts sur

    http://bluegyn.com/agynda/agynda.zip

    voir les pages

    • index.php
    • Et la liste des droits d’accès dans admin/inc_utilisateurs.php (dans l’attente de la gestion par base de données)

    (Je suis en train de programmer la reconnaissance des sessions ce qui rendra impossible l’accès direct à une page quelconque sans identification) Car suffit (pour le moment) de taper

    http://bluegyn.com/agynda.php

    (pour sauter la phase identification)

    2° le paramétrage de chaque jour

    Par le menu Options

    • Il est possible de programmer la présentation de chaque jour
    • Par exemple Lundi 18 toutes les 10 minutes ;, Mardi toutes les 20 etc... et dimanche sans les Notes...

    3° Pour les testeurs / Développeurs

    Le menu Options amène à 2 autres choix (qui seront bien sur protégés ensuite)

    Détruire les tables (commande SQL DROP)

    • Qui supprime définitivement les tables et propose de réinstaller les nouvelles (aléa de la phase bêta)
    • A faire en cas de message d’erreur "D’IMPOSSIBILTE FATALE DE SE CONNECTER"
    • Les données sont perdues
    • Le menu Détruire ne fonctionne pas si les paramètres de connexion sont enregistrés sur le site (il faut donc détruire le fichier cité dans le script pour activer la destruction)

    Effacer la base (commande SQL TRUNCATE)

    • Qui permet de nettoyer tous les rendez vous d’un seul clic
    • Afin de pouvoir reparamétrer tranquillement chaque journée sur un agenda vide (car on ne peut plus modifier une journée une fois qu’elle est créée)
    • Le menu Effacer ne fonctionne que si vous entrez les paramètres de connexion à la base (root et vide pour easyphp)

    Reste à (peut être) repenser la structure des bases et l’affichage des rendez vous...

    Toute suggestion bienvenue

  • Petites nouvelles en passant pour ceux que ça intéresse

    - Réécriture du code d’affichage permettant de séparer complètement les RV du matin et du Soir

    - (Voir exemples Mercedi 27 ou Dimanche 27)

    - Je garde toujours les même tables, car les possibilités de requêtes SQL sont plus étendues avec un champ par info

    • Par exemple il suffit d’appeler la requête

    SELECT * FROM AGYNDA WHERE DATE="UNE DATE" AND HEURE < "14:00"

    Pour avoir les RV du matin

    Et

    SELECT * FROM AGYNDA WHERE DATE="UNE DATE" AND HEURE >= "14:00"

    Pour avoir les RV de l’aprèm

    - Ensuite il va être possible à l’administrateur de lancer des requetes privées pour marquer certaines heures comme indisponibles

    - Par exemple "Tous les Jeudi de 5 à 7"

    Function MAKE_READONLY()

    SELECT * FROM AGYNDA WHERE (WEEKDAY ="Jeudi") AND (HEURE BETWEEN 5 AND 7)

  • A 16:00 02/10/2006, Ciginfo a écrit :

    Questions.

    Le calendrier n’affiche pas les RV du matin. Pourquoi ?

    - C’est l’inconvénient de la version Bêta,

    - Il faut complètement purger les tables avant de redémarrer un nouveau package

    - J’ai fait apparemment maintenant ça marche

    Les enregistrements sont ’ils fonctionnels sur cette demo ?

    - Oui, ce que tu saisis est mémorisé puis restitué sur le site

    Il n’enregistre pas les modifs de parametrage.

    - C’est lié au concept original du programme,

    - chaque page créée est enregistrée telle quelle dans la base de données quel que soit le nombre de rendez vous

    - Chaque page affichée est restituée exactement comme elle a été enregistrée, quel que soit la modification ultérieure des plages de Rendez vous qui n’ont donc jamais d’effet rétroactif

    EXEMPLE

    - Si au 1er Octobre je décide de prendre 1 RV tous les quart d’heure au lieu de toutes les demi heure

    • Tout ce qui s’affiche après le 1er octobre sera par 15 minutes
    • Tout ce qui a été fait avant restera par 30 minutes

    Ca semble logique

    - Tu remarques que la page vierge de rendez vous est créée au moment même ou tu cliques sur un nouveau jour (c’est un peu long 1 à 2 secondes la 1ere fois, ensuite c’est instantané)

    - Donc

    1. Tes paramétrages prendront effet uniquement sur les nouvelles pages, pas sur les anciennes.
    1. Il vaut mieux paramétrer tous les jours de la semaine, avant de cliquer sur le 1er jour

    - Sinon ca ne doit pas être très complique de détruire une seule page mal parametree par une routine sql

    Fonctionne t’il chez free ?

    - Oui l’exemple AGYNDA est bien installé sur FREE

    Fonctionne t’il en local avec easyphp ?

    - Oui sans aucune modification

    - Les paramètres d’install par défaut fonctionnent pour EasyPHP

    Les nouvelles sources sont ’elles disponibles au même endroit ?

    - Le plus simple aller sur la page d’accueil de l’agynda et cliquer sur Télécharger

    - J’essaie de tout garder à jour.

    Ps : Des que j’ai 5 minutes je détaille l’installation et la désinstallation du produit

    Car tout a été prévu pour que ce soit sans souci !