Compiler regrouper fichier html / javascript

Fermé
ponpon17430 - 5 déc. 2008 à 08:57
 Samuel13750 - 4 août 2011 à 22:19
Bonjour,

J'ai une petite appli dans un repertoire en local.
dans ce repertoire, il y a donc mon fichier HTML que je lance qui fait appel a des fichiers du type JS / CSS / html des images.
J'aimerai savoir si il est possible de compiler tous cela en un seul fichier (crypté) en .html ou .exe pour que les utilisateurs ne puissent pas voir les sources de mes fichiers JS.
Ou autrement de faire un fichier qui extrait certain fichiers en auto dans un rep que je précise et le fichier principale sur le bureau mais sans que l'utilisateur vois la destination. (un peu lorsqu'une appli s'install)

Merci de votre aide
Bonne journée
A voir également:

28 réponses

pour faire des installations: https://nsis.sourceforge.io/Main_Page
0
Merci je vais aller voir cela en rentrant chez moi car au travail, je n'ai pas un acces ouvert a tous les sites.
0
ce site https://www.javascriptobfuscator.com/Default.aspx
Est parfait maintenant il faut que je teste avec mes sources :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ca fonctionne bien mais est ce qu'il y a un moyen de crypter plus fortement la source du fichier html ?
0
http://www.voormedia.com/en/tools/html-obfuscate-scrambler.php
0
http://isnoop.net/tools/obfuscate.php
0
Tant que cela est pour une utilisation locale et en supposant qu'il s'agisse de Windows :
1 - Obfusquer le code javascript (http://dean.edwards.name/packer/
2 - Renommer le HTML en HTA, supprimer les références à l'ancien script et inclure le script obfusqué en totalité (pas de référence mais une inclusion totale),
3 - Travailler le HTA selon ses caractéristiques spécifiques (https://docs.microsoft.com/en-us/previous-versions//ms536496(v=vs.85)?redirectedfrom=MSDN
4 - Ensuite googler un peu pour trouver des convertisseurs HTA EXE

Pour une install auto, il existe un programme natif windows depuis IE4 que peu connaissent et qui a été pourtant utilisé à outrance : iexpress
Démarrer / Exécuter : IExpress.exe and follow the wizard :)

Enjoy,
0
Merci pour ce nouveau detail :)
Je vais tester cela dès cette aprem et indique si ca fonctionne :)
0
alors avec l'utilitaire pour faire le .exe, ca passe par contre j'aimerai faire en sorte qu'il decompresse le tout dans un rep que je choisis par defaut et aussi copier le .html sur le bureau.
Merci encore pour vos réponses.
0
télécharges ça: http://hmne.sourceforge.net/

c'est un frontend à nsis, il y a un assistant qui te guideras...notamment sur la création des dossiers et des racourcis html
0
ponpon17430 > JC
8 déc. 2008 à 11:44
Merci je teste aussi cette aprem
0
ponpon17430 > JC
8 déc. 2008 à 17:47
Bon cette aprem pas eut trop de dispo, je testerai demain si ca fonctionne car là repris le travaille.
0
ponpon17430 > JC
9 déc. 2008 à 09:27
Avec l'assistant il me demande de selectionner un langage mais je ne peux rien selectionner :(
0
JC > ponpon17430
9 déc. 2008 à 10:13
hm nis edit est une interface qu'on supperpose à nsis, c'est un editeur de code nsis, il a un assistant qui facilite la compilation du code nsis...
vérifie que nsis est bien installé, ensuite ouvre hm nsi edit et vérifie que la liaison est bien faite:
outils > configuration >compilateur > c:\le_repertoire_d'installation_de_nsis/makensis.exe
ok

je viens de télécharger les dernières versions nsis et hm nsi edit et tout fonctionne...
0
Ok, merci beaucoup pour l'aide que tu apportes JC
Je teste cela cette aprem si j'ai le temps.
Encore merci
0
Alors j'arrive bien a compiler les fichiers pour en faire un exe par contre dans l'assistant, je précise bien un raccourcie sur destop mais ca ne le créé pas...
Voici la ligne de commande :
CreateShortCut "$DESKTOP.lnk" "C:\WINDOWS\Temp\monfichier.html"
0
EDIT en fait c'est bon j'ai reussi a créer le raccourcie en regardant comment il était créé pour le menu demarré :)
Merci beaucoup !!
0
no problemo

tu peux regarder là il y a plein de tut pour t'amuser à compiler des installations avec diverses options etc.

https://nsis.sourceforge.io/Category:Tutorials
0
ponpon17430 > JC
9 déc. 2008 à 18:04
Je jetterai un oeil, vraiment un grand merci pour ton aide !!
Par contre pour entre guillemet crypter le fichier html, je n'ai pas encore regardé pour le passer en .HTA
0
JC > ponpon17430
10 déc. 2008 à 09:42
Pour ça faut voir avec Neils, pour ma part j'utilise php obfuscator, nsis pour installer zmws (ZazouMiniWebServer) et mes applis web sur les postes locaux.
0
J'ai cette fois une derniere question lol
Je n'ai pas trouvé le moyen d'enlever a la fin la case lancer le programme ou a defaut spécifier quel fichier il doit lancer :(
0
Petite ajout, j'ai testé avec fileopen mais a priori je dois mal coder la ligne pour lancer l'ouverture du fichier pourtant, il ne me marque pas d'erreur lors du compilage de l'appli :(
0
Un ptit UP :)
0
je regarde je te dis ça en début d'aprem
0
pour choisir le fichier à lancer c'est au début du code dans:

!define MUI_FINISHPAGE_RUN "$INSTDIR\monapplication.exe"


Va voir les tutoriaux dont je t'ai parlé cherche à la lettre R : run an application shortcut after an install...

tu auras plusieurs exemple...
0
si tu ne veux pas lancer d'application à la fin de l'install tu commente la ligne cité au dessus avec un point virgule devant...

;!define MUI_FINISHPAGE_RUN "$INSTDIR\monapplication.exe"
0
Merki je ne t'embete plus :)
0
No pbo ! donc c'est résolu ? ;)
0
Oui et non lol là je suis au travail donc je me suis envoyé le .exe, il lance l'install la fait sans pb par contre aucun fichier installé :( Par contre ne me demande plus de lancer l'appli a la fin :)
Je suis proche du but lol
0
Tu lui as donné des fichiers à installer au moins ? c'est le comble si t'as oublié de faire ça !

Tu lances l'assistant arriver au moment des sections, tu supprimes les deux fichiers exe dans la partie droite, ce sont des exemples, hein ! :)

ça doit se présenter comme ça dans le code:

Section "Mon Programme"
SetOutPath $INSTDIR
File "c:\le_chemin_vers_mon_programme\Mon Programme.exe"
File "Readme.txt"
File "c:\un_autre_dossier_avec_mes_super_applis\SuperAppli.exe
File "c:\un_gros_zip_velu"
SectionEnd



Tu mets les tiens,etc. et tu finis l'assistant... n'hésites pas à lire la doc...et les tutoriaux...je crois que t'en as besoin là !

tiens de la doc en français: http://www.todae.fr/nsis/i2k/?nsis_rub=example
0
C'est bon j'ai recompiler l'appli et ca passe, a mon avis c'est en transerer le .exe sur un neufgiga que ca a foiré...
Je vais lire le lien que tu m'as donné cette aprem ou demain quand je serais dispo.

Bonne journée / Bon week end
0
Bon résultat final ca fonctionne nikel :)
Un grand merci JC pour avoir suivis la conversation.
Bonne journée / Fêtes
0
Bon en fait j'ai d'autres idée qui me viennent en tete pour optimiser mon programme.
Mais par contre sur les tuto, je ai trouvé avec l'assistant comment permettre de selectionner les composants mais est ce qu'il est possible de mettre un composant par defaut et non decochable ?
0
salut,

je ne sais pas ce que tu veux dire par composant ?! je pense que tu parles des sections... ce que l'utilisateur peut installer et dans quel dossier ...

il me semble que c'est possible je jetterai un oeil dans mes scripts demain après midi...
0
salut,

;!insertmacro MUI_PAGE_COMPONENTS <--- à désactiver (point-virgule) pour ne pas permettre à l'utilisateur de choisir les éléments à installer...
0
si tu as plusieurs sections dont une requise et les autres optionnelles voici un script trouver dans les tutorials ;)
La partie du script qui t'intérèsse se trouve à SectionIn RO

;--- Add/Remove system macros: ---
; (You may place them to include file)
Var AR_SecFlags
Var AR_RegFlags
 
!macro InitSection SecName
  ;  This macro reads component installed flag from the registry and
  ;changes checked state of the section on the components page.
  ;Input: section index constant name specified in Section command.
 
  ClearErrors
  ;Reading component status from registry
  ReadRegDWORD $AR_RegFlags HKLM \
    "${REG_UNINSTALL}\Components\${SecName}" "Installed"
  IfErrors "default_${SecName}"
    ;Status will stay default if registry value not found
    ;(component was never installed)
  IntOp $AR_RegFlags $AR_RegFlags & 0x0001  ;Turn off all other bits
  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading default section flags
  IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE  ;Turn lowest (enabled) bit off
  IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags      ;Change lowest bit
 
  ;Writing modified flags
  SectionSetFlags ${${SecName}} $AR_SecFlags
 
 "default_${SecName}:"
!macroend
 
!macro FinishSection SecName
  ;  This macro reads section flag set by user and removes the section
  ;if it is not selected.
  ;Then it writes component installed flag to registry
  ;Input: section index constant name specified in Section command.
 
  SectionGetFlags ${${SecName}} $AR_SecFlags  ;Reading section flags
  ;Checking lowest bit:
  IntOp $AR_SecFlags $AR_SecFlags & 0x0001
  IntCmp $AR_SecFlags 1 "leave_${SecName}"
    ;Section is not selected:
    ;Calling Section uninstall macro and writing zero installed flag
    !insertmacro "Remove_${${SecName}}"
    WriteRegDWORD HKLM "${REG_UNINSTALL}\Components\${SecName}" \
  "Installed" 0
    Goto "exit_${SecName}"
 
 "leave_${SecName}:"
    ;Section is selected:
    WriteRegDWORD HKLM "${REG_UNINSTALL}\Components\${SecName}" \
  "Installed" 1
 
 "exit_${SecName}:"
!macroend
 
!macro RemoveSection SecName
  ;  This macro is used to call section's Remove_... macro
  ;from the uninstaller.
  ;Input: section index constant name specified in Section command.
 
  !insertmacro "Remove_${${SecName}}"
!macroend
;--- End of Add/Remove macros ---
 
 
;  This constant specifies the installer file name.
!define InstFile "AddRemove.exe"
OutFile "${InstFile}"
 
;  This constant specifies Windows uninstall key for your application.
!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\
\AddRemoveExample"
 
InstallDir "$DESKTOP\AddRemove Example"
Name "Add/Remove Example 1.0"
ComponentText "Check the components you want to add and uncheck \
the components you want to remove:"
ShowInstDetails show
ShowUnInstDetails show
 
 
Section "Required Section"
SectionIn RO
  ;This section is required. It can't be removed.
 
  CreateDirectory $INSTDIR
  WriteUninstaller "$INSTDIR\Uninstall.exe"
 
;Writing uninstall info to registry:
  WriteRegStr HKLM "${REG_UNINSTALL}" "DisplayName" "Add/Remove Example"
  WriteRegStr HKLM "${REG_UNINSTALL}" "DisplayIcon" "$INSTDIR\Uninstall.exe"
  WriteRegStr HKLM "${REG_UNINSTALL}" "DisplayVersion" "1.0"
  WriteRegStr HKLM "${REG_UNINSTALL}" "Publisher" "THRaSH"
  WriteRegStr HKLM "${REG_UNINSTALL}" "InstallSource" "$EXEDIR\"
 
  ;Under WinXP this creates two separate buttons: "Modify" and "Remove".
  ;"Modify" will run installer and "Remove" will run uninstaller.
  WriteRegDWord HKLM "${REG_UNINSTALL}" "NoModify" 0
  WriteRegDWord HKLM "${REG_UNINSTALL}" "NoRepair" 0
  WriteRegStr HKLM "${REG_UNINSTALL}" "UninstallString" \
'"$INSTDIR\Uninstall.exe"'
  WriteRegStr HKLM "${REG_UNINSTALL}" "ModifyPath" '"$EXEDIR\${InstFile}"'
SectionEnd
 
Section "Component One (selected by default)" sec_One
  ;Installs component one
  ;By default this section is selected
  DetailPrint "*** Adding Component One..."
  CreateDirectory "$INSTDIR\Component One"
SectionEnd
!macro Remove_${sec_One}
  ;Removes component one
  DetailPrint "*** Removing Component One..."
  RMDir /r "$INSTDIR\Component One"
!macroend
 
Section /o "Component Two (unselected by default)" sec_Two
  ;Installs component two
  ;By default this section is not selected
  DetailPrint "*** Adding Component Two..."
  CreateDirectory "$INSTDIR\Component Two"
SectionEnd
!macro Remove_${sec_Two}
  ;Removes component two
  DetailPrint "*** Removing Component Two..."
  RMDir /r "$INSTDIR\Component Two"
!macroend
 
Section /o "Component Three (unselected by default)" sec_Three
  ;Installs component three
  ;By default this section is not selected
  DetailPrint "*** Adding Component Three..."
  CreateDirectory "$INSTDIR\Component Three"
SectionEnd
!macro Remove_${sec_Three}
  ;Removes component three
  DetailPrint "*** Removing Component Three..."
  RMDir /r "$INSTDIR\Component Three"
!macroend
 
 
;--- Add/Remove callback functions: ---
!macro SectionList MacroName
  ;This macro used to perform operation on multiple sections.
  ;List all of your components in following manner here.
 
  !insertmacro "${MacroName}" "sec_One"
  !insertmacro "${MacroName}" "sec_Two"
  !insertmacro "${MacroName}" "sec_Three"
!macroend
 
Function .onInit
  ;Reads components status for registry
  !insertmacro SectionList "InitSection"
FunctionEnd
 
Section -FinishComponents
  ;Removes unselected components and writes component status to registry
  !insertmacro SectionList "FinishSection"
SectionEnd
 
Section -Post
  ;Showing the results
  ExecShell "open" "$INSTDIR"
SectionEnd
;--- End of Add/Remove callback functions ---
 
 
Section Uninstall
  ;First removes all optional components
  !insertmacro SectionList "RemoveSection"
 
  ;Removes directory and registry key:
  RMDIR /r $INSTDIR
  DeleteRegKey HKLM "${REG_UNINSTALL}"
SectionEnd
0
Oui c'est bien ca a un moment dans l'assistant il demade si on peut laisser le choix a l'utilisateur d'installer tel ou tel composant et dans le code ceux sont bien des sections.
0