Aller au contenu


Photo

CodeIgniter


  • Please log in to reply
94 replies to this topic

#1 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 01 avril 2010 - 21:28

Bonjour à toutes et à toutes ! (non, mais c'est juste pour augmenter le nombre de geekettes :P)

Je souhaiterai commencer l'initiation au framework CodeIgniter que je suspecte d'être à la fois simple et redoutable.
Très facile à installer, très propre, très bien structuré, etc.

Je créé donc ce sujet afin de mettre en commun mon savoir, poser mes questions, et trouver insidieusement parmis les membres de MacFr, les brutes en CodeIgniter :P

J'ai papillonné sur le site français (lien ci-dessus), récupéré la dernière version 1.7.2 à ce jour, mais une version 2 promet d'être encore plus mieux bien (elle se débarrasserai de la compatibilité avec php4 ce qui laisserai augurer de meilleures performance encore).

J'ai ensuite fait quelques screencasts du site weecast il faut s'abonner mais les tutos sont gratuits, on y apprend quelques astuces...

J'ai aussi fait le tuto afin de créer un blog en 20min sur le site officiel, et qui donne une idée de la puissance de la chose.

Je voudrais pouvoir faire avec CodeIgniter ce que je fait avec la plupart de mes devs web, c'est à dire :

• gérer une base de données (MySQL)
• afficher n menus avec un article spécifique à chaque menu
• avoir x d'articles par menu (liste) et les afficher en cliquant dessus (oui, bon, ça va hein :) ).
• gestion ou non des commentaires
• affichage ou non de l'article (validation avant publication)
• gallerie photos (ou non bien sûr), les photos étant stockées dans un dossier du site
• gestion des utilisateurs (pour administration)
• interface d'administration complète
• option sur le multilangues

tout cela n'a pas forcément à voir avec CodeIgniter, et pour 99% de ce qui est listé, j'ai déjà le code php qui va bien...

Je compte sur ce framework pour structurer au mieux mes sites, augmenter la sécurité (j'y pense pas toujours), voire augmenter les performances de mes sites

Le débat est lancé.

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#2 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 02 avril 2010 - 14:01

Bonjour,

Je commence mes questions :P

J'ai installé codeigniter sur mon serveur web, en suivant un tuto, j'ai aussi trouvé logique de sortir le dossier "applications" du dossier "system" afin de bien séparer le moteur du site, mais je me pose alors une question :

Serait-il possible d'imaginer plusieurs sites web (plusieurs dossiers applications) avec qu'un seul moteur (plus facile pour les mises à jour) ?

à votre avis ?

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#3 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 02 avril 2010 - 14:41

Salut Amarok :)

Serait-il possible d'imaginer plusieurs sites web (plusieurs dossiers applications) avec qu'un seul moteur (plus facile pour les mises à jour) ?


Je ne connais pas CodeIgniter, mais ce que tu cherches à faire, souvent nommé "mutualisation", me semble tout-à-fait possible avec un framework structuré avec l'architecture MVC, c'est d'ailleurs, en principe, un des points forts de cette architecture : avoir un seul contrôleur pour plusieurs modèles et autant de vues associées (ou pas d'ailleurs).

Maintenant, je serais incapable de te dire la manière de le faire, mais j'ai cru voir un forum d'échanges autour de ce framework, je pense que tu devrais y jeter un coup d'oeil, d'autres se sont sûrement intéressés à cet aspect des choses... sinon, je pense que tu trouveras beaucoup plus compétents là-bas qu'ici pour des questions aussi précises...

Ceci dit, j'espère Amarok que tu continueras à nourrir ce topic avec tes découvertes, ça m'intéresse personnellement d'en savoir un peu plus... il se peut que je m'implique aussi dans l'étude d'un ces frameworks, je n'ai pas encore bien choisi lequel, il y en a plusieurs d'intéressants, j'attends donc pour le moment que tout ceci mûrisse un peu dans ma caboche :lol:

Merci en tout cas de partager avec nous tons parcours de découverte... :up:

;)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#4 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 04 avril 2010 - 20:01

Bonjour,
bon, juste un petit point, j'ai pas vraiment touché CI (codeIgniter) depuis la dernière fois, mais :P...
je voulais vous faire part de la structure de mon site avec lui.

pour installer CI, il suffit de mettre tout le dossier à la racine du site.
ensuite dans celui-ci, on trouve un dossier "system", un dossier "user_guide" (le manuel d'utilisation) et un fichier "index.php".
dans le dosssier "system" on va trouver entre autres un dossier "application", c'est lui qui va contenir à proprement parler les éléments de votre site.
en suivant un tuto, j'ai trouvé logique de le sortir du dossier system afin de bien séparer moteur et site.
j'ai aussi rajouté un fichier ".htaccess" contenant quelques règles afin d'avoir une écriture d'url plus propre (et sécurisée).
le code du fichier .htaccess est le suivant (pour le moment) :

RewriteEngine On

# Interdire l'accès au dossier system et permet de créer un controler 'system.php'
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*){:content:}nbsp;   	index.php?/$1		[L]

# Réécriture si ce n'est ni un dossier ni un fichier
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*){:content:}nbsp;   	index.php?/$1		[L]

donc, la structure de mon site ressemble à ça :

[racine]
	[codeigniter]
		.htaccess
		[application]
		index.php
		licence.txt
		[system]
		[user_guide]

pour établir le lien à ma base MySQL, dans le dossier application, on ouvre le fichier "database.php" situé dans le dossier "config" et on rentre les infos relatives à notre connexion.

bon, ensuite, il faut que je m'imprègne du concept de MVC (model view controler), j'ai bien compris le "View" :P c'est l'affichage final de mes données, d'ailleurs c'est dans le dossier "view" que je mettrai mes css et autre joyeusetés graphiques.
le controler et le model, c'est une autre affaire ;)

@+

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#5 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 03 mai 2010 - 10:24

Bon, j'ai repris codeigniter, et je me suis même lancé sur la réalisation de mon site perso avec lui !
Y'a pas grand chose qui marche encore, mais c'est un début, j'attaque la base de données MySQL, j'affiche mes menus, un article, et la liste des articles du 1er menu...

Je commence à comprendre la structure MVC et ça, ça c'est déjà énorme ! :D
Attention, ce n'est pas ici un tuto très clair sur le sujet, juste un avancement de mes découvertes, gardez à l'esprit que je n'y connait rien à CodeIgniter !

Model : comme vu dans un tuto, le "d" est pour "databases". on va créer autant de fichier model que de table MySQL et placer dedans des fonctions pour dialoguer avec la table en question.

View : c'est l'affichage final de notre site, la mise en forme (la plus simple à comprendre finalement ;) ), je doit encore comprendre certaines choses liés au css, que j'ai placé à la racine du site, et que je n'arrive pas à mettre ailleurs...

Controller : on va préparer ici les données à afficher en fonction de ce qu'on veux. questionner les Models afin de récupérer telle ou telle info. le nom du controller est important, c'est lui qui apparait dans notre URL. On ne doit pas afficher directement des données dans un controller.

Il existe des bibliothèques très pratiques dans codeigniter que l'on charge automatiquement, ou à la demande, par exemple pour obtenir tous les enregistrements d'une table, on a juste à mettre dans une variable :

$this->db->get('table');

et basta !
on peut bien sûr procéder autrement, par exemple par :
$this->db->query('SELECT id, titre FROM table');

une bibliothèque pour les formulaire aussi, avec gestion des remplissages... une autre pour le calendrier, un autre pour gérer les tableaux, l'affichage de données en pagination, etc.

ah oui, dernier point, j'ai suivi pour progresser les excellents tutos vidéos sur le site net tuts +, c'est en anglais, le premier tuto est assez "brouillon", le gars le dit lui-même ;) mais ça vaut le coup d'aller jusqu'au bout !

je reviendrai alimenter ce post à ma prochaine évolution...

mon souci actuel, est de passer des variables pour afficher tel ou tel article de ma base, c'est évidemment faisable....

Ce message a été modifié par Amarok II - 03 mai 2010 - 10:30 .


MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#6 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 03 mai 2010 - 10:47

Excellent ! :up:

On attends la suite avec impatience et... gourmandise :yahoo:

;)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#7 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 16 mai 2010 - 14:51

Bonjour à toutes !



[private_message =ON]


Aujourd'hui est un grand jour, c'est l'anniversaire de ma belle-soeur ! Image IPB

Image IPBImage IPB bravo Noukette !

non seulement j'ai pas oublié, et je le savait avant que ma nièce me le rappelle par sms, mais en plus, je l'immortalise ici !

[/private_message]



Mais aujourd'hui est aussi le jour ou j'ai enfin réussi à basculer mon site sur code igniter (en entier, à l'exception du livre d'or, que je compte plutôt transformer un commentaires sur les articles)

l'adresse provisoire pour visualiser le site : Amarok2.net, version CodeIgniter

Ce qu'il faut regarder ici, rapport au sujet tout de même :P, ce sont les urls, le fait que j'ai rajout les smileys dans les articles, les photos avec le javascript pour zoomer, les minicones pour les articles sur la musique et le sport , pour distinguer les différence afin de ne pas trop s'y perdre.

Côté mise en forme, j'ai volontairement fait très basique, ce n'es pas le thème définitif, disons plutôt un thème par défaut pour un futur projet...

Ce que je retiens en faisant le point à ce jour, c'est que grâce à CodeIgniter, j'ai beaucoup moins de code à taper !
Mon fichier de fonctions qui jusque là devait contenir au bas mot une trentaine de fonctions, n'en contient plus que 3...

Au passage, cela m'a aussi permis de retoucher certains vieux articles, et m'apercevoir que mon code a bien évolué ! (on se rend pas bien compte en gardant le tête dans le guidon... ;))

Je vais m'attaquer à la partie commentaires (y'a un tuto qui explique QUE ça, cela ne devrait pas être trop dur :)

Ensuite, la partie administration, mais là, je doit peaufiner mon ergonomie, donc rien à voir avec CodeIgniter.

Pour ceux qui hésitent à choisir un FrameWork, essayez-le !

J'avoue ne pas avoir testé les autres FrameWorks PHP, mais celui-ci me convient pleinement !

Bon Dimanche à tous !

Ce message a été modifié par Amarok II - 16 mai 2010 - 14:53 .


MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#8 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 18 décembre 2012 - 09:39

Bonjour à tous :)

Je re-up ce vieux topic car, à mon tour, j'ai enfin installé CodeIgniter et je commence tout juste à faire mes tout premiers pas avec ce framework.

Pourquoi CodeIgniter ? :huh:

Pour ne rien vous cacher, ça a été vraiment l'étape la plus difficile et longue pour moi, me décider enfin pour l'un des très nombreux et puissants frameworks Php existants aujourd'hui, la liste ne cesse d'ailleurs de s'allonger et les nouveaux venus semblent avoir des atouts assez intéressants sur le papier.

Alors, la question à laquelle je devais répondre est : pourquoi choisir un framework plutôt qu'un autre ?

Évidemment, pour pouvoir se faire une opinion afin de se forger un début de réponse, il faut au préalable s'informer et se documenter sur les produits susceptibles de satisfaire mes principaux critères de choix, il fallait donc que j'établisse une liste stricte de critères, pierre angulaire de mon choix final, dont voici un petit résumé (d'autres critères, moins importants au final, ont joué un rôle plutôt anecdotique) :

1. Accessible à mon niveau actuel en développement Php : n'étant pas un programmeur pro, mais plutôt un bidouilleur autodidacte, il me fallait trouver l'outil le plus adapté à mes compétences du moment ;

2. Produit simple et léger, souple et complet, puissant et sécurisé... tout ça à la fois : et oui, même si tous les frameworks vantent leurs atouts sur ces différents points, force et de constater que certains sont moins légers qu'ils ne le prétendent, d'autres moins simples qu'ils ne le prônent, etc... bref, il faudrait faire un classement ou un tri sur ces critères, ce qui s'avère quasi-impossible car il faudrait connaître en profondeur tous les produits, je me suis donc laissé guider par mon intuition et par quelque uns des critères anecdotiques évoqués plus haut ;

3. Documentation complète et à jour, tutoriels et exemples existants ainsi qu'une communauté active : impossible pour moi de me plonger dans la découverte d'un produit sans avoir accès à un minimum (maximum plutôt) de sources d'information et de documentation, ainsi que la possibilité de pouvoir solliciter l'aide d'utilisateurs plus expérimentés ;

4. Enfin, dernier critère, pas forcément nécessaire mais qui a une certaines importance à mes yeux (voire même une importance certaine), que le point 3 ci-dessus soit également accessible en français... et oui, mon anglais actuel n'est pas suffisant pour profiter pleinement de toutes le ressources existantes dans cette langue, il me fallait alors pouvoir trouver des équivalents en français.

Pour être honnête, j'avais un autre critère important : leur implantation en milieu professionnel. Mais, finalement, ce critère restreignait trop les choix possibles à deux seuls produits, certes les plus réputés du secteur mais, malheureusement, pas vraiment les plus adaptés à mes autres critères, à savoir : Zend Framework et Symfony... donc, écartés de ma liste finale.

Après un rapide tri, ma liste des choix possibles ne contenait que 3 candidats :

- Jelix ;
- CakePhp ;
- CodeIgniter.

Il y avait un 4e larron qui était séduisant sur le papier : Yii-Framework, mais c'est un produit encore très jeune et ses ressources francophones encore trop timides, pour ne pas dire quasi-inexistantes.

Après une rapide comparaison des arguments avancés par ces trois produits, le cas de Jelix fut rapidement tranché en sa défaveur, le tutoriel de première prise en main présent sur leur site m'a semblé un peu confus, en tout cas pas vraiment séduisant pour partir à sa découverte en l'état actuel de mes connaissances.

Entre CakePhp et CodeIgniter le choix a été beaucoup plus difficile à faire, les deux jouissant d'une bonne réputation, d'une prise en main assez accessible pour les "noobs" comme moi, des nombreuses ressources disponibles sur la toile et des communautés actives, même si CakePhp semble bénéficier d'une communauté francophone plus importante que CodeIgniter, cette différence n'est pas franche ou du moins décisive.

Alors, mon choix final s'est porté sur CodeIgniter, sa simplicité d'installation et de prise en main on été des arguments décisifs, mais pas seulement, la présence d'un utilisateur déjà un peu expérimenté sur MacFr, en la personne de Amarok, a été finalement le point déterminant de mon choix, j'espère que nous pourrons échanger et avancer ensemble dans la découverte et la maîtrise future de cet outil.

Pour l'heure, je ne suis qu'à l'étape de découverte et des petits tests, aucun projet digne de ce nom n'est en cours, mais j'en ai un en perspective et j'espère pouvoir le commencer dans les semaines qui viennent... peut-être même en début d'année 2013, c'est en tout cas le challenge que je me suis mis en tête.

En attendant, à l'instar de Amarok, je vais profiter de ce topic pour vous faire part de mes découvertes en espérant que nos échanges futurs seront instructifs pour tous.

Déjà, parce que ça fait partie des questions abordés par Amarok un peu plus tôt sur cet échange, j'ai trouvé un tutoriel vidéo qui explique comment organiser l'arborescence du framework pour pouvoir travailler sur plusieurs projets avec le même moteur, tout en gérant les différentes versions de CodeIgniter : Architecture avancée d'un projet CodeIgniter

Voilô... si vous avez d'ors et déjà des impressions ou infos à partager, n'hésitez-pas, tout avis est également le bienvenu ! :up:

Enfin, pour ceux que ça intéresse, voici une petite liste, évidemment non exhaustive, des liens qui peuvent s'avérer utiles :

- Aide en ligne de CodeIgniter [en] ;
- Site francophone sur CodeIgniter [fr] ;
- Forum francophone sur CodeIgniter [fr] ;
- CodeIgniter Tutorial : Introduction et première application [fr] ;
- CodeIgniter, le framework au service des Zéros [fr] ;
- Tutoriels vidéo gratuits sur CodeIgniter [fr] ;
- Codeigniter video tutorials and screencasts [en] ;
- Tableau comparatif des frameworks (claire mais date un peu) [en] ;
- Tableau comparatif des frameworks (un peu plus complet mais pas facile à lire) [fr].


:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#9 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 18 décembre 2012 - 11:57

Toujours présent Fredo ;)
et surtout tjs ravi de Codeigniter, avec maintenant plusieurs projets pro à mon actif !

n'hésites pas, même en MP pour clarifier un truc sans pourrir le post ^_^

Une chose m'a clairement emm....dé avec CodeIgniter, cela concerne une VRAIE gestion du multilangues.
Pouvoir changer la langue globale du site en mettant un /fr, /en, /de juste après le nom de domaine car selon la conception de CodeIgniter, c'est "contre-nature".
Les solutions existent mais sont assez tordues pour un truc sommes toute assez simple...
CodeIgniter affiche aussi une "roadmap" pour les futures corrections améliorations de leurs framework.

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#10 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 18 décembre 2012 - 13:41

Toujours présent Fredo ;)
et surtout tjs ravi de Codeigniter, avec maintenant plusieurs projets pro à mon actif !


Chapô ! :up: ... surtout parce que cela veut dire que tu as réussis à apprivoiser la bête assez vite finalement... ça me rassure en tout cas ;)

n'hésites pas, même en MP pour clarifier un truc sans pourri le post ^^


Ok, je vais certainement avoir besoin d'un peu d'aide au début, donc déjà merci pour ta disponibilité :clap:

Une chose m'a clairement emm....dé avec CodeIgniter, cela concerne une VRAIE gestion du multilangues.
Pouvoir changer la langue globale du site en mettant un /fr, /en, /de juste après le nom de domaine car selon la conception de CodeIgniter, c'est "contre-nature".
Les solutions existent mais sont assez tordues pour un truc sommes toute assez simple...


Ha... ça c'est un point un peu délicat, j'en conviens... pour ma part ce n'est pas encore problématique mais ça pourrait le devenir...

Bon, pour le moment j'ai encore plein de choses à apprendre et à tester, donc on aura sûrement l'occasion d'en reparler... en espérant que d'ici là, une nouvelle version de CodeIgniter viendra apporter des solutions simples à ces problématiques d'internationalisation des projets.

Quoi qu'il en soit, je me sens comme "gamin avec un jouet neuf" :lol: , j'ai déjà envie de tout savoir faire pour pouvoir me faire plaisir, mais bon... même si c'est encore un peu laborieux tout ça, j'espère que ça va arriver un jour :)

Merci Amarok, on aura bien des sujets à aborder je pense... je suis sûr même ! :yahoo:

:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#11 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 18 décembre 2012 - 20:07

Bon, voici quelques autres liens qui peuvent être intéressants concernant CodeIgniter (et autres frameworks) :

- CodeIgniter-Directory (exemples, codes sources, tutoriels, etc., le site bug un peu mais on trouve des choses intéressantes) [en] ;
- FrameWork-Matrix-Include-Once.org (liste et comparaison des frameworks, semble vraiment très complet) [en] ;
- PHP Framework MVC Benchmark (très instructif même si ça date un peu, CI se trouve dans une bonne moyenne) [en].

:)

[Edit] Amarok, j'ai vu sur la page de CI sur Github qu'une version 3 était en cours de développement, mais je n'ai pas trouvé des infos sur ce qu'elle va apporter de nouveau par rapport à la branche 2.x ni pour quand elle est prévue, aurais-tu des pistes à ce sujet ? :huh:

Ce message a été modifié par Fredo d:o) - 18 décembre 2012 - 20:21 .

Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#12 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 18 décembre 2012 - 21:04

https://github.com/E...e/changelog.rst

pas de date de prévue, mais CI fonctionne déjà super bien :)

les changements notables :
l'helper "now()" fonctionne avec toutes les time zones,
ajout d'une fonction "remove()" dans les paniers. (avant, il fallait, via javascript, mettre le produit à zéro et actualiser la page...)

La liste est très longue !

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#13 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 10:09

https://github.com/E...e/changelog.rst


Merci, très intéressant tout ça ! :up:

pas de date de prévue, mais CI fonctionne déjà super bien :)


Tu utilises déjà la v3 ? ... En prod ou en dev seulement ?

les changements notables :
l'helper "now()" fonctionne avec toutes les time zones,
ajout d'une fonction "remove()" dans les paniers. (avant, il fallait, via javascript, mettre le produit à zéro et actualiser la page...)

La liste est très longue !


Oui, j'ai vu ça... dommage qu'ils ne donnent pas une petite idée de la date, ou du moins, de la période de sortie...

Perso, ce que j'ai trouvé un peu bizarre, c'est le peu de travail, relatif évidemment, sur la branche 2.x, on dirait qu'ils veulent directement passer à la v3 sans trop faire évoluer l'actuelle... étrange non ? :huh:

Merci en tout cas Amarok pour ces infos ! :clap:

:)

[Edit] Juste une petite dernière question : dans le premier message de cet échange tu faisais mention d'un tutoriel pour réaliser un Blog en 20 minutes, j'ai beau chercher sur le site de Ellislab mais je n'arrive pas y mettre la main dessus... aurais-tu une idée d'où est-ce que je pourrais le retrouver ? ... C'est bon, je crois que je l'ai trouvé sur YouTube !

Ce message a été modifié par Fredo d:o) - 19 décembre 2012 - 10:17 .

Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#14 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 10:33

non, je n'utilise pas la v3, pas curieux à ce point :)

Attention aux tutos fait avec une ancienne version de CI (1.7.x), les changements apportés à la v2 sont assez... éliminatoires :P
Pour info, à chaque mise à jour, il existe une liste des différentes choses à prendre en compte pour effectuer une mise à jour en douceur.
Il existe aussi une méthode pour n'utiliser dans tes devs qu'un seul moteur CI voire même de changer de version, voir carrément de changer de version du moteur en fonction de la personne qui se connecte.

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#15 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 10:45

Attention aux tutos fait avec une ancienne version de CI (1.7.x), les changements apportés à la v2 sont assez... éliminatoires :P


En effet, pas très utile au final... ça donne tout de même une idée du principe général d'utilisation du framework, dommage que ce type de tutos ne soient pas systématiquement mises à jour avec les nouvelles versions... :( ... d'ailleurs, je suis assez étonné de ne plus trouver des tutos directement sur le site de CodeIgniter, il me semble qu'avant ils en proposaient quelques uns... dommage.

Pour info, à chaque mise à jour, il existe une liste des différentes choses à prendre en compte pour effectuer une mise à jour en douceur.
Il existe aussi une méthode pour n'utiliser dans tes devs qu'un seul moteur CI voire même de changer de version, voir carrément de changer de version du moteur en fonction de la personne qui se connecte.


Oui, je crois que ce sont des bonne pratiques à prendre dès le début, j'ai comme l'impression que le changement de versions importantes s'avère quelque peu problématique pour les projets réalisés avec les versions précédentes, difficile en effet d'assurer une compatibilité descendante sur ce type de programmes.

:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#16 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 14:58

Re...

Alors, suivant un peu les conseils prodigués dans la vidéo Tuto Architecture avancée d'un projet CodeIgniter, j'ai donc configuré la hiérarchie de mon dossier CI mais en y apportant mes propres personnalisations.

L'idée est de pouvoir gérer les versions du framework, comme expliqué sur la vidéo, mais aussi pour les projets, car il pourra sûrement avoir des projets qui ne fonctionnent qu'avec une version précise de CI et d'autres qui pourront évoluer et donc fonctionner avec différentes versions du programme.

Donc, l'arborescence que j'ai retenue ressemble un peu à ceci :

codeigniter/
index.php -- Liste de tous les projets avec un lien vers leur contrôleur principal
applications/
0213/ -- Dossier correspondant à la version 2.1.3 de CI
projet_01/
-- Une copie de tous les éléments du dossier "application" de la version concernée
projet_02/
-- Une copie de tous les éléments du dossier "application" de la version concernée
systemes/
0213/ -- Dossier correspondant à la version 2.1.3 de CI
-- Une copie de tous les éléments du dossier "systeme" de la version concernée
projet_01/
index.php -- Contrôleur principal du projet avec gestion de la version de CI
projet_02/
index.php -- Contrôleur principal du projet avec gestion de la version de CI


Je ne sais pas encore si cette organisation est pertinente et si elle sera confortable à l'usage, je pourrais certainement mieux en juger dès lors que j'aurais plusieurs projets en cours et différentes version du framework actives.

Bon, pour être honnête, je n'ai pas exactement nommé tous les éléments comme indiqué sur ce schéma, mais c'est un détail en fait, le but étant d'avoir une architecture assez souple et évolutive dans le temps... on verra dans quelques mois si ce c'est le cas :lol:

Des avis ? :huh:

;)

Ce message a été modifié par Fredo d:o) - 19 décembre 2012 - 15:05 .

Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#17 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 15:39

je ne pige pas pourquoi tu as sorti les controllers...

un projet => un dossier
ensuite, pour ma part, mes projets ressemblent à ceci :

/
projet/
    assets/
        css/
        img/
        js/
    index.php
    application/
        controllers/
        helpers/
            mon_projet_helper.php

        views/
            inc/
            pages/
            templates/

"mon_projet_helper.php" contiendra mes propres fonctions, souvent les mêmes au passage :P
à adapter en fonction de ses projets, mais c'est, je trouve, une bonne base :)
en suivant le tuto, tu peux en effet carrément sortir le moteur codeigniter de la racine de ton site (énorme, je n'y avais jamais pensé).
ensuite, je structure aussi mes controllers, mes views, etc.

Petite astuce :
Comment mettre ses controllers dans des sous-dossiers ?
Rien de bien compliqué ici, mais comment avoir une url correcte en ne tapant que le nom du sous-dossier ?
Dans mes controllers, je vais créer un dossier "clients", et dedans un fichier test.php (mon controller), avec une fonction index.
mon url ressemblera donc à : http://projet.example.com/clients/test (on peut omettre le "index" à la fin)
c'est le fonctionnement normal du framework.

On veux aussi avoir l'url http://projet.example.com/clients/ valide....

Il suffit de créer un controller du même nom que le dossier (clients.php) en mettant une fonction index dedans. :)
Logique, mais ça va mieux en le disant :P

[edit]Bon en fait c'est pas gagné, si quelqu'un se penche dessus, je prends l'astuce, la vraie :(
En fait mon controller clients.php prend le dessus sur le sous-dossier "clients"... donc les controllers placés dedans ne seront pas utilisés...
[/edit]

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#18 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 16:03

En fait, j'ai sorti les contrôleurs principaux de chaque projet pour pouvoir y accéder directement dans l'Url, du genre :

http://localhost/codeigniter/projet_01/

C'est ensuite le contrôleur par défaut "index.php" qui s'y trouve qui fera le lien avec l'arborescence illustrée plus haut. Comme il s'agit du contrôleur d'entrée du projet, à part une variable avec le nom du projet, il sera toujours identique, après il y a un contrôleur propre à chaque projet à l'intérieur du dossier "controllers" correspondant.

D'ailleurs, mes dossiers projets sont en réalité identiques au dossier "application", que je renomme sur chaque copie, pour l'instant je n'ai pas constaté de truc bizarre en opérant ainsi... on verra plus tard si mon choix s'avère problématique ou pas.

En ce qui concerne l'architecture interne de chaque projet, hormis les dossiers imposés, je n'ai pas encore réfléchi à tout son contenu, puis je ne suis pas encore assez familiarisé avec le programme pour y voir vraiment clair.

En tout cas, perso, le fameux dossier "assets", je l'ai placé directement à l'intérieur du dossier "application" (projet donc chez moi), je n'ai pas bien compris pourquoi on conseille de le mettre en dehors... enfin, je n'ai pas encore creusé cette question.

Sinon, c'est une très bonne idée le fichier "mon_projet_helper.php" pour y placer son propre boxon :yahoo:

Et très bonne astuce celle de nommer le contrôleur à l'identique du dossier projet, ça simplifie pas mal les choses :up:

:)

Ce message a été modifié par Fredo d:o) - 19 décembre 2012 - 16:04 .

Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#19 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 16:31

le dossier "assets" DOIT être accessible, alors que le dossier "application" contient des données "sensibles"... on ne sait jamais ;)
faudra que tu me passe un exemple de ta structure, je n'arrive pas à te comprendre (mais j'ai la tête dans le code là ) :P

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#20 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 17:07

le dossier "assets" DOIT être accessible, alors que le dossier "application" contient des données "sensibles"... on ne sait jamais ;)
faudra que tu me passe un exemple de ta structure, je n'arrive pas à te comprendre (mais j'ai la tête dans le code là ) :P


Oui, tu as raison pour "assets", je n'avais pas pensé à ça (c'est pourtant logique, c'est dire si je bataille avec toute cette nouvelle architecture pour moi :blink: ).

Alors, mon arborescence n'est pas bonne, en fait, en plaçant le contrôleur principal en dehors du projet, même si ça marche bien en local, il va me poser des sérieux soucis au moment du déploiement sur le serveur... il faut donc que je revois ça... l'idéal pour moi serait de conserver la souplesse actuelle en local tout en ayant un dossier projet complet et autonome...

Ok, je creuse... je creuse... (dès que j'arrivé à Shangaï je vous tiens au courant :w00t: ).

Sinon, aucun soucis Amarok, dès que j'ai mis au point mon architecture, je te fais un Zip pour que tu puisse y voir plus clair...

:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#21 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 17:33

une astuce : si tu arrives à Shangaï, tu peux faire demi-tour et creuser juste à coté :P (sinon, c'est pas drôle) !!!

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#22 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 17:46

une astuce : si tu arrives à Shangaï, tu peux faire demi-tour et creuser juste à coté :P (sinon, c'est pas drôle) !!!


Oui mais... avec l'effet de la force centrifuge de la Terre, je risque de débarquer chez mas voisine au retour :huh: ... euh ... :blink: ... tout bien réfléchi, c'est pas mal comme idée finalement :w00t: :zz-big-happy:
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#23 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 18:04

:zz-big-happy:

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#24 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 19 décembre 2012 - 21:30

Ok, je crois que j'ai fini par trouver l'arborescence qui me convient, bien-sûr, ça reste encore théorique car je n'ai pas encore eu la possibilité de le tester en situation réelle de développement (plusieurs projets avec différentes version de CI).

Bon, je crois que le principe est relativement simple, même si cela semble un peu compliqué à première vue, je vais tenter de l'expliquer :

Le but est de pouvoir travailler sur plusieurs projets tout en gérant les éventuelles différentes versions de CI installées.

Alors, il faudrait normalement pouvoir distinguer ces différentes versions, car un projet peut évoluer d'une version à une plus récente et un autre peut tout-à-fait rester dans une version plus ancienne, toutes devant évidemment rester opérationnelles.

Pour commencer, à l'instar de ce qui était expliqué sur la vidéo, j'ai crée un dossier "systèmes" (que j'ai nommé "_sys" pour des raisons de confort) avec des sous-dossiers par version du framework (que je nomme avec 4 chiffres sans les points).

Ensuite, je devais reprendre la même organisation dans le dossier "applications" (que j'ai nommé "_app", toujours pour une histoire de confort perso), avec donc des sous-dossiers reprenant les éventuelles versions de CI.

Maintenant, là où ça se complique, c'est au moment de créer, nommer et organiser les différents projets, avec le souci d'utiliser le moteur de CI installé en local, tout en conservant la possibilité de rendre les dossiers des projets totalement autonomes pour faciliter le déploiement.

Je suis parti donc d'un choix un peu arbitraire mais qui, je l'espère, sera suffisamment souple et évolutif, en préfixant le dossier de mes projets avec "app_", puis en complétant avec le nom correspondant au projet (par ex. "app_blog" ou "app_site", etc.).

Donc, à cette étape, je me retrouvait avec quelque chose comme ceci :

codeigniter/
     _app/
          0213/
               app_projet/
                    -- tous les éléments du projet
     _sys/
          0213/
               -- tous les éléments système CI
     index.php



Ensuite, à l'intérieur de "app_projet", je reprends la même architecture qu'à la racine, pour avoir :

app_projet/
    _app/
          -- tous les éléments application CI
    _sys/
          -- tous les éléments système CI à placer avant déploiement
    index.php



Mon idée était de pouvoir accéder à tous les projets directement à partir du fichier "index.php" se trouvant à la racine de l'installation "codeigniter", avec une simple liste de liens ou, ce que j'ai finalement choisi, par un popup-menu de navigation.

La difficulté était donc de lister tous les projets présents dans le dossier "_app" dans une arborescence à plusieurs niveaux (version/projet) tout en liant chaque projet avec le système "_sys" installé à la racine.

Pour me faciliter la vie, j'ai opté par placer des dossiers, portants exactement le même nom que celui de chaque dossier projet, à la racine de l'installation de CI, avec à l'intérieur un simple fichier "index.php" qui se contente d'inclure le fichier contrôleur du vrai projet.

L'avantage que je vois dans cette méthode est, surtout, sa grande souplesse dans la gestion des différents projets avec différentes versions de CI.

L'inconvénient majeur, ce sont les manipulations à faire à chaque création d'un nouveau projet, mais cela reste tout de même assez rapide à faire.

Voilà, je ne sais pas si ces explications sont assez claires et je n'ai pas encore testé suffisamment cette architecture pour savoir si elle va convenir en situation réelle de développement, je l'espère du moins...

J'ai mis en ligne une petite archive qui reprend un peu cette arborescence, sans tous les fichiers du framework pour ne pas alourdir inutilement la chose, c'est juste Amarok pour que tu puisses un peu mieux visualiser le résultat de la chose : ArchitectureCodeIgniter.zip (20 Ko).

On verra à l'usage si je ne me suis pas trop emm... pour rien finalement et si c'est aussi souple que je l'imagine.

Tu en penses quoi ? :huh:

:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#25 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 22:05

fatche !

Il commence fort le Fredo :P

Perso, je ne vois pas trop l'utilité de mettre les dossiers "0213" dans "_app", à terme, on ne sait plus trop où se trouve le projet "toto"...
Je ferai plutôt l'inverse : le dossier "_app_projet" puis dedans un dossier "0213", etc. mais rien, c'est bien aussi je trouve :)
Et je ne pige pas trop pourquoi deux dossiers "app" finalement...
Une version dev, et une version déploiement ?
On pourrai aussi imaginer un projet codeigniter permettant d'automatiser certaines tâches, présenter tous tes projets, etc. ;)
Pour le fun, je m'étais amusé à encapsuler mon projet dans un simple fichier .rtf , et le pire, c'est que le fichier rtf était fonctionnel ! :D

Je réfléchi de mon côté à ta structure, et je tenterai de te proposer un truc d'ici peu :)

MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#26 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 19 décembre 2012 - 23:36

Bon voilà une structure du serveur :

structure_ci.PNG

Le système est en dehors de la racine du site, les projets peuvent être facilement appelés via le navigateur (à la rigueur un fichier index.php pointant sur le bon dossier en cours).
Il faut aussi penser aux fichiers .htaccess indispensable avec CodeIgniter lorsqu'on avance...

Ensuite, je n'aime pas compliquer plus que ça le reste, car ensuite, c'est plus dur de s'y retrouver (modifier par exemple le 1er fichier index.php afin de rediriger via l'ip vers une version différente, etc).

Bon Fredo, et si tu commençais à bosser avec au lieu de penser à une structure multiple ? :P



MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#27 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 20 décembre 2012 - 02:56

Ok, ok ! :up:


Bon voilà une structure du serveur :

structure_ci.PNG


Oui, c'est pas mal, hormis la gestion des versions d'un même projet, que je fais un peu différemment, pour le reste je suis assez d'accord avec ton idée, je vais le tester dès demain, si ça me convient, j'adopte !


Le système est en dehors de la racine du site, ...



Je m'interrogais un peu sur ce point : est-ce vraiment nécessaire de sortir le système de la racine du site ?

J'imagine que la réponse est "oui" pour des raisons de sécurité, seulement, je crains que cette architecture ne puisse être déployée ainsi chez tous les hébergeurs, impossible chez Free par exemple.


Il faut aussi penser aux fichiers .htaccess indispensable avec CodeIgniter lorsqu'on avance...


Oui, j'ai vu quelques tutos qui abordent la question, disons que pour l'instant je ne suis pas arrivé à ce point dans ma découverte de CI... j'en ai encore tant à apprendre qu'il va me falloir un peu de temps pour tout assimiler...


Bon Fredo, et si tu commençais à bosser avec au lieu de penser à une structure multiple ? :P


Oui, tu as 1000 fois raison, j'ai passé trop de temps sur ces histoires de structuration des projets, ça n'a pas été totalement stérile, mais un peu longuet en effet... j'attaque mes premiers tests "sérieux" dès demain... il faut avant tout que je me familiarise avec l'utilisation des librairies et des helppers, je n'ai pas encore tout pigé sur ces "trucs"... j'ai du pain sur la planche comme on dit :D

Merci en tout cas Amarok pour ton aide... et surtout ta patience !!! :clap:

:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#28 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 20 décembre 2012 - 04:07

Bon bein, je n'ai pas pu attendre pour tester :whistling: ... j'aime bien mais l'externalisation du dossier "system" me gêne un peu par rapport à une installation chez Free, que j'utilise pour plusieurs projets.

Alors donc, en m'inspirant de ta proposition et en tentant de simplifier les choses (nom des dossiers, organisation, etc.), voici la structure que je viens d'essayer :

codeigniter/
     020103/
          index.php
          projet_01/
               application/
               assets/
               index.php
          projet_02/
               application/
               assets/
               index.php
          system/

     020200/
          index.php
          projet_01/
               application/
               assets/
               index.php
          projet_03/
               application/
               assets/
               index.php
          system/



Concernant la gestion des versions d'un même projet, je ne garde en réalité qu'une seule version en cours de développement, pour éviter les maladresses, les autres ne sont finalement que des sauvegardes, souvent zippées, formant un historique de l'évolution du projet.

Je crois que je vais rester la dessus pour l'instant, je trouve cette arborescence pas mal, je vais plutôt me concentrer sur les fonctionnalités du framework désormais... et il y a de quoi faire ! :w00t:

:)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb

#29 Amarok II

Amarok II

    NeoAdmin

  • Administrateurs
  • PipPipPipPipPipPip
  • 1 459 Messages :
  • Configuration:Un petit truc en alu avec un grand rectangle lumineux qui affiche des choses qui bougent quand je chatouille un autre truc en alu, là... tout plat.
  • Sexe:Mystère
  • Localisation:Perpignan, France
  • Passions:MacFr bien sûr !

Posté 20 décembre 2012 - 11:41

Oui, le versionning sur les projets...
Pour ma part, concrètement, c'est bien plus simple chez moi :
projet_en_cours/
    _archives/
	    2012-12-8/
	    2012-12-16/


MacBook Pro (13", fin 2012)
8Go RAM - 256Go SSD - 1To HD

Technicien certifié ACMT et plein d'autres trucs...

"On peut voir de bien des façons. On peut être aveugle de bien des façons." (Frank Herbert, Dune)

"Tu ne feras point de machine à l'esprit de l'homme semblable." (Frank Herbert, Dune)


#30 FredoMkb

FredoMkb

    ...bosseigne...

  • Membres
  • PipPipPipPipPipPipPip
  • 2 645 Messages :
  • Configuration:iMac-SowLeopard
  • Sexe:Masculin
  • Localisation:StÉ
  • Passions:À part rien, absolument tout le reste !

Posté 20 décembre 2012 - 12:31

projet_en_cours/
_archives/
	 2012-12-8/
	 2012-12-16/


Tiens, intéressant, tu les dates tes archives (curieux, tu ne met pas de zéro pour les jours ? :huh: ), perso je les numérote uniquement, avec trois chiffres en général, puis je les place dans un dossier "zOld" (pour qu'il tombe en fin de liste sur mon éditeur).

Enfin, chacun ses petites habitudes... mes les miennes sont les meilleures, NA ! :zz-big-yo:

;)
Fredo
"Un pas à la fois me suffit..." Gandhi
"Il n'y a rien de plus inutile que quelque chose d'inexistant. Il n'y a rien de plus utile que de tenter de le créer." FredoMkb




0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)