IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

ML-ICMD (besoin de testeurs)


Sujet :

Langage PHP

  1. #1
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut ML-ICMD (besoin de testeurs)
    Bonjour,

    Je viens de développer la structure de base d'un outil PHP : le ML-ICMD.

    Il facilite la gestion de ressources (fichiers publics, classes, includes, etc.), dans un projet PHP, tout en partageant ces ressources entre sites, sous-domaines, sandboxes (pour travailler à plusieurs), etc.

    Il contient un gestionnaire de documents, en DOM, ainsi qu'un gestionnaire de downloads (déjà pré-configuré).

    Vous trouverez les modalités "d'installation" dans son README.txt

    Le principe est assez simple, vous appelez un fichier par son basename (exemple: base.css) et il le trouve pour vous, en commençant au plus bas de l'architecture.

    De plus, si vous êtes identifié en http auth, vous aurez accès à un dossier (que vous aurez créé, à votre nom, dans le dossier sandboxes), où mon outil cherchera vos ressources en premier, tout en laissant le reste, tranquillement en production.

    Pour tester facilement ce dernier point, vous pouvez ajouter la ligne suivante au tout début de index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SERVER['PHP_AUTH_USER']='dev1';
    Il est bien évidemment possible de cibler un dossier bien précis, lorsque l'on recherche une ressource :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    'base.css' // le premier fichier base.css trouvé, en partant du bas
    'root/base.css' // le fichier base.css situé à la racine du serveur
    'domain/base.css' // le fichier base.css situé dans le dossier du même nom que le domaine
    'subdomain/base.css' // le fichier base.css situé dans le dossier du même nom que le sous-domaine
    'tld/base.css' // le fichier base.css situé dans le dossier du même nom que l'extension du domaine (le TLD)
    'sandboxes/base.css' // le fichier base.css situé dans le dossier correspondant à votre sandbox (portant votre nom)

    Pour un premier test, je vous recommande l'adresse suivante :
    www.notasite.com

    Voilà, bon amusement et n'hésitez pas à me laisser des commentaires et/ou demander des détails, si nécessaire, j'peux pas penser à tout... :p

    PS: Il est conçu pour pouvoir même tourner sur un hébergement en micro-paiement, tant que vous avez au moins l'Url Rewriting)

    Attention, il vous faudra tout de même PHP 5 au minimum!

    Dernière MAJ : 26/08/2012 à 20:10
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  2. #2
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    MAJ : Devrait passer chez tout le monde, à présent, sans Infernal Server Error

    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello,

    Ton projet est intéressant mais je ne comprends pas très bien à quoi il sert. Peux-tu me dire concrètement quel est son rôle et/ou quel besoin il couvre ?

  4. #4
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    Ses buts sont simples :

    • Faciliter le déploiement de sites webs : un genre de MVC l'ICMD (Instructror-Controller-Model-Document) y est déjà présent (dont un moteur de templates via des DOMDocumentFragment), l'url rewriting est déjà optimisé pour tous les sites qu'on voudrait y gérer, l'accès aux ressources publiques est sécurisé, ...
    • Faciliter le travail en équipe, où chacun peut faire ses propres versions de toute ressource, par exemple à des fins de tests, tout en utilisant les véritables noms de ressources.

      L'avantage étant que l'on a pas besoin de renommer ses fichiers, ni de modifier les chemins, depuis la phase de développement/tests à la production.

      De plus, pour chaque domaine/sous-domaine/tld, on peut avoir des versions qui n'affecteront que ce domaine/sous-domaine/tld, tout en gardant un espace commun.


    T'as "installé" un site opérationnel en 3 secondes!



    EDIT :

    A venir :
    • Gestion bases de données (premièrement MySQL et SQLite)
    • Système de cache
    • et bien d'autres encore...
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Je n'irais pas jusqu'à dire des phrases comme "T'as "installé" un site opérationnel en 3 secondes!". Ton soft est un framework, pas un site. Pour créer un site avec il faut :

    1. des bonnes connaissances en PHP
    2. Du temps
    3. Un modèle HTML complet


    Je n'ai pas trop regardé mais, que fais ceci à la fin du fichier index ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    header('HTTP/1.0 404 Not Found');
    exit;
    Il devrait y avoir une vérification de si oui ou non un controller a été trouvé pour la route. Et si non, il faut charger le controller dédié : Controller404 (ou équivalent).

    Il y a également dans ton code des problèmes de conception objet. Par exemple il est nécessaire pour tes controllers de posséder une fonction init(), mais tu ne l'as ni indiqué par une classe hérité, ni par une interface. Ce n'est pas très cohérent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    abstract class AbstractController {
        public function __construct(Model $model, $baseTemplatePath);
        public function init();
    }
    Autre chose, je ne vois pas pourquoi ta classe Model hériterait de Resource. Cela n'a pas de sens. D'autant plus que Resource est une classe avec des fonctions statiques donc l'héritage est inutile puisque tu n'as pas besoin d'instance.

    Je ne vois dans ton code aucune référence à un système de cache ? Qu'appelles-tu "Système de cache" ?

    Je ne vois pas où est le code relatif à la base de données ?

  6. #6
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Salut.

    Citation Envoyé par ThomasR Voir le message
    Je ne vois dans ton code aucune référence à un système de cache ? Qu'appelles-tu "Système de cache" ?

    Je ne vois pas où est le code relatif à la base de données ?
    De ce que je comprend dans son dernier message, ce sera des fonctionnalités à venir dans sa prochaine version du framework (je suis d'accord pour dire que ça ressemble plus à un framework, je suis d'accord pour tout le reste d'ailleurs ).

    Pour les caches j’imagine qu'il parle d'inclure la gestion des caches du style xcache, apc ou memcache dans une sorte de middleware ou d'interface standardisée un peu comme PDO pour les bases de données ?

    Cordialement,
    Idriss

  7. #7
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Pour les caches j’imagine qu'il parle d'inclure la gestion des caches du style xcache, apc ou memcache dans une sorte de middleware ou d'interface standardisée un peu comme PDO pour les bases de données ?
    Oui je pense aussi, c'est très classique. Mais ce serait mieux de décrire ce qu'il y a réellement dans le framework aujourd'hui plutôt que d'essayer de vendre du rêve

  8. #8
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    Yeah, des feedbacks!

    Bon, premièrement, je bosse actuellement sur une nouvelle description du projet, car j'ai eu quelques retours m'indiquant que je n'étais pas assez clair.

    Il y aura d'ailleurs quelques changements et une interface d'administration, un peu de patience, donc, svp.

    Alors, oui, il s'agit d'un framework/CMS orienté développeur.

    L'index.php : c'est un instructeur, il ne devrait donc pas contenir de conditions, ce n'est pas son rôle. la fin de son code ne se déclenche que s'il y a une erreur.

    En revanche, oui, je compte bien passer par un Controller_Error404, c'est à venir.

    Le init() : en fait, c'est une méthode comme une autre, d'un contrôleur mais pas de tous! Je suis d'accord, son nom est trompeur, en regard de mes autres init().

    Resource : fait office de super modèle, bien que l'on en ait besoin pour charger les composantes de l'API, on y trouvera l'accès aux bdds, aux fichiers, aux documents, etc. et ce n'est pas du rêve, si je n'étais en train de revoir ma description, je serais déjà en train de bosser dessus.

    Pour le cache, je n'ai pas encore décidé par quoi je passerai mais, en tous cas, c'est prévu.

    A suivre donc...

    Merci pour vos remarques, en tous cas.
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

  9. #9
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Un CMS (Content Management System) permet la gestion des contenus au travers d'une interface d'administration. Je n'en vois pas la notion dans le code que tu fournies. Est-ce à venir également ?

  10. #10
    Membre éclairé

    Femme Profil pro
    Experte JS / Conseillère en best practices / Chercheuse en programmation
    Inscrit en
    Octobre 2007
    Messages
    741
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Experte JS / Conseillère en best practices / Chercheuse en programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 741
    Points : 808
    Points
    808
    Par défaut
    En fait, bon, y a encore du boulot avant d'en arriver là mais, au final, cet outil rassemblera mon framework JS & celui en PHP, pour en arriver à un système complet, comparable à un CMS, oui, mais réellement orienté développeur...
    Afin d'obtenir plus facilement de l'aide, n'hésitez pas à poster votre code de carte bancaire

    Mon GitHub

    Une alternative à jQuery, Angular, Vue.js, React, ... ? Testez anticore, en quelques secondes à peine !
    (Contributions bienvenues)

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/03/2008, 16h26
  2. Besoin de testeur pour le Système de GCL PERFORCE
    Par Marc Lussac dans le forum Evolutions du club
    Réponses: 1
    Dernier message: 20/04/2006, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo