14 années d'expérience & d'innovations
au service de vos projets web et Internet
Pour proposer un éventail un peu plus large de services, ADDP a élargi son champ de compétences.
Désormais si vous avez un projet qui requière l'utilisation d'un CMS open source et de la souplesse nous vous proposons les solutions suivantes basées sur Drupal 7 et bientôt Drupal 8 :
- Installation, paramétrage et optimisation
- Maintenance (Mises à jour, migration...)
- Création de site complet
- Développement de modules
- Développement spécifique
N'hésitez pas à nous contacter pour étudier votre projet ou demander un devis
Depuis quelques mois, Au-delà des Pixels fait partie de #NWX (Normand Web Expert), l'association normande des professionnels de la filière Internet. Le réseau s’agrandit !
Le prochain gros rendez-vous arrive bientôt, le 26 Juin pour la conférence technique, ecommerce, témoignages...
Je viens de faire une découverte aujourd'hui en bossant sur le site de moto-station.com et si mon raisonnement est bon, ceci pourrait éviter un arrachage de cheveux à d'autres :
Si une variable de session est definie dans un script PHP et que celui ci est appelé via ajax à partir d'un autre sous domaine, la variable de session n'est pas conservée au prochain appel.
Alors qu'elle est conservée si l'appel ajax vers le script PHP se fait sur le même sous domaine.
Voici un exemple :
Le script ajax.php défini la variable de session $_SESSION['test'] = 1;
<?php session_start(); if ( isset($_SESSION['test']) ) echo '$_SESSION['test']==true'; else { echo '$_SESSION['test']==false'; $_SESSION['test'] = 1; } ?>
La page du site aaa.mondomaine.com/page.htm contient le script suivant : xhr.open('GET', 'http://bbb.mondomaine.com/ajax.php'); (je simplifie en faisant un appel Ajax basique)
=> au second appel $_SESSION['test'] n'est toujours pas défini (isset($_SESSION['test']) == false)
La page du site bbb.mondomaine.com/page.htm contient le script suivant : xhr.open('GET', 'http://bbb.mondomaine.com/ajax.php');
=> au second appel $_SESSION['test'] est bien défini (isset($_SESSION['test']) == true)
Ce qui est étonnant c'est que la session est bien transmise dans le deuxième cas et pas dans le premier alors que l'on appel toujours la même URL à partir du même navigateur, j'imagine que la session doit dépendre du contexte d'appel du script Ajax.
Si vous avez des remarques à ce propos, n'hésitez pas à laisser un message sur notre formulaire de contact.
Eric
On pourra dire ce que l'on veut sur le personnage mais il en a dans la tête et son séjour en Inde lui a sacrément ouvert l'esprit.
http://blogs.wsj.com/digits/2011/08/24/steve-jobss-best-quotes/
En ce qui me concerne j'adhère complétement à certains de ses principes, entre autre :
Ce qui est intéressant à la lecture de ces citations, c'est de se dire "mais oui c'est évident", dans ce cas pourquoi ne pas faire de même et pourquoi peu l'on fait avant lui.
Eric
Ce n'est pas parceque les symptomes restent les mêmes que la source du problème ne s'est pas déplacée.
Vous apportez une correction à votre code qui parait valable, en testant à nouveau, le résultat affiché est le même mais ne correspond toujours pas au résultat attendu. Ca ne veut pas dire forcément que la correction que vous venez d'apporter n'a rien résolu mais ça peut vouloir dire que le problème s'est déplacé.
Dans ce cas au lieu de s'obstiner sur ce bout de code, essayez de chercher plus loin dans le déroulement du programme.
Eric
En plus du développement de notre CMS, nous avons des clients fidèles avec de gros projets sous le coude.
Nous sommes déja bien occupé avec les projets en cours ce qui nous amène à rechercher un développeur freelance.
Peu importe votre situation géographique, les réunions de travail se feront via Skype et la gestion de projet via un outil dédié. Tous les développements seront basés sur un framework interne.
Compétences requises :
Serait un plus :
Les gros projets sur lesquels nous travaillons en ce moment :
Si cette offre vous intéresse, laissez un message sur notre formulaire de contact avec quelques exemples de réalisations, votre expérience (résumé), implication éventuelle dans un projet Open Source.
Nous répondons à tous les courriers.
En attendant de faire connaissance, à vos claviers...
Le blog a été délaissé à tord depuis quelques temps (presque 3 ans !), nous avions un peu trop la "tête dans le guidon", heureusement les choses ont bougé depuis.
Je profite de la refonte imminente de notre site pour reprendre plus sérieusement la rédaction du blog.
En résumé voici ce qui a changé pour nous :
Après beaucoup de temps passé à la lecture d'articles à propos des frameworks php ainsi qu'à l'analyse d'exemples de codes réalisés avec ces framework, j'ai fini par avoir un peu mal à la tête.
Plus ça allait plus je me disais qu'il fallait consacrer pas mal de temps à l'apprentissage d'un framework et qu'au final par rapport à nos besoins, ce ne serait pas justifié. Surtout que la plupart des Frameworks "imposent" l'utilisation du pattern MVC à leur manière qui est souvent 100 % orientée objet.
Et finalement je suis tombé sur cet excellent article de Rasmus Lerdorf :
- The no framework PHP MVC framework
Du coup pourquoi ne pas utiliser notre framework existant, que l'on maitrise parfaitement, qui est basé sur un model MVC maison (aussi simple que celui de Rasmus) et y ajouter des objets provenant du Zend Framework. A part apprendre les différentes classes du ZF nous allons gagner du temps.
Avant d'aller plus loin il est nécessaire de mettre en place tout l'environnement de développement du projet.
PHP étant un langage suffisamment mature, il existe pleins de solutions pour se simplifier la vie, notamment les frameworks.
Ces derniers proposent des briques (le plus souvent sous forme de classes) qui permettent de réaliser des taches bien spécifiques avec l'avantage d'être bien réalisées. Elles ont été pensées par des personnes qui ont une bonne expérience du développement web et de ses contraintes.
Après pas mal de lecture sur la toile, plusieurs philosophies existent :
PHP est lui même un moteur de template :
<html> <head> <title><?php echo $page->getTitre()?></title> </head> <body> <h1>Une liste</h1> <ul id="listeUtilisateurs"> <?php foreach($users as $user): ?> <li> <?php echo $user->id;?> <?php echo $user->name;?> <a href="mailto:<?php echo $user->email;?>"><?php echo $user->email;?></a> <?php echo $user->valide ? 'valide' : 'non valide');?> </li> <?php endforeach; ?> </ul> </body> </html>
Avantages :
- Simple et rapide à l'execution
- Pas besoin d'apprendre un autre langage
Inconvénients :
- Pas mal de pollution visuelle dans le template
- <?php echo ...?> long à écrire à écrire et le balisage simple <?=...?> n'est pas toujours reconnu et risque de devenir obsolète.
- Pas de gestion de cache intégré, il faut en créer un ou en utiliser un existant.
Autres moteurs de template (Smarty, Modelixe...):
Avantages :
- Code assez lisible
- Système de cache le plus souvent intégré
Inconvénients :
- Un "nouveau langage" à apprendre
- Lenteur si le cache n'est pas ou mal utilisé (certains moteurs gèrent un système de cache qui génère un script html et php qui sera directement appelé par l'application)
Nous sommes parti du constat qu'il existe beaucoup d'agences de communication, de graphistes indépendants qui par la force des choses se sont mis au web pour suivre les besoins en communication de leurs clients. Certaines ont embauché des développeurs pour réaliser les parties techniques d'autres ont fait appel à des développeurs indépendants.
Dans tous les cas de figure il leur faut proposer des sites de plus en plus complets et riches, d'où l'intérêt d'avoir un outil leur permettant de répondre à la plus part des demandes de leurs clients.
Depuis quelques années nous avons développé des outils nous permettant de gagner du temps et de nous simplifier la tache en temps que développeur.
Ils n'ont pas été prévu au départ pour être utilisé par d'autres entreprises que les notres. Nous ne pouvions pas proposer ces outils tels qu'ils étaient c'est pourquoi nous avons décider d'en créer un plus universel.
Nos clients et futurs clients ont besoin d'un outil simple et évolutif leur permettant de répondre à différents cas de figure :
L'outil étant prévu modulable, chaque module pourra être combiné à d'autres pour pouvoir répondre à tous ces cas. Si un nouveau cas se présente nous proposerons via le support de réaliser des modules sur mesure.
Voici les différentes étapes prévues pour la réalisation :
Nous sommes 2 développeurs - chefs de projets dont la plus grande part d'expérience s'est faite principalement dans la réalisation de sites et applications Web. Après quelques années d"expérience en tant que salariés, nous avions envie de créer notre "boîte", mais sur quelle base ?
Les remarques qui nous venaient le plus souvent à l'esprit étaient les suivantes :
- "On commence à se lasser de faire un peu toujours la même chose, de créer des sites dans l'urgence car les clients sont toujours pressés et les commerciaux toujours optimistes sur les délais"
- "Ca serait quand même sympa de bosser sur notre propre projet pour mettre toutes les idées et expériences cumulées à profit".
Plusieurs projets ont été envisagés, je ne les énumérerais pas ici, ce n'est pas le but. Il y a des projets que l'on trouvait intéressant mais auxquels on ne croyais pas (cible peu importante, trop de concurrence, pas assez rentable, trop complexe). Nous cherchions à créer un produit qui réponde à notre problématique et forcément à celle d'autres dans le même cas.