Au début l'homme pensa la machine pour l'aider à penser, puis la machine l'aida à penser, et maintenant la machine pense que l'homme doit aussi penser

Blog sur le developpement informatique de karando

mercredi 2 juillet 2008

Redirection php

Redirection PHP.

 // 301 Moved Permanently
 header("Location: /foo.php",TRUE,301);
 // 302 Found
 header("Location: /foo.php",TRUE,302);
 header("Location: /foo.php");
 // 303 See Other
 header("Location: /foo.php",TRUE,303);
 // 307 Temporary Redirect
 header("Location: /foo.php",TRUE,307);

mercredi 25 juin 2008

GoogleMapApi

Donc j'ai installé le système de google Map Api sur le site espace-maroc.com
La classe que j'ai utilisé la GoogleMapApi.class.php une petite recherche sur google et vous la trouverez.
Il me fallait la possibilité de positionner les riads sur une carte c'est pour cela que j'ai opté pour google. Nous avions une carte dessiné par des webdesigner mais vu comment cela avance les cartes d'autre ville n'aurait pas ete prete donc google est la solution. Ce que je voulais faire c'est que l'on puisse cliquer sur la carte pour identifier ou le riad se trouve et ensuite enregistrer les positions des points.
C'est pour cela que j'ai ajouté quelques lignes à cette classe qui ne devait (je pense) pas prendre en compte la chose.
Voici les lignes ajoutées :

 L231 : /**
 L232 : * determine if we create a drag and drop marker + name input longitude et latitude
 L233 : *
 L234 : * @var boolean
 L235 : */
 L236 :   var $Flag_DragMarker = false;
 L237 :   var $InputLatName="";
 L238 :   var $InputLonName="";

Dans la méthode : L1094: function getCreateMarkerJS() { J'ai ajouté aux lignes :

 L1144: if ($this->Flag_DragMarker) {
 L1145: $_output.= $this->getPositionMarker();
 L1146: }

Et en fin de fichier :

  function getPositionMarker() {
     if ($this->Flag_DragMarker) {  
       $str='
 		    GEvent.addListener('.$this->map_id.', "click", function(overlay, point) {
 		    	document.getElementById(''.$this->InputLatName.'\').value = point.y;
 		    	document.getElementById(''.$this->InputLonName.'\').value = point.x;
 		
 		    	if (marker == null) {
 		      		marker = createMarker(point, "green");
 		      		marker.enableDragging();
 		
 		      		GEvent.addListener(marker, "drag", function() {
 		        		document.getElementById(''.$this->InputLatName.'\').value = marker.getPoint().y;
 		        		document.getElementById(''.$this->InputLonName.'\').value = marker.getPoint().x;
 		      		});
 		
 		      		'.$this->map_id.'.addOverlay(marker);
 		    	} else {
 		      		marker.setPoint(point);
 		    	}
 		  	});
 		  	';
 		}
 		else 
 			$str="";
 	    return $str;
    }

Apres ces modifications il suffit, dans la page ou il y a l'appel a l'objet de rajouter, dans l'enonciation des variables et markeur de mettre :

 $map->Flag_DragMarker=true;
 $map->InputLatName="inputlatname";
 $map->InputLonName="inputlonname";

Et bien sur d'ajouter sur la page les deux input afin de recuperer les value avec les noms enoncé au dessus.

mardi 24 juin 2008

Ajouter au Favorie sur Ie et Firefox

Voici un code permettant d'ajouter au favorie (Bookmark) de votre navigateur. Il existe toutefois un probleme avec Firefox. Il faut modifier le bookmark et decocher en faisant un propriété la case pour l'affichage dans le sidebar. Le code:

 <script>
 function favoris() 
 {
   if ( navigator.appName != 'Microsoft Internet Explorer' )
   { 
     window.sidebar.addPanel("Espace-Maroc.com","http://<?php echo $_SERVER"SERVER_NAME"."/".$_SERVER'REQUEST_URI';?>",""); 
   }
   else 
   { 
      window.external.AddFavorite("http://<?php echo $_SERVER"SERVER_NAME"."/".$_SERVER'REQUEST_URI';?>","Espace-Maroc.com"); 
   } 
 }
 </script>
 <div style="margin:0 0 7px 0;">
 <a href='javascript:void();' onClick="favoris();return(false);"><img src='/images/commun/minisite-favoris.jpg' alt=''/></a>
 </div>

Des qu'une correction sera faite pour ce bug nous le publieront.

lundi 23 juin 2008

Fonction de verification SPRY avec dreamweaver

La fonction sry sur les champs de formulaire est tres utile si l'on veut eviter de se tapper la validation des champs de formulaire. Pour cela on utilise le generateur automatique de dreamweaver qui va generer dans la page du formulaire le code necessaire a faire l'execution du javascript. Il va pour cela rajouter :

Ces quatres lignes en haut du formulaire

 <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
 <script src="SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
 <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
 <link href="SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />

Et coder le champs input differemment :

 <p>

<label>Nom <span class="error">*</span></label> <span id="sprytextfield1"> <input name="intern_nom" id="intern_nom" type="text" value=""/> </span>

   </p>

En bas de page aussi est ajouté :

 <script type="text/javascript">
 <!--
 var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1","none", {validateOn: "blur" });
 -->
 </script>

Remarque on ne peut pas utiliser le onsubmit sur le form ou le input submit pour valider le formulaire.

Probleme de Session

Quelque fois vous avez un message qui apparait : Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

Pour corriger ce message il existe une commande en php la voici :

 ini_set('session.bug_compat_42',0);
 ini_set('session.bug_compat_warn',0);

L'autre solution est dans le htaccess

 php_flag session.bug_compat_42 0
 php_flag session.bug_compat_warn 0

dimanche 15 juin 2008

Wampserver2 htaccess et virtualdomain

Alors voila hier soir apres avoir telecharger des fichiers, j'ai eu ma machine planter grave, Avec un petit Cd de boot pour windows qui me permet de charger windows sur cd, j'ai pu recuperer les differents projet (clients et perso) et autre chose (image perso, outlook) enfin, Apres avoir reinstaller l'os avec sp2 et sp3 + patch correctif et oui. Je me suis dit pourquoi ne pas reinstaller avec la derniere version mon serveur Lamp en local. Donc je cherche le bon Wampserver et voila la version 2. Ok download et installe.

Installation du serveur simple clair et rapide
JE me dit si je pouvais avoir comme avant mes repertoire avec des ports ce serai bien cool. donc je cherche et la non ben y a pas vraiment de port. par contre y a les virtualhost. Donc je me dis qu'ils doivent faire comme sur les serveurs en ligne donc voyont voir la modif du serveur bon apres avoir faire mainte test qui n'etait pas concluant j'ai decider d'utiliser mon ami google. Et au miracle un genti forum me donne la solution :

http://www.wampserver.com/phorum/read.php?1,33573,33578#msg-33578



Donc j'installe je mets dans le host le semi nom de domaine et j'essaye de faire fonctionner cela. Tout a l'air bon pour le serveur Web. Maintenant le htaccess et non, que cela ne tienne je vais dans le serveur chez ovh, je recupere les infos qui sont contenu dans :< directory et j'ajoute ou modifie dans le serveur local pour avoir les lignes suivantes :

   <Directory />
   Options Includes ExecCGI MultiViews FollowSymLinks Indexes
   AllowOverride All
   </Directory>
   <Directory "c:/wamp/www/">
   #
   # Possible values for the Options directive are "None", "All",
   # or any combination of:
   #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
   #
   # Note that "MultiViews" must be named *explicitly* --- "Options All"
   # doesn't give it to you.
   #
   # The Options directive is both complicated and important.  Please see
   # http://httpd.apache.org/docs/2.2/mod/core.html#options
   # for more information.
   #
   Options Indexes FollowSymLinks
   #
   # AllowOverride controls what directives may be placed in .htaccess files.
   # It can be "All", "None", or any combination of the keywords:
   #   Options FileInfo AuthConfig Limit
   #
   AllowOverride all
   #
   # Controls who can get stuff from this server.
   #
   #onlineoffline tag - don't remove
   Order allow,deny
   Allow from all
   #Allow from 127.0.0.1
   </Directory>


Je remarque aussi qu'il n'y a pas : AccessFileName .htaccess donc je le rajoute aussi
Et apres ca fonctionne avec mon rewrite d'url aussi (j'avais activer cela dans le gestion wamp de apache)

lundi 28 avril 2008

Classe du framework - C_formulaire

La classe C_formulaire est une classe de gestion qui va créer les champs de formulaire : input, select, textarea. Cette classe permet de plus de créer des modèles de formulaire c'est a dire des type de formulaire bien défini.

Lire la suite

mercredi 7 novembre 2007

Encore de la musique...

mardi 6 novembre 2007

un peu de musique

Installation du Module FFmpeg

Donc ce week-end je me suis amusé a installer le module FFMpeg pour faire de l'encodage video directement sur le serveur et faire un peu comme tout le monde de l'encodage en FLV. Donc le composant qui est utilisé pour cela est FFmpeg que l'on doit installer sur le serveur.

Lire la suite

mardi 25 septembre 2007

Classes du Framework - C_traduction

Recemment, la C_texte pour un site en plusieur langue necessitait une classe de traduction.

Lire la suite

jeudi 20 septembre 2007

Classes du Framework - C_categorie_multicritere

Nous avons vu une classe de gestion de texte indexer par un keyword et bien cette classe sera parametrer de la meme maniere

Lire la suite

vendredi 14 septembre 2007

Les classes PHP version 2

Je vous avais demandé comment vous utilisiez vos classes, et bien donc j'ai fini par procedé de la maniere suivante:

Lire la suite

Classes du Framework - C_texte

Cette classe permet la gestion des textes en dynamique. Dependant de la classe C_langue pour la partie multilangue.

Lire la suite

jeudi 13 septembre 2007

Classes du Framework - C_langue

Les classes qui caracterisent un framework sont les classes qui permettent de gerer ce qui doit etre gerer par le framework. En clair les classes ou du moins les explications suivante permettent de faire des sites en multilangue, de gerer les images et les categorie ainsi que les textes

Lire la suite