MeliFramework
-
Justement non, autant faire étape par étape pour que chacune soit bien réalisée. Donc la première étape sera de réaliser toute la base du site (les fonctions vraiment de base) ainsi que la gestion des applications, des contrôleurs, de la page, ...
Si on commence à intégrer beaucoup de choses à la fois on ne va pas s'en sortir. On va essayer de faire quelque chose d'assez modulable pour qu'on puisse intégrer justement par la suite tous les composants dont on aura besoin (session, gestion des DB, ...).
Et l'avantage de faire un diagramme c'est justement de définir comment va procéder le site pour générer demandée (mais j'avoue qu'il est très mal fait ^^). Après je ne vois pas trop ce que tu veux dire par "ce qu'il devra faire", comme tous les framework il devra offrir à l'utilisateur de nombreux outils pour concevoir son site web et ce le plus simplement possible.
-
C'est très bien de faire un diagramme, et il faudra en faire certainement plus d'un... mais je vais expliquer un peu plus.
On est entrain de concevoir quelque chose de complexe dont on ne sait pas du tout comment il devra fonctionner. Et cela, au point que l'architecture de base puisse être différente.
Quelques exemple, le framework est construit de manière unifié, donc tous les modules de base (Router, ORM, Parser, Controllers) peuvent être directement intégré. Ou alors, il sera construit de manière entièrement modulaire, dans ce cas l'architecture devra pouvoir se séparer de certains éléments.
Donc pour ce qui est de formaliser des concepts, je pense que c'est très prématuré, vu que ces concepts non pas été définis.
Si on veux faire un framework qui sert a quelque chose et soit facilement utilisable pas un maximum de développeurs, il ne suffit pas de se dire qu'on va concevoir un truc qui va générer des pages et pour le reste on rajoutera des modules plus ou moins autour. C'est un tout à concevoir.
Pour cela, en principe, on part d'un ou plusieurs besoins et on va vers un ou plusieurs objectifs clairement définis.
Je vais illustrer tout ça par quelques propositions d'objectifs, de questionnements :
- Offrir une architecture permettant d'intégrer facilement des modules externes (cela IMPOSE de prévoir que des modules inconnus seront intégré)
- Ou offrir un ensemble de fonctionnalités de base de création et de gestion de site (dans ce cas, les modules peuvent être directement rattaché et intégré)
- On peut également imaginer un mix des deux
- Est-ce que la gestion du frontend est prévu à la base (intégration directe d'un système de layout, de vues, templates, de cache, ...) ou est-il considéré comme un module extérieur ?
- L'ORM est-il intégré de base ? ou le dev pourra choisir celui qui lui convient le mieux ? On développement le notre ? Selon quelles bases ? ...
- Dans quelle mesure le framework sera configurable ? (cela impose de prévoir ou non des modules de gestions de confiugration plus ou moins avancés)
- Du côté sécurité, comment le framework devra réagir aux multiples attaques (appel de code direct, URL mal formaté, flood, bruteforce, injection, ...) ?
D’expérience, sur un projet de cet envergure, plus on planifie de chose AVANT de concevoir la moindre chose de technique, mieux en s'en sortira après. Le principal ennemi d'un projet de dev de grande taille, avec de multiple participant, c'est les rajouts en court de route qui sont fait "comme on peut". On gagnera beaucoup de temps de développement en se cassant la tête maintenant à prévoir un maximum de possibilités.
Pour résumé ce que je pense du diagramme, c'est que oui, il est logique, oui il fonctionne, mais est-ce que c'est de ca qu'on a besoin ? Si oui, c'est pour répondre à quel besoin, sinon il est inutile voire pire... faux.
-
C'est la première fois que je lance un projet de cette envergure donc je ne sais pas trop comment m'y prendre. Je vais m'organiser pour faire au mieux

-
Pour ma part, je n'aurais pas le temps de m'impliquer dans ce projet.
Est-ce que vous arriverez à prendre en main ce projet de manière autonome (Soulalex / Anaeria) ?
S'il vous faut quoique ce soit, n'hésitez pas. -
Pour ma part, je n'aurais pas le temps de m'impliquer dans ce projet.
Est-ce que vous arriverez à prendre en main ce projet de manière autonome (Soulalex / Anaeria) ?

S'il vous faut quoique ce soit, n'hésitez pas.
Pour moi, y a ps de soucis, si tu le monde est ok. J'ai l'habitude de gérer les projets de grande tailles en parallèle, je fait ça tout les jours

En ce sens, je vais proposer une petite présentation exhaustive de ce qu'on souhaite faire, de ce à quoi on veux arriver et des fonctionnalités que l'on pourra prendre en compte, etc...
J'essaye de faire ca cette après-midi.
-
Et bien c'est parfait !
Personne ne dira jamais qu'Anaeria ne mérite pas son grade, au moins.
-
Comme promis, une présentation des besoins, objectifs et fonctionnalités de notre projet.
Si quelqu'un veux apporter des gros changements à cette liste, c'est maintenant.
Pour ce qui est fonctionnalités précises (notamment du frontend), elles pourront être intégré sous forme de modules comme prévu dans la structure.
Besoins
- Développer un framework backend / frontend pour démontrer les talents et capacités de la communauté Mélinyel
- Offrir un framework PHP/MySql simple d’utilisation, souple et gratuit
Objectifs
-
Le framework devra être OpenSouce
-
Il sera en PHP5 / MySQL pour le backend et HTML5 / CSS3 / jQuery pour le frontend
-
Il devra permettre de déployer un site rapidement en utilisant un système de modules (les modules seront soit préexistants, intégrés, ou libres)
-
Spécifique au backend
- Il sera construit sur le principe MVC (Modèle – Vue – Controller)
- Il devra garantir la sécurité des sources et des données sensibles au sein du site (fichiers privé, BDD, …)
- Il devra gérer dynamiquement les URL tout en gérant les appels erronés
- Il devra être suffisamment performant pour pouvoir générer et envoyer une page standard selon les standards Google (moins de 0.5 secondes en moyenne pour toute page qui ne contient pas d’autres traitement que de l’affichage de contenu)
-
Spécifique au frontend
- Le frontend devra respecter les standards actuels de constructions de pages responsive
- Ne seront PAS pris en charge tous les navigateurs et appareils ne supportant pas intégralement HTML5 et/ou CSS3 et/ou jQuery 2.x.
Fonctionnalités du backend
- Router d’URL RESTful + traitement des requêtes AJAX
- ORM
- Caching de données
- Caching de pages
- Un système d'applications (avec ressources séparées)
- Gestion des inputs et ressources clients (cookies, sessions, …)
- Interface MySQLi / PDO (entre l’ORM et la BDD)
- Assistance au débogage
- Captation et inscription des erreurs et exceptions PHP / MySql
- Gestion des erreurs et logs personnalisé
- Profiling et benchmarching
- Gestion de l’environnement d’exécution (test, dev, open-beta, prod, …)
- Système de layout et de view imbriquées (un layout qui contient des vues et qui contiennent des vues, etc…)
- Système de hook : pouvoir déclencher une action à un moment précis du système (pre system, pre controller, post controller constructor, before rendering, post controller, post system)
- Système de helpers : une bibliothèque de fonctions accessible dans des endroits précis (uniquement pour les controllers, uniquement pour les vues, …)
- Gestion des erreurs de protocole (http, FTP, WS,…)
- Un système de librairies externes
- La gestion d’envoi de mails
- Gestion de l'upload / download
- Génération assistée des ressources externes de type sitemap et fluxRSS
- Gestion de l’authentification avec niveaux de droits et des sessions
Fonctionnalités du frontend
- Gestion de l’AJAX (plus approfondie que jQuery)
- Gestion de l'upload / download
- Gestion de d’une interface graphique
- Aide à la mise en page
- Gestion des formulaires
- Design responsive
- Intégration des ressources JavaScript externes (Google API, Facebook, Twitter, …)
- EasyChat (y a pas de raison !)
- Autres fonctionnalités sous forme de modules dédiée à un secteur de site bien précis (spécifique pour blog, forum, ….)
-
- Développement d'un système d'applications (pratique quand on veut faire plusieurs sites différents ou pour d'autres choses).
- Gestion des fichiers (download / upload).
-
- Développement d'un système d'applications (pratique quand on veut faire plusieurs sites différents ou pour d'autres choses).
- Gestion des fichiers (download / upload).
Très juste, j'ai rajouté

-
Gestion des formulaires aussi ^^
-
Gestion des formulaires aussi ^^
C'est à dire ?
Un truc pour aider à les créer et les mettre en page côté frontend ?
Parce-que côté backend c'est simplement des données entrante d'un POST, y a rien de sorcier...
Ou alors on peu prévoir quelque chose de pus costaud avec la vérification automatique des champs en AJAX, le tout intégré avec les messages d'erreurs.
-
Ou alors on peu prévoir quelque chose de pus costaud avec la vérification automatique des champs en AJAX, le tout intégré avec les messages d'erreurs.
Oui ça c'est bien.
Ce que je veux dire par gestion des formulaires c'est les créer et les générer dans les pages en les sécurisant contre les attaques.
-
Juste une question ^^ :
Ce serait quoi la philosophie du Framework ? ^^
Et j'aimerai savoir si on pourrait avoir un logo pour pouvoir dès à présent nous consacrer au site ? ^^
Je sais que rien n'est encore fait mais comme ça, on pourra au fur et à mesure rajouter pleins d'informations dans la documentation par exemple, non ? ^^
Petits rajouts :
-Gestion des sessions
-Système de cache
-
@Aza petite rectification dans le sujet, Mysql n'est pas un langage. ^^ Aussi je viens faire une petite proposition qui serait de pouvoir se connecter avec plusieurs sgbd et ainsi pouvoir intégrer du nosql ou utiliser mongodb ou oracle par exemple, ça serait donc l'ajout d'un système de gestion des sgbd. Après ce n'est qu'une petite proposition comme je l'ai dit. Sinon votre projet a de l'envergure. ^^
-
Petits rajouts :
-Gestion des sessions
-Système de cache
Ces fonctionnalités sont prévues :
- Caching de données
- Caching de pages
La gestion des sessions n'a pas été explicitée, mais est incluse dans la gestion de l'authentification et des niveaux de droits.
Ce serait quoi la philosophie du Framework ?
Eh bien, on est en train de la formuler. Certes pour l'instant de manière très... technique et pragmatique. Mais a terme cela donnera une philosophie générale qui pourra servir de communication
Je sais que rien n'est encore fait mais comme ça, on pourra au fur et à mesure rajouter pleins d'informations dans la documentation par exemple, non ? ^^
Tous les systèmes, nécessaire à la bonne marche du développement (espace web, documentation en wiki, ...) seront mis en place dès que possible.
Enfait, dès qu'on saura exactement comment on va travailler

@Aza petite rectification dans le sujet, Mysql n'est pas un langage. ^^ Aussi je viens faire une petite proposition qui serait de pouvoir se connecter avec plusieurs sgbd et ainsi pouvoir intégrer du nosql ou utiliser mongodb ou oracle par exemple, ça serait donc l'ajout d'un système de gestion des sgbd. Après ce n'est qu'une petite proposition comme je l'ai dit. Sinon votre projet a de l'envergure. ^^
C'est une fonctionnalité envisageable, mais peut-être dans un second temps. Le projet est déjà d'envergure avec une seule interface BDD. En gérer plusieurs peut s'avérer très complexe, surtout du côté de l'ORM.
Donc, je dirais que si en cours de développement, on voit que ca peut se faire sans tout massacrer oui, sinon, on laissera ça de côté au début.
-
Des nouvelles du projet ?
-
Je pourrais m'y mettre sérieusement dans une à deux semaines.
Je veux close quelques dossiers avant de me plonger la-dedans

-
Pour ma part je suis également en vacance.

-
D'accord, pour ma part je suis disponible donc s'il y a quelque chose à faire dites le moi

-
C'est parti, j'ai à nouveau du temps à consacré d'autres projets que mon boulot
(enfin
)Donc, pour le framework, je suis entrain de créer un environnement de développement, histoire qu'on parte tous de bonnes bases.
Bien sur on utilisera Git et le projet MeliFramework (https://github.com/Melinyel-dev/MeliFramework)
Pour la gestion de tâches et les discussions de chantier, je vous propose de rejoindre ma gestion de projet sur FreedCamp (https://freedcamp.com).
Si vous êtes intéressé et souhaitez participer au projet, merci de donner une adresse e-mail (par MP ou dans ce topic) pour que je puisse vous inviter à rejoindre le projet.
Dans un second temps, je prévois d'ouvrir une zone FTP et un virtual host sur mon serveur perso pour pouvoir tester de manière commune le projet.
Bonjour ! Vous semblez intéressé par cette conversation, mais vous n’avez pas encore de compte.
Marre de refaire défiler les mêmes messages ? Créez un compte pour retrouver votre position, recevoir des notifications des nouvelles réponses, sauvegarder vos favoris et voter pour les messages que vous appréciez.
Grâce à votre participation, ce message peut devenir encore meilleur 💗
S'inscrire Se connecter