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

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

Langage PHP Discussion :

Améliorer la rapidité de mon code ?


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Novembre 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut Améliorer la rapidité de mon code ?
    Bonsoir à tous .

    Alors déjà tout d'abord, je débute en programmation PHP c'est pourquoi certaine chose que j'aurais pu coder vont certainement vous paraître absurde et dans ce cas n'hésiter pas à me le faire savoir, mon but est réellement de progresser.

    Mon problème ce soir est que j'ai décidé de créer une interface (simple page Php) qui est hébergé sur un raspberry (apache) et qui me sert à effectuer diverses actions (très simple/basique) sur mon serveur ESXI afin de ne pas à avoir à démarrer une VM Windows pour si peu.

    Pour information tout ceci tourne dans un environnement personnel et je n'ai pas réellement de contrainte.

    Alors voici ci-dessous le code de mon interface :
    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
     
    <!DOCTYPE html>
    <?php
     
    	$start=0;
    	$stop=0;
    	if ($_GET["start"] == 1){
    		exec("wakeonlan D0:BF:9C:45:2B:48");
    		header('Location: index.php');
     
    	}
    	if ($_GET["stop"] == 1){
    		exec("ssh root@192.168.0.15 poweroff");
    		header('Location: index.php');
     
     
    	}
     
    	if ($_GET["dsmstart"] == 1){
    		exec('ssh root@192.168.0.15 vim-cmd vmsvc/power.on 1');
    		header('Location: index.php');
     
    	}
    	if ($_GET["dsmstop"] == 1){
    		exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.off 1");
    		header('Location: index.php');
     
    	}
    	if ($_GET["dsmpause"] == 1){
    		exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.suspend 1");
    		header('Location: index.php');		
     
     
    	}
     
    	if ($_GET["dsmreboot"] == 1){
    		exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.reboot 1");
    		header('Location: index.php');		
     
     
    	}
     
        if ($_GET["pfsensestart"] == 1){
    		exec('ssh root@192.168.0.15 vim-cmd vmsvc/power.on 2');
    		header('Location: index.php');
     
    	}
    	if ($_GET["pfsensestop"] == 1){
    		exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.off 2");
    		header('Location: index.php');
     
    	}
    	if ($_GET["pfsensepause"] == 1){
    		exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.suspend 2");
    		header('Location: index.php');		
     
     
    	}
     
    	if ($_GET["pfsensereboot"] == 1){
    		exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.reboot 2");
    		header('Location: index.php');		
     
    	}
     
    	exec("ping -c1 192.168.0.15 | tail -n 2 | head -n 1 | cut -d' ' -f 4",$retour);
    	if ($retour[0] == '1'){
    		$message = "Le Serveur ESXI est allumé";
    	}
    	else{
    		$message = "Le serveur est éteint";
    	}
     
    ?>
     
     
     
     
     
    <html lang="fr">
    <head>
    	<meta charset="UTF-8">
    	<title>Power Serveur</title>
    	<link rel="stylesheet" href="style.css" />
     
    	<!-- Icons -->
    	<link rel="apple-touch-icon-precomposed" href="iconMobile.png">
    	<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
     
    	<!-- Mobile -->
    	<meta name="viewport" content="width=device-width" />
    	<meta name="theme-color" content="#2180e0">
    </head>
    <body>
    	<header>
    		<h1>Serveur</h1>
    	</header>
    	<section>
    		<article>
    			<h2>Alimentation</h2>
    			<p><?php echo $message; ?></p>
    			<a href="index.php?start=1">Allumer</a> | <a href="index.php?stop=1">Éteindre</a>
    		</article>
    		<article <?php if ($retour[0] != '1'){ echo "style=\"display:none\""; } ?>>
    			<h2>Machines Virtuelles</h2>
    			<table>
    				<tr>
    					<td class="titreTD">Nom</td>
    					<td class="titreTD">VMid</td>
    					<td class="titreTD">WorldID</td>
    					<td class="titreTD">Etat</td>
    					<td class="titreTD">Actions</td>
                        <td class="titreTD">Date d'uptime</td>
    					<td class="titreTD">Heure d'uptime</td>
    				</tr>
     
    				<tr>
    				<td><?php echo "DSM";?></td>
    				<td><?php echo "1";?></td>
    				<td><?php echo exec("ssh root@192.168.0.15 esxcli vm process list | grep World | head -n 1");?></td>
    				<td><?php echo exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.getstate 1");?></td>
    				<td>    <a href="index.php?dsmstart=1"><img src="start.png" alt="start"/></a>
                            <a href="index.php?dsmpause=1"><img src="pause.png" alt="pause"/></a>
                            <a href="index.php?dsmstop=1"><img src="stop.png" alt="stop"/></a>
                            <a href="index.php?dsmreboot=1"><img src="reboot.png" alt="reboot"/></a>  
                    </td>
                    <td><?php echo exec("ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1 | grep bootTime | cut -d ' ' -f6 | cut -d \"\" -f2 | cut -d T -f1 | cut -c 2-11");?></td>
                    <td><?php echo exec("ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1 | grep bootTime | cut -d ' ' -f6 | cut -d \"\" -f2 | cut -d T -f2 | cut -c 1-8");?></td>
     
     
    				</tr>
     
                    <tr>
                    <td><?php echo "pfSense";?></td>
    				<td><?php echo "2";?></td>
                    <td><?php echo exec("ssh root@192.168.0.15 esxcli vm process list | grep World | head -n 2");?></td>
                    <td><?php echo exec("ssh root@192.168.0.15 vim-cmd vmsvc/power.getstate 2");?></td>
                    <td>    <a href="index.php?pfsensestart=1"><img src="start.png" alt="start"/></a>
                            <a href="index.php?pfsensepause=1"><img src="pause.png" alt="pause"/></a>
                            <a href="index.php?pfsensestop=1"><img src="stop.png" alt="stop"/></a>
                            <a href="index.php?pfsensereboot=1"><img src="reboot.png" alt="reboot"/></a>
                    </td>
                    <td><?php echo exec("ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 2 | grep bootTime | cut -d ' ' -f6 | cut -d \"\" -f2 | cut -d T -f1 | cut -c 2-11");?>         </td>
                    <td><?php echo exec("ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 2 | grep bootTime | cut -d ' ' -f6 | cut -d \"\" -f2 | cut -d T -f2 | cut -c 1-8");?></td>
    				</tr>
    			</table>
    		</article>
     
     
     
    		<article>
    			<h2>Liens</h2>
    			<p><a href="http://192.168.0.15">ESXI</a></p>
    			<p><a href="http://192.168.0.100:8280/">Haproxy</a></p>
    		</article>
    	</section>
     
    	<footer></footer>
    </body>
    </html>
    Ce qui me dérange le plus c'est le temps de chargement de cette page, c'est plutôt hallucinant d'avoir a attendre 5-10 secondes pour une simple requête ping, j'ai également ce type d'erreur :

    Notice: Undefined index: start in /var/www/html/index.php on line 6

    Notice: Undefined index: stop in /var/www/html/index.php on line 11
    Savez vous comment est-ce que je pourrais optimiser tout cela ?

    Merci de votre aide.


    EDIT : Comme un idiot j'avais oublié le paquet d'exec qui s'exécute au chargement de la page... ont peu surement rien faire du coup.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour tes erreurs Notice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_GET["start"]) && $_GET["start"] == 1){
    		exec("wakeonlan D0:BF:9C:45:2B:48");
    		header('Location: index.php');
    }
    sinon effectivement le temps d'execution n'est pas du côté de PHP.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Novembre 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Parfait ça a bien corrigé mes erreurs .

    Tu saurais comment est-ce que je pourrais faire pour avoir une sorte de "chargement" le temps que la requête s’exécute ? (Je pense notamment lorsque cela fait le wake on Lan ou ça prend quelque temps, ou lorsque je reboot une vm afin de ne pas avoir la page qui charge et charge...)

  4. #4
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Tu peux régler le timeout de la command ping avec l'option -W (en secondes):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ping -c1 -W1 192.168.0.15 | awk '/^1/{print $4}'
    Attention, toutes tes commandes exec, ne tiennent pas compte du résultat de ce test! Si le paquet retour n'est pas envoyé, pas la peine de s'acharner à envoyer des commandes ssh à cette adresse.

    Il est aussi possible de se connecter en ssh avec PHP, ce qui t'éviterai d'avoir à préfixer toutes tes commandes.

    Au lieu d'écrire 2 fois la même commande pour récupérer deux parties différentes de sa sortie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1 | grep bootTime | cut -d ' ' -f6 | cut -d "" -f2 | cut -d T -f1 | cut -c 2-11
    ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1 | grep bootTime | cut -d ' ' -f6 | cut -d "" -f2 | cut -d T -f2 | cut -c 1-8
    Lance la commande une seule fois et termine le découpage en PHP. Je suis pas persuadé que cut -d "" -f2 fasse grand chose, mais de toute manière il y a beaucoup trop de cuts. Je suis sûr que tu peux virer le grep et la série de cuts pour remplacer tout ça par une unique commande awk ou sed. L'idéal serait de renvoyer à PHP une chaîne du style résultat1#résultat2 comme ça tu as juste à faire un explode sur le # pour avoir les valeurs de tes deux colonnes.

    Quand tu auras un résultat satisfaisant le top ensuite serait de faire la même chose en Ajax.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Novembre 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup pour ce retour CosmoKnacki.

    Ta commande ping est parfaite, plus optimisée que la précédente.

    J'ai ajouté une condition qui vérifie le retour de cette commande avant d'effectuer un exec.

    Concernant le nombre de cut je suis plutôt d'accord je n'avais pas pensé à découper directement avec PHP, je ne connais pas vraiment awk par contre.
    Le retour de la commande : ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1

    Donne ca :

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
     
    root@odroid:/var/log# ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1
    Runtime information
    (vim.vm.RuntimeInfo) {
       device = (vim.vm.DeviceRuntimeInfo) [
          (vim.vm.DeviceRuntimeInfo) {
             runtimeState = (vim.vm.DeviceRuntimeInfo.VirtualEthernetCardRuntimeState) {
                vmDirectPathGen2Active = false, 
                vmDirectPathGen2InactiveReasonOther = (string) [
                   "vmNptIncompatibleNetwork"
                ], 
                vmDirectPathGen2InactiveReasonExtended = <unset>, 
                reservationStatus = <unset>, 
             }, 
             key = 4000
          }
       ], 
       host = 'vim.HostSystem:ha-host', 
       connectionState = "connected", 
       powerState = "poweredOn", 
       faultToleranceState = "notConfigured", 
       dasVmProtection = (vim.vm.RuntimeInfo.DasProtectionState) null, 
       toolsInstallerMounted = false, 
       suspendTime = <unset>, 
       bootTime = "2015-07-17T11:04:27.097714Z", 
       suspendInterval = 0, 
       question = (vim.vm.QuestionInfo) null, 
       memoryOverhead = <unset>, 
       maxCpuUsage = 2294, 
       maxMemoryUsage = 2048, 
       numMksConnections = 0, 
       recordReplayState = "inactive", 
       cleanPowerOff = <unset>, 
       needSecondaryReason = <unset>, 
       onlineStandby = false, 
       minRequiredEVCModeKey = <unset>, 
       consolidationNeeded = false, 
       offlineFeatureRequirement = (vim.vm.FeatureRequirement) [
          (vim.vm.FeatureRequirement) {
             key = "cpuid.lm", 
             featureName = "cpuid.lm", 
             value = "Bool:Min:1"
          }
       ], 
       featureRequirement = (vim.vm.FeatureRequirement) [
          (vim.vm.FeatureRequirement) {
             key = "cpuid.SSE3", 
             featureName = "cpuid.SSE3", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.PCLMULQDQ", 
             featureName = "cpuid.PCLMULQDQ", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.SSSE3", 
             featureName = "cpuid.SSSE3", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.CMPXCHG16B", 
             featureName = "cpuid.CMPXCHG16B", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.PCID", 
             featureName = "cpuid.PCID", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.SSE41", 
             featureName = "cpuid.SSE41", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.SSE42", 
             featureName = "cpuid.SSE42", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.POPCNT", 
             featureName = "cpuid.POPCNT", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.XSAVE", 
             featureName = "cpuid.XSAVE", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.DS", 
             featureName = "cpuid.DS", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.SS", 
             featureName = "cpuid.SS", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.FSGSBASE", 
             featureName = "cpuid.FSGSBASE", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.SMEP", 
             featureName = "cpuid.SMEP", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.ENFSTRG", 
             featureName = "cpuid.ENFSTRG", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.XCR0_MASTER_SSE", 
             featureName = "cpuid.XCR0_MASTER_SSE", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.LAHF64", 
             featureName = "cpuid.LAHF64", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.NX", 
             featureName = "cpuid.NX", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.RDTSCP", 
             featureName = "cpuid.RDTSCP", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.LM", 
             featureName = "cpuid.LM", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "cpuid.Intel", 
             featureName = "cpuid.Intel", 
             value = "Bool:Min:1"
          }, 
          (vim.vm.FeatureRequirement) {
             key = "misc.cpuidFaulting", 
             featureName = "misc.cpuidFaulting", 
             value = "Bool:Min:1"
          }
       ], 
       vFlashCacheAllocation = 0, 
       paused = false, 
       snapshotInBackground = false, 
       quiescedForkParent = <unset>, 
    }
    Comme tu l'as compris la seule partie qui m'intéresse est Boot Time, comment faire avec Php&Awk pour parser le retour de cette commande directement ?

    Pour se connecter en ssh avec Php je vais regarder ça tout de suite.
    Merci beaucoup de ton investissement.

    EDIT : Ou encore mieux pour obtenir la date et l'heure d'uptime c'est peut être possible en une commande ? ca m’évitera d'avoir 2 colonnes différentes.

  6. #6
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $bootTime = exec("ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1 | awk -F'[\".]' '/^bootTime/{print $2; exit}'"); // renvoi: 2015-07-17T11:04:27
    list($date, $time) = explode('T', $bootTime, 2); // sépare au niveau du T (2 morceaux max)
    La commande awk est très simple:

    -F'[".]' définie le séparateur de champs (même principe que cut). Ici, c'est une classe de caractères contenant le point et le double quote. (le séparateur de champs peut être une regex).

    /^bootTime/{...} est une condition (encore une regex: ligne commençant par "bootTime"), si elle est satisfaite, les instructions entre accolades sont exécutées.

    print $2; exit affiche le champ 2 et quitte immédiatement awk sans avoir besoin de tester les lignes restantes.

    On peut aussi filtrer la sortie brute de ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1 entièrement avec php comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $runtime = exec("ssh root@192.168.0.15 vim-cmd vmsvc/get.runtime 1");
    if (preg_match('~^bootTime = "([\d-]+)T([\d:]+)~m', $runtime, $m)) {
        $date = $m[1];
        $time = $m[2];
    }
    Mais je ne pense pas que ce soit aussi rapide.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Novembre 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Parfait merci beaucoup CosmoKnacki.

    Voilà ma "V2" qui me paraît plus optimiser que la précédente et qui pour moi suffit amplement. (À moins que je puisse obtenir quelque chose d'instantanée ?)

    j'ai également une autre question, lorsque je suis sur mon site j'ai ce petit | clignotant comme si je pouvais écrire du texte lorsque je clique quelques part.
    Voir sur screen au niveau du 1 (VMID)

    Merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ tu peux ajouter après chaque header(...) :
    2/ La copie d'écran ne nous apprend rien sur le code...

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Novembre 2014
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Novembre 2014
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Après chaque Header ? je ne comprend pas.

    J'ai normalement poster le code complet dans mon dernier message.
    Merci beaucoup

    EDIT : Ok autant pour moi pour les headers >< c'est surement la chaleur !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Pour qu'on puisse tester la page, il nous faut le code HTML généré (sans code PHP) => "Ctrl" + "U" (= "code source" de la page)
    Il faudrait voir aussi dans le code CSS si ce n'est pas le curseur qui a été modifié (cursor:text; ?).

    La page en ligne serait mieux.

Discussions similaires

  1. Améliorer la rapidité de mon appli ?
    Par Baboulinet_ dans le forum Général Java
    Réponses: 3
    Dernier message: 15/11/2011, 15h01
  2. Réponses: 3
    Dernier message: 29/01/2011, 20h17
  3. Votre avis pour améliorer mon code (opérations matricielles)
    Par Schopenhauer dans le forum Débuter
    Réponses: 42
    Dernier message: 17/09/2010, 19h25
  4. [WD15] Comment améliorer mon code LanceAppli
    Par papydev dans le forum WinDev
    Réponses: 13
    Dernier message: 20/08/2010, 12h17
  5. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 20h13

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