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

ASP Discussion :

Existe-t-il un FrameWork ASP3?


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut Existe-t-il un FrameWork ASP3?
    Salut,

    Existe-t-il un FrameWork ASP3?

    Et bien oui. Qu'est-ce qu'un FW? Et bien la definition de Wikipédia est assez bonne.

    Sans plus attendre il est en pièce jointe.

    C'est moi qui l'ai fait. Je dois dire que depuis quelques mois, j'utilise beaucoup de classes ASP pour coder. Cela rend beaucoup de service si ce n'est pas trop le bazar. Pourtant, il me manquait ce petit qqch qui pouvait transformer tous ces outils en un framework convenable.

    Il est très loin d'être terminé. Il souffre certainement de beaucoup d'imperfections, mais si vous voulez bien m'aider, je crois que nous allons pouvoir l'améliorer et le rendre vraiment utile. Il faudrait y ajouter une classe pour manipuler les dates, lire un web.config, ...

    Utile à quoi? Et bien dans un premier temps je dirai qu'il va beaucoup nous aider à interroger proprement notre base de données préférée. Ensuite, il va bien nous aider à débuguer. Et puis j'ose espérer à rendre notre code plus lisible.

    Le ZIP contient un certain nombre de fichiers. Il s'agit des classes du FW. Vous pouvez le récupérer et les copier dans un dossier de votre site Web.
    Ci-dessous 3 exemples pour illustrer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <%@ language="VBSCRIPT" codepage="1252" %>
     
    <!--#include file="fw/cls_Immobilis.asp" -->
     
    <%
    ' Déclaration d'un variable globale à laquelle sera liée le framework
    Dim Immo
     
    ' Appel de la procédure principale
    Call Main
     
    ' Procédure principale pilotant la page
    Public Sub Main
        Set Immo = New Immobilis
     
            ' Affichage du context Http
            Immo.Http.ToTable
     
        Set Immo = Nothing
    End Sub
    %>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <%@ language="VBSCRIPT" codepage="1252" %>
     
    <!--#include file="fw/cls_Immobilis.asp" -->
     
    <%
    ' Déclaration d'un variable globale à laquelle sera liée le framework
    Dim Immo
     
    ' Appel de la procédure principale
    Call Main
     
    ' Procédure principale pilotant la page
    Public Sub Main
        Set Immo = New Immobilis
            ' Assignement de la propriété du fournisseur de données au gestionnaire de base de données.
            ' Ici, il s'agit de SQL. Ce pourrait être Access.
            ' Immo.BD.Provider = "Driver={Microsoft Access Driver (*.mdb)}; DBQ = " & Server.MapPath("BaseDeDonnees.mdb") & ";"
            ' Ce pourrait être aussi une variable d'application initialisée dans le "Global.asa"
            ' Immo.BD.Provider = Application("ConnectionString")
     
            Immo.BD.Provider = "Driver={SQL Native Client};Server=127.0.0.1;Database=MaBase;Uid=sa;Pwd=sa;"
            Call Immo.BD.SqlToTable("SELECT * FROM [USER]", "")
     
        Set Immo = Nothing
    End Sub
    %>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <%@ language="VBSCRIPT" codepage="1252" %>
     
    <!--#include file="fw/cls_Immobilis.asp" -->
     
    <%
    ' Indication que l'on souhaite voir s'afficher toutes les indications de débugage dispersées dans le code
    Debug.IsDebug = true
    ' Indication que l'on souhaite voir s'afficher tous les recordsets signalés explicitement
    Debug.IsDebugTbl = true
     
    ' Déclaration d'un variable globale à laquelle sera liée le framework
    Dim Immo
     
    ' Appel de la procédure principale
    Call Main
     
    ' Procédure principale pilotant la page
    Public Sub Main
        Dim StrSql
     
        Set Immo = New Immobilis
            ' Assignement de la propriété du fournisseur de données au gestionnaire de base de données.
            ' Ici, il s'agit de SQL. Ce pourrait être Access.
            ' Immo.BD.Provider = "Driver={Microsoft Access Driver (*.mdb)}; DBQ = " & Session("BaseDeDonnees") & ";"
            ' Ce pourrait être aussi une variable d'application initialisée dans le "Global.asa"
            ' Immo.BD.Provider = Application("ConnectionString")
            Immo.BD.Provider = "Driver={SQL Native Client};Server=127.0.0.1;Database=MaBase;Uid=sa;Pwd=sa;"
     
            %>
            <form action="" id="frm" method="post" enctype="application/x-www-form-urlencoded">
                <input id="txt" name="txt" type="text" value="<%=Immo.Http.ItemByKey("txt") %>" />
                <%
                ' La valeur des champs envoyé par le formulaire est stocké dans Immo.Http
     
                ' Creation d'une liste déroulante de pays
                StrSql = "select country_id, country_desc from country order by country_desc asc"
                call Immo.BD.SqlToDDListe(StrSql, "", Immo.Http.ItemByKey("country"), "country")
     
                ' Creation d'une liste déroulante d'équipes fonctionnelles
                StrSql = "select team_id, team_desc from team order by team_desc asc"
                call Immo.BD.SqlToDDListe(StrSql, "", Immo.Http.ItemByKey("team"), "team")
                %>
                <input type="submit" name="action" id="action" value="Go" />
            </form>
            <%
            ' Affichage du resultat uniquement si le formulaire est soumis quelque soit la méthode
            if Immo.Http.IsPostBack then
                strsql = "select * from [user] where (User_UserName like '%" & Immo.Http.ItemByKey("txt") & "%' and user_country = " & Immo.Http.ItemByKey("country") & " and user_team = " & Immo.Http.ItemByKey("team") & ")"
                Call Immo.BD.SqlToTable(strsql, "")
            End If
        Set Immo = Nothing
    End Sub
    %>
    Liste des fonctionnalités:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    "Class HttpContext";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Property Get Count"
    ;"Public Property Get Form"
    ;"Public Property Get QueryString"
    ;"Public Property Get IsPostBack"
    ;"Public Property Get ItemByKey(key)"
    ;"Public Property Get ItemByIndex(i)"
    ;"Public Property Get KeyByIndex(i)"
    ;"Public Sub ToTable"
    ;"Public Sub ToXml(path)"
    ;"Private Sub GrabServerVariables"
    ;"Private Sub GrabApplication"
    ;"Private Sub GrabSession"
    ;"Private Sub GrabCookies"
    ;"Private Sub GrabForm"
    ;"Private Sub GrabQueryString"
    ;"Private Sub SetArrays"
    "Class DBFactory";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Property Let Provider(value)"
    ;"Private Property Get Provider"
    ;"Private Property Set Connection(value)"
    ;"Private Property Get Connection"
    ;"Private Property Set Command(value)"
    ;"Private Property Get Command"
    ;"Private Property Let CountRequest(value)"
    ;"Private Property Get CountRequest"
    ;"Public Function ExecuteQuery(s)"
    ;"Public Function GetRst(s)"
    ;"Public Function GetRows(s)"
    ;"Public Sub RsToTable(rs, classname)"
    ;"Public Sub SqlToTable(sql, classname)"
    ;"Public Sub RsToDDListe(rs, classname, selectedvalue, id)"
    ;"Public Sub SqlToDDListe(sql, classname, selectedvalue, id)"
    ;"Public Sub RsToXls(rs, path)"
    "Class CFile";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Property Set File(value)"
    ;"Public Property Get File"
    ;"Public Sub DownLoad(path)"
    "Class CNumbers";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Function IsDecimal(byval str)"
    "Class CStrings";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Function ToProperCase(s)"
    ;"Public Function IsAlpha(c)"
    ;"Public Sub DisplayAscii"
    ;"Public Function ActivateHttp(str)"
    "Class CSecurity";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Property Get Encryption"
    ;"Public Property Get Authentication"
    "Class CCollection";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    "Class CDebug";
    ;"Private Sub Class_Initialize"
    ;"Private Sub Class_Terminate"
    ;"Public Default Property Get DefaultProperty"
    ;"Public Property Let IsDebug(value)"
    ;"Public Property Get IsDebug"
    ;"Public Property Let IsDebugTbl(value)"
    ;"Public Property Get IsDebugTbl"
    ;"Public Property Let Color(value)"
    ;"Public Property Get Color"
    ;"Public Property Let THColor(value)"
    ;"Public Property Get THColor"
    ;"Public Property Let TDColor(value)"
    ;"Public Property Get TDColor"
    ;"Public Function DWrite(value)"
    ;"Public Sub RsToTable(rs)"
    La classe de base s'appelle "Immobilis" vous ne devez inclure que celle-ci dans vos pages ASP. Elle contient les liens vers les autres classe.
    Vous pouvez évidement la personnaliser en modifiant le nom: "System" eût été plus approprié.

    Il serait aussi interessant de construire les page en faisant des classes comme indiqué ici

    Voilà, j'espère avoir bientôt de vos nouvelles.

    Cordialement,

    Immobilis
    "Winter is coming" (ma nouvelle page d'accueil)

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Par défaut
    bonjour immobilis,

    voilà un travail impressionnant !
    moi qui utilise les classes depuis 2001, je ne m'en lasse pas
    même si j'ai plutôt des classes sur les objets que je manipule (personnes, etc ...). pour le reste (construction des menus déroulants, etc ...), j'ai une solide bibliothèque de fonctions (réparties en différents fichiers : dates, texte, BDD, formulaire, ...)

    Nico.

  3. #3
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Cool,

    Tu cela t'interesses, je te propose d'inclure les fonctionnalités que tu utilises et qui ne figurent pas dans ce framework et de publier la nouvelle version.

    Qu'en penses-tu?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Par défaut
    pourquoi pas !
    comment veux-tu que l'on procède ? je te prépare les fichiers asp de fonction et tu les intègres ? ou bien je fais un pré-tri dans les fonctions à partir de ton FW (j'espère dans ce cas ne pas avoir trop de merde dans les yeux et bien identifier ce qui est présent/absent...)

    Nico.

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Cool,

    Autant que tu essayes de les intégrer car ainsi, on pourra s'approprier les fonctionnalités et ainsi bien les connaître. Ou alors on se partage le travail. Tu en as beaucoup?

    Sinon, j'ai déjà fait la liste des classes, des propriétés, des fonctions et procédures dans mon premier post.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 202
    Par défaut
    je vais déjà te les lister.
    tu me diras si ça te parait opportun
    par contre, je ne sais pas si j'aurai le temps demain ...

Discussions similaires

  1. Existe t-il un framework MVC pour mon besoin ?
    Par Lagoon94 dans le forum Bibliothèques et frameworks
    Réponses: 25
    Dernier message: 29/04/2011, 12h16
  2. [AJAX] Existe t-il un framework AJAX pour les JSP?
    Par solawe dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 18/08/2008, 17h08
  3. Existe t'il un framework pour programmation orienté plugins
    Par toure32 dans le forum Plateformes réactives et architectures modulaires
    Réponses: 2
    Dernier message: 12/06/2008, 08h26
  4. Réponses: 3
    Dernier message: 07/09/2007, 09h54
  5. [ORM] Existe-t-il un framework complet ?
    Par amazircool dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/05/2007, 22h30

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