My Developpement Blog

Aller au contenu | Aller au menu | Aller à la recherche

NDCMS: Le fichier bootstrap

Un Anneau pour les gouverner tous,
Un Anneau pour les trouver
Un Anneau pour les amener tous et dans les ténèbres les lier

J.R.R. Tolkien in Le Seigneur des Anneaux

Lire la suite

NDCMS : Gestions des fichiers JS/CSS/...

Suite à la vision du screencast \"protecting assets with zend controller plugins\", j'ai détourné le plugin afin de me permettre l'utilisation de ressources situées en plusieurs endroits.

En effet, il est possible que le module doivent charger ces propres CSS/images/Javascript pour avoir un fonctionnement optimal. Hors, je ne souhaite pas à chaque nouveau site, devoir recopier les ressources spécifiques.

De plus, je devais aussi gérer le fait que les différents sites aient le même fichier index.php, les informations propres aux sites se situant dans le répertoire applications.

<?php
 
class ND_Controller_Plugin_Resources 
	extends Zend_Controller_Plugin_Abstract{
 
	public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request){
 
		if ( $request->getControllerName() != 'resources' )
			return ;
 
		$from = $request->getParam('from','default')  ;
 
		switch( $from ){
			case 'common' :
				$file = COMMON_PATH. '/file' ;
				break;
			case 'default':
				$file = APPLICATION_PATH. '/file' ;
				break;
			default :
				$file = MODULES_PATH . '/' . $from ;
				break;
 
		}
 
		$file .= '/statics/' . $request->getParam('file') ; 
		if ( file_exists($file) ){
			header('Content-Type:', finfo_file(finfo_open(FILEINFO_MIME_TYPE), $file) );
			$content = file_get_contents($file);
			// permet de gerer les urls dans les css 
			if ( substr($request->getParam('file'),0,3) == 'css' ){
				$content =  str_replace('url(../', 'url(resources?from='.$from.'&file=', $content );
			}
			echo $content ;
		}			   
		exit;
 
	}	
 
 
}

NDCMS : Gestion de la maintenance d'un site

Un plugin

  1. class ND_Controller_Plugin_Maintenance extends Zend_Controller_Plugin_Abstract
  2. {
  3. public function routeShutdown(Zend_Controller_Request_Abstract $request)
  4. {
  5. $request->setActionName('index');
  6. $request->setModuleName('default');
  7. $request->setControllerName('maintenance');
  8. }
  9. }

un controlleur

  1. <?php
  2.  
  3. class MaintenanceController extends ND_Controller_Action {
  4.  
  5. public function indexAction(){}
  6.  
  7. }

une vue

  1. <h1><?php echo $this->translate('site.unavailable.title');?></h1>
  2.  
  3. <?php echo $this->translate('site.unavailable.content');?>

une ligne dans le application.ini à décommenter en cas de maintenance

  1. ; resources.frontController.plugins.maintenance = "ND_Controller_Plugin_Maintenance"

Ne reste plus qu’a :

  • permettre de gérer la mise en/sortie de maintenance via le système de gestion de l’application
  • permettre de by-passer la maintenance selon des règles établies (IP/Authentification htaccess)

Merci à E.Schrade pour l’idée qui reste à appronfondir

Bonne nouvelle pour le web

Ils en parlent et mieux que moi :

Reste plus qu’à voir ce que cela va donner

Réaliser un dégradé linéaire

Petite note pour gérer les dégradés linéaires, beaucoup de possibilités s’ouvrent grâce à ça. Yapluka

Lire la suite

- page 1 de 8

Les raisons de ce blog.

  • Me servir de pense-bête;
  • Parler de mes développements en cours
  • Discuter sur mes réflexions et interrogations
  • Discuter de l'actualité informatique

Ce que ne sera pas mon blog

  • Une tribune sur ma vie personnelle
  • Une tribune politique

En gros ce blog est un blog avec une orientation plutôt professionnelle même si je me permettrai quelques écarts