Poster une réponse à un sujet: Création d'un forum : les failles à éviter
Attention, ce sujet est un sujet ancien (7135 jours sans réponse)
zion
C'est pas comparable quand même...
COM est utilisable partout, tout de suite
Et tu peux utiliser n'importe quel langage quasi y a toujours moyen de s'en sortir, mais par contre .NET faut un compilo .NET pour ton langage, une machine virtuelle .NET etc, etc... Très bof quand même
Et quand on voit le bide au niveau compilo pour le .NET, c'est pas encore gagné, la plupart des développeurs ont même pas encore compris comment ca marche l'OO
COM est utilisable partout, tout de suite
![:grin: :grin:](images/smileys/grin.gif)
Et tu peux utiliser n'importe quel langage quasi y a toujours moyen de s'en sortir, mais par contre .NET faut un compilo .NET pour ton langage, une machine virtuelle .NET etc, etc... Très bof quand même
![:kiki: :kiki:](images/smileys/kiki.gif)
Et quand on voit le bide au niveau compilo pour le .NET, c'est pas encore gagné, la plupart des développeurs ont même pas encore compris comment ca marche l'OO
Harkonnen
COM est sympa, mais relativement complexe et pas à la portée de tout le monde (notions de POO obligatoires)...
Surtout, je me pose la question sur son avenir depuis l'avènement de .NET
Surtout, je me pose la question sur son avenir depuis l'avènement de .NET
zion
Oui, Kylix et Delphi
Le COM c'est ce que j'ai trouvé de mieux (et j'en suis heureux) pour utiliser pleins de classes dans n'importe quel langage... Et surtout de pouvoir manipuler pleins d'objets qui passent par mon extension centrale sans même savoir ce que c'est (sinon pour partager des objets d'un DLL à l'autre ca foire totalement, plantage assuré).
![:smile: :smile:](images/smileys/smile.gif)
Le COM c'est ce que j'ai trouvé de mieux (et j'en suis heureux) pour utiliser pleins de classes dans n'importe quel langage... Et surtout de pouvoir manipuler pleins d'objets qui passent par mon extension centrale sans même savoir ce que c'est (sinon pour partager des objets d'un DLL à l'autre ca foire totalement, plantage assuré).
ovh
OK je m'y connais pas du tout en COM
C'est multi-plateforme alors ?
Et un truc comme ça compilé avec Delphi passe sous linux ? T'as utilisé Kylix ???
![:oops: :oops:](images/smileys/shy.gif)
C'est multi-plateforme alors ?
Et un truc comme ça compilé avec Delphi passe sous linux ? T'as utilisé Kylix ???
zion
Alors, y a un mix de pleins de choses.
Tout d'abord, il y a une extension qui fait entre interface PHP et mes modules. Perso j'ai tout codé en pascal objet, mais comme j'utilise que des interfaces COM, je pourrais très bien utiliser un module en VB ou en C++ sans problème, tant qu'on sait manipuler des objets COM.
Ensuite, y a des templates en XML qui disent comment certaines données doivent être formatées (genre que la propriété x de la classe y on veut afficher la date ou juste l'heure), puis l'extension templates génère une DOM via une autre extension de sortie, ici mon module XHTML (mais j'ai un module PDF ou on sait déjà faire des trucs sympas). Lui à son tour génère le texte final.
Vu que je ne voulais pas tout faire en statique non plus, les templates sont gérés à partir de PHP, ce pourquoi les pages sont en .PHP, mais le PHP est infime (maximum 20k de PHP pour tout le site ici). Le PHP me sert uniquement pour faire l'interface entre les paramètres que je reçois et ce que je dois en faire avec mes jolies petites classes, histoire de pouvoir utiliser les classes dans n'importe quelle situation en changeant juste les templates et un peu le PHP.
Sinon ici il tourne sous Linux + Apache, mais ca tourne aussi sous Windows (+ Apache).
Tout d'abord, il y a une extension qui fait entre interface PHP et mes modules. Perso j'ai tout codé en pascal objet, mais comme j'utilise que des interfaces COM, je pourrais très bien utiliser un module en VB ou en C++ sans problème, tant qu'on sait manipuler des objets COM.
Ensuite, y a des templates en XML qui disent comment certaines données doivent être formatées (genre que la propriété x de la classe y on veut afficher la date ou juste l'heure), puis l'extension templates génère une DOM via une autre extension de sortie, ici mon module XHTML (mais j'ai un module PDF ou on sait déjà faire des trucs sympas). Lui à son tour génère le texte final.
Vu que je ne voulais pas tout faire en statique non plus, les templates sont gérés à partir de PHP, ce pourquoi les pages sont en .PHP, mais le PHP est infime (maximum 20k de PHP pour tout le site ici). Le PHP me sert uniquement pour faire l'interface entre les paramètres que je reçois et ce que je dois en faire avec mes jolies petites classes, histoire de pouvoir utiliser les classes dans n'importe quelle situation en changeant juste les templates et un peu le PHP.
Sinon ici il tourne sous Linux + Apache, mais ca tourne aussi sous Windows (+ Apache).
ovh
zion en quel langage est fait ton forum à part les parties en asm ? J'avoue que je suis très surpris : il tourne sous quel OS ton forum ? Linux ?
zion
La première chose à faire ce serait quand même de faire un joli schéma de la base de données. Perso j'ai fait la mienne, puis j'ai regardé celle de phpBB et d'innovision pour voir si ils avaient des trucs en mieux ou en plus.
Après la DB, si tu codes en C#, ce serait pas idiot de faire un forum en OO quand même
Sinon après j'ai fait morceau par morceau, liste des catégories, puis liste des topics, puis les messages, puis les messages sur plusieurs pages, etc, etc... Et y a encore un paquet de features en DB qui sont pas encore codées dans le forum lui même, mais au moins j'ai de quoi faire pleins de features sans devoir modifier mon schema, il est tout propre dès le début
Après la DB, si tu codes en C#, ce serait pas idiot de faire un forum en OO quand même
![:wink: :wink:](images/smileys/wink.gif)
Sinon après j'ai fait morceau par morceau, liste des catégories, puis liste des topics, puis les messages, puis les messages sur plusieurs pages, etc, etc... Et y a encore un paquet de features en DB qui sont pas encore codées dans le forum lui même, mais au moins j'ai de quoi faire pleins de features sans devoir modifier mon schema, il est tout propre dès le début
![:smile: :smile:](images/smileys/smile.gif)
Harkonnen
quand tu as commencé à coder ton forum, je suppose que tu t'es documenté, regardé des sources, etc...
tu aurais quelques liens à me donner, qui t'ont permis de démarrer ? parce que partir de 0 c'est déjà bien chiant, mais en plus, je n'ai aucune idée de ou commencer
tu aurais quelques liens à me donner, qui t'ont permis de démarrer ? parce que partir de 0 c'est déjà bien chiant, mais en plus, je n'ai aucune idée de ou commencer
![:sweat: :sweat:](images/smileys/sweat.gif)
zion
Pour l'ASM, non, l'idée est saugrenue, mais pour interfacer PHP et Pascal et avoir un truc cohérent et facile à utiliser, a part utiliser de l'ASM j'avais pas le choix...
(Très utile pour convertir les appels de fonction PHP en appels Delphi avec transformation des params et cie).
Les requêtes elles sont blindées à plusieurs niveaux. Le premier, comme je fais tout en OO, un message c'est une classe, et donc pas question de foutre un string sur l'id du topic par exemple, les données sont déjà contrôlées une première fois la, puis j'ai des templates de query dans lesquels je place les valeurs et la tout ce qui est string est entre quote et les \ et ' sont modifiés en conséquence
(Plus des modifications pour accepter des caractères spéciaux comme l'€ et de l'unicode sans que MySQL bousille tout dans un champ texte classique).
![:wink: :wink:](images/smileys/wink.gif)
Les requêtes elles sont blindées à plusieurs niveaux. Le premier, comme je fais tout en OO, un message c'est une classe, et donc pas question de foutre un string sur l'id du topic par exemple, les données sont déjà contrôlées une première fois la, puis j'ai des templates de query dans lesquels je place les valeurs et la tout ce qui est string est entre quote et les \ et ' sont modifiés en conséquence
![:smile: :smile:](images/smileys/smile.gif)
Harkonnen
Pour la petite histoire, c'est pas la majorité, mais les procédures les plus importantes j'ai quand même tout fait en ASM pour mon projet (donc aussi ce forum). Ca permets quand même parfois des choses qu'on a aucune chance de faire en language "évolué"
![:sweat: :sweat:](images/smileys/sweat.gif)
je quote pour la postérité !!
![:grin: :grin:](images/smileys/grin.gif)
je savais bien que mon idée de forum en asm n'était pas si saugrenue !
Puis après on peut aller dans les protections visuelles, genre les protections pour éviter qu'on bousille le layout (j'en ai un paquet), ou les protections pour éviter les abus (flood et cie), mais je sais pas si ca vaut la peine de commencer à détailler tout de suite, si?
![:joce: :joce:](images/smileys/joce.gif)
non, je souhaite uniquement éviter de me faire hacker, le flood ça viendra ensuite
![:grin: :grin:](images/smileys/grin.gif)
pour les requetes SQL, tu les as blindées pour éviter le SQL injection ?