ToursAnnonces.fr

Tours annonces est un ensemble de services conçus pour vous faciliter la vie au quotidien : petites annonces, emploi, annuaires, services et bien + ...

Inscrivez-vous Vous êtes nouveau ?
Vous avez un compte ?
Aide

Le carnet de bord du webmaster

Passez votre chemin c'est mes notes ici...

07 | 31 | 01 | 19 | 20 | 04 | 32 | 10 | 11 | 21 | 34 | 16 | 36 | 17 | 30 | 18 | 28 | 14 | 29 | 08 | 06 | 03 | 27 | 25 | 22 | 05 | 09 | 02 | 13 | 15 | 12 | 23 | 26 | 24 | 33
**** 17-05-2010
06h10 start


07h25 : 
ptite retouche de mon programme manitou, voici la structure de base :



3 scripts :

 #!/bin/bash
#manitou.sh

#GLOBAL
export SCRIPTFOLDER="/xxx/manitou-helpers"
export MSG_BADCHOICE_DEFAULT="Je ne comprends pas ce choix. Veuillez recommencer."
export MSG_PLEASESELECT_DEFAULT="Faîtes votre choix puis appuyez sur Entrée"
export MSG_YOUR_CHOICE="Que puis-je faire pour vous ?"
export SPACING="" # SPACING="\t\t\t"
export DEBUG=false
export CURRENT_SUBMENU=none







#INIT
CURRENT_SUBMENU=none
MSG=
manitouintro()
{
	"$SCRIPTFOLDER/manitou-intro.sh"
}





amenu="a.  Download les fichiers du serveur dedibox vers le poste local (fichiers web + fichier tan.sql)"                ;
bmenu="b.  Set Standard Defaults "        ; 
cmenu="c.  Display Directory Listing "    ; 
dmenu="d.   Payroll Menu "                ;
emenu=" "                                 ;
fmenu=" "                                 ;
gmenu=" "                                 ;
hmenu=" "                                 ;
imenu=" "                                 ;
jmenu=" "                                 ;
kmenu=" "                                 ;
lmenu=" "                                 ;




apick () { 
	"$SCRIPTFOLDER/rsync-dedibox-local.sh" "opening";

	}
bpick () { echo kop ; }
cpick () { ls -l| more ; echo Press Enter ; read DUMMY ; }
dpick () { payroll.mnu ; }
epick () { badchoice ; }
fpick () { badchoice ; }
gpick () { badchoice ; }
hpick () { badchoice ; }
ipick () { badchoice ; }
jpick () { badchoice ; }
kpick () { badchoice ; }
lpick () { badchoice ; }
badchoice () { MSG="$MSG_BADCHOICE_DEFAULT" ; } 





themenu () {
echo
echo -e $SPACING $MSG_YOUR_CHOICE
echo
echo -e $SPACING $amenu
echo -e $SPACING $bmenu
echo -e $SPACING $cmenu
echo -e $SPACING $dmenu
echo -e $SPACING $emenu
echo -e $SPACING $fmenu
echo -e $SPACING $gmenu
echo -e $SPACING $hmenu
echo -e $SPACING $imenu
echo -e $SPACING $jmenu
echo -e $SPACING $kmenu
echo -e $SPACING $lmenu
echo -e $SPACING x. Exit
echo 
echo
echo "$MSG_PLEASESELECT_DEFAULT" ;
}





while  true
do
	manitouintro
	
	echo "##############################################################################"
	echo $MSG
	echo "##############################################################################"	
	

	
	themenu  	  
  	read answer
  	
  	case $answer in
      	a|A) apick;;
      	b|B) bpick;;
      	c|C) cpick;;
      	d|D) dpick;;
      	e|E) epick;;
      	f|F) fpick;;
      	g|G) gpick;;
      	h|H) hpick;;
      	i|I) ipick;;
      	j|J) jpick;;
      	k|K) kpick;;
      	l|L) lpick;;


      	x|X) break;;

      	*) badchoice;;
 
  esac
done





 #!/bin/bash
 #manitou-helpers/manitou-intro.sh



submenu00="###########                                          #########################"
submenu01="###########           rsync-dedibox-local            #########################"




#clear
echo `date`



case $CURRENT_SUBMENU in
	"rsync-dedibox-local")
		submenuTitle="$submenu01"
		;;
	*)
		submenuTitle="$submenu00"
		;;
esac


echo "##############################################################################"
echo "##############################################################################"
echo "##############################################################################"
echo "###########         THE BIG MANITOU SCRIPT           #########################"
echo "$submenuTitle"
echo "###########                  by ling                 #########################"
echo "##############################################################################"
echo "##############################################################################"
echo "##############################################################################"

exit 0





 #!/bin/bash
#manitou-helpers/rsync-dedibox-local


#INIT
CURRENT_SUBMENU="rsync-dedibox-local"
MSG=




#SPECIFIC - You may want to copy paste from this line to create new child scripts
manitouintro()
{
	"$SCRIPTFOLDER/manitou-intro.sh"
}







amenu="a.  Voir les logs rsync"                ;
bmenu="b.  Rappatrier les images et les médias du dossier de quarantaine vers le dossier de travail "        ; 
cmenu="c.  Faire la rotation du fichier sql"    ; 
dmenu="d.    "                 ;
emenu=" "                                 ;
fmenu=" "                                 ;
gmenu=" "                                 ;
hmenu=" "                                 ;
imenu=" "                                 ;
jmenu=" "                                 ;
kmenu=" "                                 ;
lmenu=" "                                 ;




openingfunc()
{
	MSG="rsync: Le rappatriement a bien été effectué";		
}
 





apick () { 
	"$SCRIPTFOLDER/rsync-dedibox-local.sh";

	}
bpick () { echo kop ; }
cpick () { ls -l| more ; echo Press Enter ; read DUMMY ; }
dpick () { payroll.mnu ; }
epick () { badchoice ; }
fpick () { badchoice ; }
gpick () { badchoice ; }
hpick () { badchoice ; }
ipick () { badchoice ; }
jpick () { badchoice ; }
kpick () { badchoice ; }
lpick () { badchoice ; }
badchoice () { MSG="$MSG_BADCHOICE_DEFAULT" ; } 




themenu () {
echo
echo -e $SPACING $MSG_YOUR_CHOICE
echo
echo -e $SPACING $amenu
echo -e $SPACING $bmenu
echo -e $SPACING $cmenu
echo -e $SPACING $dmenu
echo -e $SPACING $emenu
echo -e $SPACING $fmenu
echo -e $SPACING $gmenu
echo -e $SPACING $hmenu
echo -e $SPACING $imenu
echo -e $SPACING $jmenu
echo -e $SPACING $kmenu
echo -e $SPACING $lmenu
echo -e $SPACING x. Exit
echo 
echo
echo "$MSG_PLEASESELECT_DEFAULT" ;
}




# Détermination du message
if [ $1 = opening ]
then
	openingfunc
fi



while  true
do
	manitouintro
	
	echo "##############################################################################"
	echo $MSG
	echo "##############################################################################"	
	

	
	themenu  	  
  	read answer
  	
  	case $answer in
      	a|A) apick;;
      	b|B) bpick;;
      	c|C) cpick;;
      	d|D) dpick;;
      	e|E) epick;;
      	f|F) fpick;;
      	g|G) gpick;;
      	h|H) hpick;;
      	i|I) ipick;;
      	j|J) jpick;;
      	k|K) kpick;;
      	l|L) lpick;;


      	x|X) break;;

      	*) badchoice;;
 
  esac
done





08h12 : voilà, je viens de finir mon squelette de programme,
du moins pour l'insant ça me convient tout à fait.
maintenant, ajoutons la chair.



En fait, avant, il faut que je saches comment exploiter les erreurs d'une fonction.
Je sais qu'il existe exit 0, et exit 1 pour les erreurs je crois, mais je ne sais pas concrètement comment l'exploiter…





09h52 : ok, un peu en retard .. Tours annonces

Donc : 

Navigation annonce
Ajouter une quickpage nav :
une petite boîte dans laquelle l'utilisateur tape directement le numéro
de la page sur laquelle il souhaite se rendre. 



Essayons en tant que module de liste5 et en gérant les conflits d'affichage éventuels pas css :


Ce truc en fait c'est une petite boîte dans laquelle un utilisateur peut mettre directement le numéro de la page qu'il veut, une sorte d'accès rapide.
Ceci m'a été conseillé par un utilisateur;.. il y a quelque temps …


10h36 : ok sous firefox, google chrome.

La suite :

Navigation annonce : pagelink top
Ajouter un pagelink au sommet de la liste des annonces,
si c'est visuellement esthétique et pratique.
Sinon, laisser tel quel. 

ok, ben testons;..


11h03 : ouai, chui pas convaincu, ça fait un peu brouillon, et j'me dis qu'avec le quicknav en haut et le pagelink en bas, 
l'utilisateur a quand même une facilité de navigation.
Le truc c'est que ça fait un peu brouillon, mais peut être en réduisant l'intensité de la couleur ….


11h32 : mouais, on va l'mettre quand même maintenant que c'est fait, mais pas très convaincu,
ça coûte 6 bonnes lignes de css, vous mo deirez j'ai le droit de compresser mes css si chui pas content, gasp ??.., 1 point pour vous..,
et quelques lignes de php.

Mais vu la taille de la liste (juste 20 annonces par page), ça fait limite ridicule, j'aimerais bien avoir des avis extérieurs,
mais bon j'en n'aurais pas naturellement, faudrait faire des sondages, mais pas le temps..
J'aurai peut être quelques avis quand même...

Et en plus je le laisse même sur les styles grid et journal, histoire d'aller jusqu'au bout du test,
la tâche de navigation est maintenant est grandement facilitée, les utilisateurs n'auront qu' à faire un mouvement de main de 1cm et une pression sur le bouton de leur
souris avec le nouveau système, contre un mouvement de main de 1cm, un effort du 3ème doigt pour ceux qui ont une mouse, un autre mouvement de 1cm, et une pression
pour l'ancien système.
Je l'impression de contribuer au développement de la fainéantise chez les internautes, heureusement mon site n'est pas tant visité,
on devrait me crucifier pour ça.
La suite…


Sécurité Admin : liste des fichiers de l'appli
sécurité
Il faudrait que je mettes également un script qui liste tous les fichiers sur le serveur, et en local,
et un autre qui retourne la différence, afin que je puisses détecter les backdoors... 

Déjà fait avec le système des rsync, la suite …


Services commerces gratuit *
Mettre le service compte vendeur gratuit pour ...
à réfléchir : un an, ou bien pourquoi pas pour tous les commerces qui s'inscrivent avant par exemple 2011 ...
A voir... 



ok disons, sous réserve d'une réflexion plus poussée (celle là est instantannée), que les commerces voient l'offre :

Testez le compte vendeur sans engagement gratuitement pendant 6 mois (ou un an).
Inscrivez-vous avant le tant tant tant.

ok, mais comme chui pas graphiste, ni commercial pour 2 sous, et que j'ai un pote qui lui cumule les 2 qualités,
mais qu'il rentre que ce soir, j'appelerai mon pote ce soir pour qu'il me file un coup de main, c'est un truc qu'il faut faire bien;..


En attendant je peux avancer, …

Moteur de recherche
Améliorer le moteur de recherche pour qu'il trouve pizzaono 

11h51
ok, voyons ce moteur de recherche;..

Putain j'ai envie d'me claquer

En fait c'est Piz'zaono
qu'il doit trouver mais pourquoi j'ai mis ça, je veux me faire perdre du temps ou quoi.

C'est quoi l'utilité ?
C'est que les gens trouvent piz'zaono en tapant pizzaono.

Mais pourquoi ils tapent pas piz'zaono direct….
oui je sais j'fais mon râleur, c'est fait exprés pour pas me prendre la tête et réfléchir pendant ce tmps là à la soluce réélle, sauf que là j'ai pas trouvée tout
de suite la maintenant;..
raté.

Mais un bon berger s'occuppe de toutes ses brebis.


Y  une solution que j'utilisais dans la v4 qui consistait à créer un champ supplémentaire dans la table commerce par exemple,
ce champ s'appelle genre synonyme, ou aide-recherche ou samère,
et qui est parsé par le moteur de recherche en plus des autres champs, actuellement nom, adresse, nom de catégorie et nom de la commune

En fait je crois que c'est clair que je vais faire ça, car ça à l'avantage de prévoir de nombreux cas de figures,
si jamais un mec qui vend des voitures mais qui s'appelle automachin veut être trouver pour voiture et pour honda, parce que sa spécialité c'est honda,
ou pour parebrise antigel, et bien techniquement il pourrait.
Arpès le bridage viendrait de moi, car sinon tout le monde se référencerait pour tout et n'importe quoi;
Certes je peux faire confiance que ce ne serait pas le cas, mais obligé de prévoir si ça arrive.

Bref, bonne solution, je rajoute un champ de recherche-supplementaire, et je rajoute manuellement pizzaono, et même pizaono, pizonno, pizaonno, …

Et voilà, ça m'évite de construire un bout de programme avec une intelligence artificielle capable de détecter les principales fautes et bref ,…
faisons…



et mangeons…


Juste un truc, je devrais pas le dire peut être mais j'le dis quand même ,
rien à voir mais j'ai remarqué que le fait de passer les annonces en republication automatique c'est bien, ça fait un roulement,
mais par contre les annonces ont toutes la même date de postage.
Normal, c'est mon robot qui les a relancées, mais bon,
ça fait hyper grillé, de voir les annonces postées bien régulièrement toutes les 20 minutes (il est très discipliné ce robot, je l'aime bien),
de 01h00 à chaiplus quelle heure genre 3h00 du mat.
Comme si il y avait eu des gens qui avaient posté des annonces à cette heure là, et tous à la même seconde…

C'est pas naturel.
Je vais dire à mon robot que si le temps de relance tombe entre 23h et 09h, il ajoute 12 heures, ou un truc comme ça.
Et puis pour chaque annonce, il rajoute un temps symbolique supplémentaire, et aléatoire, genre entre 1 et 5 minutes.

Est-ce que c'est mal de faire ça ?
Ca peut être vu comme de ma gruge.
Zavéka m'jeter la première pierre.
Mais aussi c'est juste pour éviter que des utilisateurs s'interrogent sur le site et ils vons se dire, tiens c'est bizarre ce truc là
et ils vont pas avoir confiance…, parce les robots n'inspirent pas confiance;..

Bref, ce soir , soit je ferais soit je ferais pas.. mangeons au lieu de parler là;.

sch-commerce2.png


J'ai mis que 255 caractères max pour le champ finalement nommé thesaurus, ça fait genre;
et mysql est plus rapide sur un champ de 255 caractères que si j'avais mis du texte.
La contrepartie c'est que j'ai que 255 pour l'instant, et en cas d'évolution je devrais le modifier manuellement.
Faire ce choix au niveau de la conception ça traduit ma croyance que ce champ ne sera pas utilisé jusqu'à plus de 255 caractères avant un bon bout de temps.
Donc autant gagner ce qu'on peut gagner en perfs…

A vrai dire, j'ai déjà pensé au système où les commerçants mettent eux même leur mots clés, tags,
et le fait d'être limité à 255 caractères, to my opinion is a good thing.

Donc 255 ok.

12h39 ok pour la recherche sur la liste des commerces.
Au passage, j'ai vu dans mon code que la partie commerce actuellement ne supportera pas telquel le passage en multivilles,
une exception est gérée cradement dans le code, bref.

Faisons la même chose pour le moteur de recherche de commerce dans le compte utilisateur, si il existe, me rappelle plus.


12h44 ok;

J'en ai profité pour remettre iso avec la liste en prod (le moteur de recherche dans la liste dans mon compte ne cherchait pas dans la commune…)

oubli de ma part…

La suite;..

TAO : récompenser le fait de trouver un bug
Recompenser les utilisateurs lorsqu'ils trouvent des bugs sur le site
Leur donner des TAO, quand ils trouvent un bug sur le site. 


Ouai, marrant.
Niveau utilité pas convaincu mais bon, c'est dit, on fait;..


minitodo unorderedlist : 
mettre une constante qui fixe le nombre de points à attribuer en cas de trouvage de bug.
Mettre la constante dans la fac dans les parties comment gagner des tao et les constantes systèmes
Pour la partie comment gagner des tao, faire un screenshot qui montre clairement le lien à activer quand on a trouvé un bug;

Pour le reste, étant donné la fréquence à laquelle les utilisateurs devraient trouver un bug et le signaler,
je peux me permettre de faire au cas par cas à la main.

Pour motiver les utilisateurs à utiliser ce système je mettrais une forte récompense :

l'équivalent de 100 annonces postées, ça fait 10 tao.
Je mettrai 100 tao, afin que les gens soient excités de trouver un bug, (et surtout qu'ils me le signalent).

Normalement, personne ne devrait trouver de bug.
Ai-je besoin de préciser qu'une faute d'orthographe n'est pas un bug… je ne pense pas quand même…



12h58 musique
13h58 Tours annonces

14h28 : ok.

La suite…



Page d'accueil : afficher les promos commerçants
promo
Sur la page d'accueil au lieu de faire défiler les photos de la ville,
faire défiler les promos des commerçants... 


Mouais, moi j'aimais bien les photos, pas grave, on les placera ailleurs…

En plus ya déjà un espace pour les promos, c'est juste que pour l'instant ya aucune promo.
Mais ça peut servir pour 93annonces qui a une disposition différente.

Je vais développer un module qui permet de faire défiler des choses.

Voyons déjà ce qui était fait, je vais certainement reexploiter une bonne partie…


14h42
Je n'aime pas celui qui est actuellement sur le site, car il n'est pas circulaire.

Soit j'en redéveloppe un, ça me coutera toute la journée, et plus, soit je modifie l"gèrement celui là …

Je sais pas pourquoi je me fais chier :
http://www.gmarwaha.com/jquery/jcarousellite/

Je vais intégrer celui là… ;)

vive le web.;.

2Kb, il a tout ce qu'il faut pour me plaire..

15h22 : trop fastoche,
choi en train de jouer avec les options, c'est que du bonheur, un bijou.
Seul regret, j'ai pas encore vu de mode défilement sans arrêt, mais bon,
tant pis, il a tous les autres avantages en natif.
L'option vertical me donne des idées : mettre les promos qui défilent en vertical dans le compte de l'utilisateur;
Mais bon pour l'instant restons terre à teere et poursuivons, je continue  à tester le composant;..

15h28 : boben voilà, j'ai fait le tour.
Ce truc, c'est le plus gros gain de temps de cette journée, un truc que j'aurais jamais pu coder aussi proprement qui m'est offert.

Pour ce qui est de faire défiler les promos, j'attends qu'il y ait des promos, il suffira de faire une requête avec lien.,
ça ne devrait pas prendre plus de 10 minutes.

Bah, autant la faire tout de suite comme ça ça sera fait, mais bon, il faut que j'ajoute les promos à la main;.. grmlblblb

15h36  4 promos sont insérées, ça me fait penser que j'ai oublié de donner le compte vendeur aux commerçants qui ont acheté le compte perso Tours annonces.

Je leur donnerai à chacun 100 TAO pour les récompenser de leur fidélité,
sachant que le compte vendeur coute actuellement 60 TAO, en attendant qu'il devienne gratuit il faut que je fasses vite, ou plus tard sinon bref.
15h44 : Ca y est. Bon, je me le mets de côté  pour l'instant, faudra quand même éventuellement juste styler les flèches de navigation;.


Alors maintenant comment donner les 100 TAO à ceux qui ont une page perso, comment les reconnaître ?  ah ben ils ont tous une page perso déjà.
C'est bon alors pas besoin d'en savoir plus…

ok, j'ai préparé la requête à lancer ce soir;..
faudrait que je les appelle après ou envoi mail on verra;..


La suite...





Nouvelle rubrique patrimoine
photos ville
Pour les photos de la ville, créer une rubrique patrimoine où les gens peuvent mettre leur article eux même, et leurs photos.... 



Alors là ça sent le système de modération, hélas je l'ai toujours pas abstrait comme il faut.

J'ai bien un système, mais il est complexe, et sécurisé, alors je sais pas … il me reste à peu près 10 jours pour ce mois ci..

Ca me prendra bien la journée de demain, sachant que le référencmeent et l'emploi, je préfère me prendre 3 jours sur chaque.
Short le timing, short;..

Bon ok on fait le système de modération, c'est quoi déjà ?

Déjà on va commencer par une douche;..

16h32 : ok,


le gros problème que je vais avoir, c'est où stocker les photos pour les articles.
Déjà, combien de photos autorisées par article. 1 ? C'est peut être pas suffisant pour tous les articles.

Comme j'ai fait un setionnaire de médias, autant l'exploiter.
A la base, celui qui fait un article peut mettre autant de photos qu'il veut, du moment qu'il les héberge ailleurs.
Le html sera permis.
Soit je m'arrête là, et basta.
Ca me facilite grandement la vie, mais pas celle de celui qui veut mettre un article.

Ben en fait je crois que je suis bête car cela doit déjà être géré : si le gestionnaire de médias existe les photos sont directement
browsables avec tinymce, donc en gros c'est bon, si un utilisateur a un gestionnaire de médias sur Tours annonces, il pourra l'utiliser, à vérifier.

Après, mon framework objet n'étant actuellement plus sur pied et n'ayant hélas pas le temps de le remonter,
je vais devoir coder à la main les formulaires et listes.

En gros je vais me baser sur le même modèle que l'annonce pour le système de modération.
J'avais pensé à une modération bcp plus libre = pas de modération ou après coup, avec un système de tampon officiel une fois que c'est validé,
mais en cas de modification, le tampon doit -il rester ? la problématique, hélas revient…

Et si c'est une modération complètement libre = pas de modération, alors est-ce que s'appeler patrimoine et correct, ça serait plutôt "vos articles",
ou "libre à vous".

En fait, je doute que des gens s'investissent dans un projet qui n'est pas le leur.
Si, une fois une fille l'a fait, généreuse en fait.

Bon, ben ce système je le fais pour moi en prévision de remplir moi même tout le contenu, de faire plein d'articles sur la ville.
Et comme chui pas méchant je partage l'outil d'insertion d'articles avec les autres utilisateurs.

Vu comme ça, pas besoin de système de modération.
Pourquoi faire ?


Y a rien à modérer.
Si un jour ça part en couilles on verra sur le moment, en tant que webmaster du site j'ai tous les pouvoirs, je serais pas démuni face à un incident;…

Bref, moins de prise de tête du coup.

Y aua des articles validés, c'est à dire reconnus … ah oui tiens reconnus !
C'est les utilisateurs qui voteront, la majorité a toujours raison.
Si on met 4 articles côtes à côtes les gens choisiront d'eux même ceux qu'ils préférent et n'accorderont que très peu d'importance à ceux qu'ils n'aiment pas.
Donc un mec qui s'amuse à mettre de la merde sur le site, et bien les gens ne lui accorderont que peu d'intérêt, la sélection naturelle.

Dire que j'ai prévu tout un système de modération pour les annonces juste pour epérer contrôler ce genre d'incidents qui ne représenent qu'une partie infime du trafic.

C'est vrai qu'il y a parfois des arnaques, mais de toutes façons elles sont avec ou sans système de modération.

Bref, j'arrête d'essayer de tout contrôller, développons le service sans penser au mal (avec le minimum de sécurité bien sûr;



Un article je veux mettre mes photos et les disposer, j'utiliserais tinymce ou un article html déjà fait (ça passera quand même par tinymce).

id
catégorie 
texte html
un utilisateur

Ben voilà, je crois que j'ai mon article.


ah oui, un statut qui sert à plein de trucs...

17h01
Créons la table





sch-article.png



17h08 : maintenant, créons un formulaire qui nous permette de rentrer le premier article en bdd.

On va placer ce fomrulaire dans mon compte > mes articles, il y aura pour commencer un lien ajouter un article.


17h28 : création de la catégorie article et de sa sous-catégorie default en prévision d'accueillir mon premier article;

17h38 : ajout des catégories article>patrimoine,
article>patrimoine>general
article>patrimoine>muséée

afin de fournir un contenu plus consistant pour le formulaire.

17h46 : le formulaire de base est fonctionnel.
Il y a des petites capuches (terme que j'invente) encore sur la liste : elle affiche toutes les catégories : default, patrimoine général et musée,
il faudra filtrer default à la racine;..


ou pas.



ajoutons le tinymce

17h50 : tinymce avec plugin gestionnaire de médias sont activés, kool…


Passons maintenant à l'affichage de la liste des articles dans mon compte.
Et c'est là que je regrette de ne plus avoir mon framework objet,
mais bon, j'ai toujours mes liste5, mais j'aime moins.
Faisons toutefois avec liste 5.
Le plus long sera de styler l'article en liste.
J'avais fait des mockobjects pour ça mais faut que je les retrouve…


18h: sport



18h50 : avant Joomla , je me suis rendu compte qe j'avais oublié la date pour un article.
Du coup, j'ai mis date de création et date de modification qui correspondra à la date de la dernière modification


Et enfin j'ai ajouté le champ compteur de visite 

sch-article2.png




18h57 : joomla

21h59 : putain j'ai eu du mal, mais bon, finalement c'est bon.
Je remercie mon bout de framework qui est très léger et adaptable à tout type de configuration..

Pour l'instant je ne montre rien, c'et en préparation… héhé…


Maya

Divertissement 


1h23 : oups, il est déjà tard..


Je dois préparer la liste des services pour mon pote…


en texte brut, faisons cela ….


en fait comme il faut les captures d'écran avec des événements déjà mis, des promos etc;.. ça va me prendre longtemps, commençons plutôt par la mise à jour du site…


Donc il faut juste que je retire ce qui concerne les articles dans le code, c'et à dire l'accès depuis mon compte;.. 
ok, passons à la mise à jour alors;;.



ok : nickel …


02h03 : bon ben en fait je les ferais demain, …

trop fatigué..






PATCH :

FAC ::

id=11
En postant 1 annonce, vous gagnez automatiquement {CONST_TAO_GAIN_PAR_ANNONCE} {CONST_TAO}.
Les {CONST_TAOS} sont crédités automatiquement sur votre compte {CONST_WEBSITE_TITLE_DEFAULT}.

Si vous arrivez à trouver un bug sur le site, vous devez le signaler par le biais du formulaire de bug accessible depuis toutes les pages du site, en bas. 
Voir l'image pour localiser le lien.

Si il s'avère que c'est bien un bug, vous serez récompensé de {CONST_TAO_GAIN_PAR_BUG} {CONST_TAO}
( Donc n'oubliez pas de laisser votre email ou votre pseudo )


id=44
Voici les principales constantes du système {CONST_WEBSITE_TITLE_DEFAULT}.
Les constantes régissent le comportement général du site,
et sont susceptibles d'évoluer au cours du temps.
Par exemple, la durée de vie d'une annonce est définie par une constante système.


Le nombre maximum de photos autorisées pour une annonce : {CONST_ANNONCE_MAX_PHOTOS_BY_ANNONCE}
Le nombre de {CONST_TAO} gagnés pour une annonce postée : {CONST_TAO_GAIN_PAR_ANNONCE}
Coût de la republication d'une annonce : {CONST_TAO_COUT_REPUBLICATION_ANNONCE} {CONST_TAO}
Prix en {CONST_TAO} de l'activation d'un compte vendeur (version payante) : {CONST_TAO_COUT_ACTIVATION_COMPTE_COMMERCE}
1 Euro équivaut actuellement à {CONST_TAO_1EURO_IS_X_TAO} {CONST_TAO}
Durée de vie en jours d'une annonce sur le site : {CONST_ANNONCE_LIFETIME}
Nombre de {CONST_TAO} attribués à un utilisateur qui poste un commerce qui ne lui appartient pas (et qui est validé) :
{CONST_COMMERCE_POST_COMMERCE_REWARD}
Gain en {CONST_TAO} pour un bug trouvé : {CONST_TAO_GAIN_PAR_BUG}





PATCH SQL


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';

ALTER TABLE `tan`.`commerce` ADD COLUMN `thesaurus` VARCHAR(255) NOT NULL  AFTER `date_creation` ;
UPDATE `tan`.`commerce` SET `thesaurus` =  'pizzaono pizaono pizzaonno pizaonno' WHERE `commerce`.`id` =20;



update utilisateur_tan set tao=tao+100 where id=15769;
update utilisateur_tan set tao=tao+100 where id=15770;
update utilisateur_tan set tao=tao+100 where id=15782;
update utilisateur_tan set tao=tao+100 where id=15787;
update utilisateur_tan set tao=tao+100 where id=15796;
update utilisateur_tan set tao=tao+100 where id=15798;
update utilisateur_tan set tao=tao+100 where id=15909;


CREATE  TABLE IF NOT EXISTS `tan`.`article` (
  `id` INT(11) NOT NULL AUTO_INCREMENT ,
  `arborescence_id` INT(11) NOT NULL ,
  `utilisateur_id` INT(11) NOT NULL ,
  `titre` VARCHAR(255) NOT NULL ,
  `textehtml` TEXT NOT NULL ,
  `date_creation` DATETIME NOT NULL ,
  `date_modification` DATETIME NOT NULL ,
  `nb_visite` INT(11) NOT NULL ,
  `statut` TINYINT(4) NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_article_arborescence1` (`arborescence_id` ASC) ,
  INDEX `fk_article_utilisateur1` (`utilisateur_id` ASC) ,
  CONSTRAINT `fk_article_arborescence1`
    FOREIGN KEY (`arborescence_id` )
    REFERENCES `tan`.`arborescence` (`id` )
    ON DELETE CASCADE
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_article_utilisateur1`
    FOREIGN KEY (`utilisateur_id` )
    REFERENCES `tan`.`utilisateur` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1
COLLATE = latin1_swedish_ci;



SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;























AgenceWeb37, agence web de création de site vitrine en Indre et Loire (37)
0.009788990020752