Pointage aux coordonnées avec un Dobson

Le pointage aux coordonnées, est impossible avec un Dobson. C’est du moins ce qu’on vous dira généralement. En fait, la phrase devrait être rectifiée ainsi : Le pointage aux coordonnées équatoriales, est impossible avec un Dobson. Par contre, non seulement il est tout à fait possible de pointer aux coordonnées azimutales, mais les Dobsons s’y prêtent particulièrement bien, comme nous allons le voir.

 

Pointing at coordinates is impossible with a Dobson. At least that's what you'll usually be told. In fact, the sentence should be corrected as follows: Pointing at equatorial coordinates is impossible with a Dobson. On the other hand, not only is it quite possible to point at azimuthal coordinates, but the Dobsons are particularly suitable, as we will see. 

pdf version here ---> ICI

A -Les coordonnées azimutales : un épouvantail ?

Si vous ne savez pas ce que sont les coordonnées azimutales et équatoriales, je vous invite à consulter cet article.

C’est bien connu, les coordonnées azimutales changent avec le lieu, le jour et l’heure. Dans ces conditions, il semble impossible de les utiliser couramment. C’est sans conter avec les progrès de la technologie. Ce qui demandait hier des calculs longs et fastidieux peut aujourd’hui être obtenu instantanément avec un ordinateur ou même une simple calculette programmable de type lycée.

 

A.I -Avec une calculette

Si on observe toujours du même endroit, ses coordonnées, longitude et latitude pourront être incluses définitivement dans le programme. Sinon, il faudra les entrer, une seule fois, au lancement du programme. Pour pointer un objet on donnera ses coordonnées équatoriales et l’heure exacte en TU. Si on repointe le même objet un peu plus tard, il suffira de donner uniquement la nouvelle heure. Tout cela se fait en moins d’une minute et le calcul est quasi instantané. Le passage des coordonnées équatoriales aux coordonnées azimutales si changeantes n’est donc pas un véritable obstacle. De plus, quand on compare les deux systèmes, il ne faut pas oublier qu’avec les coordonnées équatoriales, les ascensions droites doivent être constamment recalées si on ne dispose pas d’un moteur de suivi. Le recalage sur une étoile voisine, avant le pointage aux coordonnées, prend bien plus de temps que le calcul des coordonnées azimutales. Notez d'autre part, que ce recalage s’avère parfois nécessaire, même avec une motorisation, si la mise en station n’est pas parfaite.

A.II -Avec un ordinateur

Si on dispose d’un ordinateur sur le terrain, les choses sont encore plus simples.

Je raisonne ici avec l’utilisation du logiciel « Cartes du Ciel » mais d’autres conviennent également.

On lance donc cette application et on affiche la zone du ciel qui nous intéresse. Il suffit de cliquer à droite, sur l’objet à atteindre, pour en avoir toutes les informations, dont les coordonnées des deux types. Il n’est pas nécessaire de rentrer l’heure, le logiciel utilise celle du système.

Petite suggestion : On peut tricher soit sur l’heure, soit sur la longitude de manière à voir s’afficher les coordonnées azimutales de l’instant T + 1mn. Cette minute de décalage tient compte du temps nécessaire pour effectuer le pointage. Dans Cartes du ciel, le plus simple est de tricher sur la longitude qui doit être augmentée d’un quart de degré (15’) si c’est une longitude Est et diminuée d’autant si c’est une longitude Ouest.

Avec Stellarium, les choses sont encore plus simples puisque les coordonnées sont mises à jour en temps réel.

B -Afficher les coordonnées

Fort bien, me dira-t-on, mais ces fameuses coordonnées ne sont en général pas affichées sur les Dobsons. C’est vrai, il va falloir bricoler un peu, mais il n’y a rien d’insurmontable rassurez-vous. Ce texte est long parce qu’il est détaillé et que je propose plusieurs solutions à chaque étape.

Il y a trois choses à faire.

  • Un plateau d’horizontalité.

  • Des graduations en azimut de 0 à 359°.

  • Des graduations en hauteur de 0 à 90°.

B.I -Le plateau

Pour que les mouvements des deux axes soient totalement découplés, il faut que l’ensemble repose sur une base parfaitement horizontale. Toutefois on verra au dernier paragraphe qu’une inclinaison légère n’est pas vraiment catastrophique.

Si le sol est dur, comme une dalle ou des pavés autobloquants, le problème sera solutionné simplement avec un plateau en aggloméré muni de 3 pieds réglables avec des vis.

Si le sol est meuble, comme une pelouse, les choses sont un peu plus compliquées. On pourra par exemple interposer des pavés de ciment entre le sol et les pieds du plateau.

En fait, il est préférable d'avoir 1 pied fixe. En effet si vous agissez sur les 3 pieds vous risquez de dériver petit à petit et de vous retrouver avec un pied bloqué tout en haut ou tout en bas.
Voici une bonne méthode:
supposons pour faciliter les explications que les 2 pieds réglables soient orientés suivant une ligne est-ouest.
-- Vous placez votre niveau suivant une direction perpendiculaire donc nord-sud et vous faites monter ou descendre les 2 pieds réglables simultanément d'une même quantité dans le même sens. Votre plateau pivote suivant un axe est-ouest jusqu'à ce que le niveau indique l'horizontalité.
-- Vous placez votre niveau suivant la direction perpendiculaire à la précédente, donc est-ouest dans mon exemple et vous faites monter ou descendre les 2 pieds réglables simultanément d'une même quantité mais en sens inverse. Votre plateau pivote suivant un axe perpendiculaire au niveau jusqu'à ce que le niveau indique l'horizontalité.
Votre plateau est alors parfaitement horizontal si vous avez bien agit en quantités égales sur les pieds réglables.
Faites un second tour au besoin.

 

B.II -Les graduations d’azimut

Ce sont les plus longues à faire. Je donne plusieurs solutions.

B.II.a -Pour les bricoleurs paresseux

Ceux qui veulent bricoler un minimum pourrons se contenter d’enrouler un mètre de couturière autour du rocker, sur la tranche. Scotcher d’abord l’extrémité avec la graduations maximale (150 cm souvent, insuffisant pour un rocker de 50cm, mais on trouve aussi des 3m). Enrouler en tendant bien et scotcher l’extrémité 0. Il y a deux possibilités : placer le mètre sur le plateau fixe, ou sur le rocker qui tourne au-dessus.

  • Dans le premier cas, l’index sera placé sur le rocker. Le mètre doit être enroulé dans le sens inverse des aiguilles d’une montre (la graduation 10cm est à gauche du 0).

  • Dans le second cas, l’index sera posé sur le plateau d’horizontalité. Le mètre doit être enroulé dans le sens des aiguilles d’une montre (la graduation 10cm est à droite du 0).

Avec cette méthode, les indications ne correspondent pas à des degrés ; un coefficient de conversion k doit être appliqué. On a :

 formK Csur360

où C est la circonférence du rocker, la valeur lue sur le mètre de couturière au niveau de l’extrémité 0.

NB :Si k et C sont exprimés en mm, k correspond à l’espace d’un degré en mm.

Pour faire la conversion, on a plusieurs possibilités.

  • Utiliser une calculette. La valeur de k étant entrée en mémoire, il n’y a plus qu’à faire (valeur azimut) x [MR ] (rappel : [MR] = touche de rappel de la valeur en mémoire), pour obtenir la valeur à lire en mm.
    EX : Le rocker fait 50 cm de diamètre. On va trouver C= 1570mm et k =4,3633... Si l’azimut à atteindre est 28°15’ la valeur à lire sur le mètre sera :  28,25 × k =123,26mm.
    Si les coordonnées sont obtenues par un programme sur calculette, la conversion pourra être directement incorporée au programme !

  • Utiliser une table de conversion. Cette table sera établie à l’aide d’un tableur. En principe, elle doit avoir 360 valeurs, ce qui peut sembler beaucoup. Une solution serait de n’inscrire que les valeurs paires, 180 valeurs, ça devient plus raisonnable. On obtient la valeur impaire suivante en ajoutant k mm.

On peut même se limiter à 36 valeurs de la façon suivante :

On ne note que les valeurs d’angles multiples de 10°. Par contre l’index comporte non pas un seul trait mais dix espacés de k mm et gradués de 0 à 10. Si on veut par exemple régler l’azimut sur 16°, on placera la graduation du mètre correspondant à 10° sur la graduation 6 de l’index.

GraduerAzimutIndex10

 

B.II.b -Pour les bricoleurs un peu plus courageux

Voici deux méthodes pour mettre en place une véritable graduation en degrés.

B.II.b.i Graduations sur la tranche

Au lieu du mètre de couturière (voir en B.II.a), on enroule un bout de sangle de couleur unie claire.

On fait une marque là où l'extrémité libre vient recouvrir l'extrémité scotchée. On déroule, on mesure C.

On calcule D = C / 36. D est l'interval correspondant à 10°.

On calcule à l'aide d'un tableur (Excell ou Calc) les 35 premiers multiples de D. On place un mètre à ruban parallèlement à  la sangle, le zéro en face de l'extrémité de début (attention au sens voir le premier paragraphe en B.II.a) et on reporte soigneusement les 35 valeurs  calculées sur la sangle et on écrit les valeurs d'angles multiples de 10°.

On remet en place la sangle sur la tranche du rocker ou du plateau fixe. On réalise un index couvrant 10°(figure ci-dessus). Et le tour est joué!

NB: Pour un index posé sur le plateau, les graduations de la figure ci-dessus sont à inverser.

B.II.b.ii Graduations à plat

Les graduations seront ici mises à plat sur le rocker. On commence, comme en B.II.a, en plaçant un mètre de couturière sur la tranche du rocker.

De la valeur de C, lue sur le mètre, on déduit le rayon du rocker. Comme on ne pourra pas imprimer la couronne d’un seul tenant, on va décomposer celle-ci en arcs qui seront placés ensuite bout à bout. Chaque arc couvrira 60°. Cette valeur convient pour un rocker de 50cm de diamètre voire un peu plus et une impression en paysage A4. Le dessin est fourni figure1, il suffit de l’imprimer en adaptant l’échelle. Vérifier avec les cotations.
Petite astuce : On démarre le premier arc sur la graduation 5° au lieu de 0 pour ne pas avoir à inscrire des valeurs aux extrémités à cheval sur deux arcs.
Après impression, de préférence sur du bristol, on découpera les différentes pièces. Pour les coller sur le rocker, on s’alignera sur les indications du mètre de couturière : la graduation 0 en face du 0, la graduation 60° en face de C/6 etc.. L’index pourra être une arête verticale d’un cube de bois ou d’autre matière plus lourde. Voir plus loin comment placer l’index au bon endroit. Si on a une préférence pour la position de l’index, il faudra y songer dès le départ, au moment de la mise en place du mètre de couturière. Dès que les 6 pièces de bristol sont collées, à leur place très précise, le mètre peut être retiré.

graduerAzimut

figure 1 Faire clic-d dans l'image pour accéder à l'image à l'échelle 1

B.II.c La solution électronique

La voie royale consiste à afficher les angles avec des afficheurs 7 segments à leds rouges. On peut alors lire les angles sans lampe et sans éblouissement. Un tel dispositif est trop complexe pour être entièrement décrit ici. Le principe consiste à compter des impulsions fournis par des fourches optoélectroniques entre les branches desquelles défilent des zones alternativement opaques et transparentes quand le rocker tourne.

B.II.d Graduations sur une fraction de cercle

Au lieu de travailler sur les valeurs absolues des azimuts, on peut se contenter d'utiliser des valeurs relatives. Un objet à observer est toujours relativement proche d'une étoile parfaitement identifiable. Dès lors, il suffit de pouvoir mesurer le petit angle qui les sépare en azimut. Tout cela, et la réalisation des plus simples qui va avec, est expliqué dans un autre article tout à la fin.

B.III -Les graduations de hauteur

Pour mesurer l’angle de hauteur, on va utiliser une sorte de fil à plomb se déplaçant sur un quart de cercle gradué (figure 2).

La mesure se fait en posant le côté AB de la planche sur la ligne de crête du tube.

raporteurHauteur

figure 2 Faire clic-d dans l'image pour accéder à l'image à l'échelle 1

L’index (le « fil » à plomb) est réalisé avec un tube à section carré en aluminium percé de part en part d’un petit trou permettant le passage d’un clou, vers une extrémité. Le tube est lesté par une barre de fer de quelques cm de long vers l’autre extrémité. Cette extrémité est sciée en pointe. C’est la pointe qui indique l’angle (figure 3).

indexHauteurRapporteurHauteurEquerre

figure 3

Mais vous pouvez aussi utiliser un inclinomètre du commerce qui vous coûtera une vingtaine d'euros.

C -Utilisation

Remarquons d’abord qu’on n’a pas fait tout ça pour rien. Utiliser nos graduations sera un vrai bonheur. On travaille sur de grands cercles, ce qui nous donne plusieurs mm par degré ; on peut ainsi raisonnablement espérer un placement au ¼ de degré près ou presque. Les conditions n’ont rien à voir avec celle des petites montures équatoriales où les cercles de l’ordre de 8 cm de diamètre ne laissent pas espérer une précision meilleure que 1,5 à 2°.

C.I -Les azimuts

La seule chose à faire préalablement, consiste à placer soigneusement l’index. Pour cela, il suffit de pointer une étoile bien identifiée, de demander au logiciel son azimut actuel et de placer l’index en conséquence.

C.II -Les hauteurs

Pour les hauteurs, c’est on ne peut plus simple. On pose la base de l’outil sur le dos du télescope et on lit directement la valeur indiquée par l’index.

Au premier essai, il faudra vérifier que les indications sont justes. Poser un niveau sur le dos du télescope et régler à l’horizontalité exacte. Bloquer la position. Poser l’instrument et vérifier qu’il indique 0°. Si ce n’est pas le cas, caler par en dessous ou retoucher la pointe du curseur.

D -Influence d’une erreur d’horizontalité du support

Le calcul de cette erreur est un peu complexe. J'y reviendrai une autre fois. Je ne donne ici que les conclusions.

La principale chose à retenir est que, l’erreur en hauteur étant annulée (puisque la mesure est indépendante de l'orientation du support), si on doit tâtonner pour trouver un objet, c'est uniquement en azimut. Et n'avoir à tatonner que dans une direction, ça change tout!

Remarquons d'autre part que la précision d’un niveau est habituellement de 2mm/m soit un angle de 0,11°. Il est donc tout à fait possible de rendre négligeable l’erreur d’horizontalité.

***** © M Guignard *****

 

Comments (0)

    Attach images by dragging & dropping or by selecting them.
    The maximum file size for uploads is 10MB. Only gif,jpg,png files are allowed.
     
    The maximum number of 3 allowed files to upload has been reached. If you want to upload more files you have to delete one of the existing uploaded files first.
    The maximum number of 3 allowed files to upload has been reached. If you want to upload more files you have to delete one of the existing uploaded files first.
    Posting as

    Comments powered by CComment

    Settings7.92MBMemory Usage1.33sRequest Duration
    Theme
    Open Button Position
    Hide Empty Tabs
    Autoshow
    Reset to defaults
    Joomla! Version5.3.0
    PHP Version8.3.21
    Identityguest
    Response200
    Templatecassiopeia
    Database
    Server
    mysql
    Version
    10.11.11-MariaDB-0+deb12u1
    Collation
    utf8mb3_general_ci
    Conn Collation
    utf8mb4_general_ci
    $_GET
    []
    $_POST
    []
    $_SESSION
    array:1 [ "joomla" => "***redacted***" ]
    $_COOKIE
    array:1 [ "b5f37dc5f09fa61a7a972d979e431262" => "6bb4h4rhu1bms7havnvtmu38od" ]
    $_SERVER
    array:52 [ "PATH" => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "PP_CUSTOM_P...
    session
    array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1748193596 "last" => 1748193596...
    registry
    array:3 [ "data" => [] "initialized" => false "separator" => "." ]
    user
    array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
    plg_system_webauthn
    array:1 [ "returnUrl" => "https://www.doubsastuces.fr/index.php/astronomie/bricolage-en-astronomie...
    • afterLoad (85.55KB) (34.47ms)
    • afterInitialise (1.14MB) (149ms)
    • afterRoute (148.16KB) (41.33ms)
    • beforeRenderComponent com_content (168.98KB) (25.85ms)
    • Before Access::preloadComponents (all components) (99.45KB) (21ms)
    • After Access::preloadComponents (all components) (122.52KB) (2.98ms)
    • Before Access::preloadPermissions (com_content) (1.66KB) (35μs)
    • After Access::preloadPermissions (com_content) (93.53KB) (2.74ms)
    • Before Access::getAssetRules (id:90 name:com_content.article.18) (6.65KB) (41μs)
    • After Access::getAssetRules (id:90 name:com_content.article.18) (7.56KB) (2.15ms)
    • Before Access::getAssetRules (id:305 name:com_comment) (1.6MB) (394ms)
    • After Access::getAssetRules (id:305 name:com_comment) (7.12KB) (82μs)
    • afterRenderComponent com_content (12.01KB) (41.73ms)
    • afterDispatch (2.27KB) (942μs)
    • beforeRenderRawModule mod_login (Connexion) (28.55KB) (8.24ms)
    • afterRenderRawModule mod_login (Connexion) (118.84KB) (31.09ms)
    • beforeRenderRawModule mod_tags_popular (Tags populaires) (848B) (82μs)
    • afterRenderRawModule mod_tags_popular (Tags populaires) (31.31KB) (31.46ms)
    • beforeRenderRawModule mod_breadcrumbs (Fil de navigation) (44.3KB) (4.69ms)
    • afterRenderRawModule mod_breadcrumbs (Fil de navigation) (13.65KB) (7.3ms)
    • beforeRenderRawModule mod_search (Recherche) (3.93KB) (4.05ms)
    • afterRenderRawModule mod_search (Recherche) (16.07KB) (12.08ms)
    • beforeRenderRawModule mod_menu (Menu principal) (1.66KB) (5.57ms)
    • afterRenderRawModule mod_menu (Menu principal) (135.57KB) (44.74ms)
    • beforeRenderModule mod_breadcrumbs (Fil de navigation) (2.12MB) (21.67ms)
    • afterRenderModule mod_breadcrumbs (Fil de navigation) (4.53KB) (3.93ms)
    • beforeRenderModule mod_search (Recherche) (112B) (5.71ms)
    • afterRenderModule mod_search (Recherche) (3.31KB) (1.69ms)
    • beforeRenderModule mod_login (Connexion) (223.77KB) (165ms)
    • afterRenderModule mod_login (Connexion) (10.42KB) (714μs)
    • beforeRenderModule mod_tags_popular (Tags populaires) (752B) (44μs)
    • afterRenderModule mod_tags_popular (Tags populaires) (1.76KB) (451μs)
    • beforeRenderModule mod_menu (Menu principal) (90.38KB) (48.72ms)
    • afterRenderModule mod_menu (Menu principal) (7.34KB) (2.63ms)
    • beforeRenderRawModule mod_menu (Menu utilisateur) (59.95KB) (55.32ms)
    • afterRenderRawModule mod_menu (Menu utilisateur) (1008B) (8.39ms)
    • beforeRenderModule mod_menu (Menu utilisateur) (720B) (24μs)
    • afterRenderModule mod_menu (Menu utilisateur) (1.66KB) (655μs)
    • afterRender (2.13MB) (143ms)
    • 1 x Before Access::getAssetRules (id:305 name:com_comment) (1.6MB) (29.69%)
      394ms
      1 x beforeRenderModule mod_login (Connexion) (223.77KB) (12.47%)
      165ms
      1 x afterInitialise (1.14MB) (11.21%)
      149ms
      1 x afterRender (2.13MB) (10.79%)
      143ms
      1 x beforeRenderRawModule mod_menu (Menu utilisateur) (59.95KB) (4.17%)
      55.32ms
      1 x beforeRenderModule mod_menu (Menu principal) (90.38KB) (3.67%)
      48.72ms
      1 x afterRenderRawModule mod_menu (Menu principal) (135.57KB) (3.37%)
      44.74ms
      1 x afterRenderComponent com_content (12.01KB) (3.15%)
      41.73ms
      1 x afterRoute (148.16KB) (3.12%)
      41.33ms
      1 x afterLoad (85.55KB) (2.6%)
      34.47ms
      1 x afterRenderRawModule mod_tags_popular (Tags populaires) (31.31KB) (2.37%)
      31.46ms
      1 x afterRenderRawModule mod_login (Connexion) (118.84KB) (2.34%)
      31.09ms
      1 x beforeRenderComponent com_content (168.98KB) (1.95%)
      25.85ms
      1 x beforeRenderModule mod_breadcrumbs (Fil de navigation) (2.12MB) (1.63%)
      21.67ms
      1 x Before Access::preloadComponents (all components) (99.45KB) (1.58%)
      21.00ms
      1 x afterRenderRawModule mod_search (Recherche) (16.07KB) (0.91%)
      12.08ms
      1 x afterRenderRawModule mod_menu (Menu utilisateur) (1008B) (0.63%)
      8.39ms
      1 x beforeRenderRawModule mod_login (Connexion) (28.55KB) (0.62%)
      8.24ms
      1 x afterRenderRawModule mod_breadcrumbs (Fil de navigation) (13.65KB) (0.55%)
      7.30ms
      1 x beforeRenderModule mod_search (Recherche) (112B) (0.43%)
      5.71ms
      1 x beforeRenderRawModule mod_menu (Menu principal) (1.66KB) (0.42%)
      5.57ms
      1 x beforeRenderRawModule mod_breadcrumbs (Fil de navigation) (44.3KB) (0.35%)
      4.69ms
      1 x beforeRenderRawModule mod_search (Recherche) (3.93KB) (0.31%)
      4.05ms
      1 x afterRenderModule mod_breadcrumbs (Fil de navigation) (4.53KB) (0.3%)
      3.93ms
      1 x After Access::preloadComponents (all components) (122.52KB) (0.22%)
      2.98ms
      1 x After Access::preloadPermissions (com_content) (93.53KB) (0.21%)
      2.74ms
      1 x afterRenderModule mod_menu (Menu principal) (7.34KB) (0.2%)
      2.63ms
      1 x After Access::getAssetRules (id:90 name:com_content.article.18) (7.56KB) (0.16%)
      2.15ms
      1 x afterRenderModule mod_search (Recherche) (3.31KB) (0.13%)
      1.69ms
      1 x afterDispatch (2.27KB) (0.07%)
      942μs
      1 x afterRenderModule mod_login (Connexion) (10.42KB) (0.05%)
      714μs
      1 x afterRenderModule mod_menu (Menu utilisateur) (1.66KB) (0.05%)
      655μs
      1 x afterRenderModule mod_tags_popular (Tags populaires) (1.76KB) (0.03%)
      451μs
      1 x After Access::getAssetRules (id:305 name:com_comment) (7.12KB) (0.01%)
      82μs
      1 x beforeRenderRawModule mod_tags_popular (Tags populaires) (848B) (0.01%)
      82μs
      1 x beforeRenderModule mod_tags_popular (Tags populaires) (752B) (0%)
      44μs
      1 x Before Access::getAssetRules (id:90 name:com_content.article.18) (6.65KB) (0%)
      41μs
      1 x Before Access::preloadPermissions (com_content) (1.66KB) (0%)
      35μs
      1 x beforeRenderModule mod_menu (Menu utilisateur) (720B) (0%)
      24μs
    35 statements were executed, 6 of which were duplicates, 29 unique77.45ms236.93KB
    • SELECT @@SESSION.sql_mode;325μs968B/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:259Copy
    • SELECT `data` FROM `sn27j_session` WHERE `session_id` = ?455μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:250Copy
    • SELECT `session_id` FROM `sn27j_session` WHERE `session_id` = :session_id LIMIT 1300μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
    • UPDATE `sn27j_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id415μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
    • SELECT `id`,`rules` FROM `sn27j_viewlevels`538μs928B/libraries/src/Access/Access.php:955Copy
    • SELECT `b`.`id` FROM `sn27j_usergroups` AS `a` LEFT JOIN `sn27j_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest567μs1.33KBParams/libraries/src/Access/Access.php:868Copy
    • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `sn27j_categories` AS `s` INNER JOIN `sn27j_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.2ms3.88KBParams/libraries/src/Categories/Categories.php:375Copy
    • SELECT `alias` FROM `sn27j_content` WHERE `id` = :id247μs1.31KBParams/components/com_content/src/Service/Router.php:289Copy
    • SELECT `id`,`name`,`rules`,`parent_id` FROM `sn27j_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40,:preparedArray41,:preparedArray42)1.57ms8.19KBParams/libraries/src/Access/Access.php:357Copy
    • SELECT `id`,`name`,`rules`,`parent_id` FROM `sn27j_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 01.56ms4.48KBParams/libraries/src/Access/Access.php:301Copy
    • SHOW FULL COLUMNS FROM `sn27j_content`8.95ms1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
    • UPDATE `sn27j_content` SET `hits` = (`hits` + 1) WHERE `id` = '18'4.74ms48B/libraries/src/Table/Table.php:1348Copy
    • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `sn27j_content` AS `a` INNER JOIN `sn27j_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `sn27j_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `sn27j_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `sn27j_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `sn27j_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)1.6ms54.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
    • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `sn27j_categories` AS `s` INNER JOIN `sn27j_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`845μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
    • SELECT `m`.`tag_id`,`t`.* FROM `sn27j_contentitem_tag_map` AS `m` INNER JOIN `sn27j_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)615μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
    • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `sn27j_categories` AS `s` INNER JOIN `sn27j_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.67ms3.92KBParams/libraries/src/Categories/Categories.php:375Copy
    • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM sn27j_fields AS a LEFT JOIN `sn27j_languages` AS l ON l.lang_code = a.language LEFT JOIN sn27j_users AS uc ON uc.id=a.checked_out LEFT JOIN sn27j_viewlevels AS ag ON ag.id = a.access LEFT JOIN sn27j_users AS ua ON ua.id = a.created_user_id LEFT JOIN sn27j_fields_groups AS g ON g.id = a.group_id LEFT JOIN `sn27j_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC11.05ms6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
    • SELECT `a`.`id`,`a`.`title`,`a`.`catid`,`a`.`language`, CASE WHEN CHAR_LENGTH(`a`.`alias`) != 0 THEN CONCAT_WS(':', `a`.`id`, `a`.`alias`) ELSE a.id END AS `slug`, CASE WHEN CHAR_LENGTH(`cc`.`alias`) != 0 THEN CONCAT_WS(':', `cc`.`id`, `cc`.`alias`) ELSE cc.id END AS `catslug` FROM `sn27j_content` AS `a` LEFT JOIN `sn27j_categories` AS `cc` ON `cc`.`id` = `a`.`catid` WHERE `a`.`catid` = :catid AND `a`.`state` = :state AND `a`.`access` IN (:preparedArray1,:preparedArray2) AND (`publish_up` IS NULL OR `publish_up` <= :nowDate1) AND (`publish_down` IS NULL OR `publish_down` >= :nowDate2) ORDER BY CASE WHEN `a`.`publish_up` IS NULL THEN `a`.`created` ELSE `a`.`publish_up` END DESC11.72ms1.91KBParams/plugins/content/pagenavigation/src/Extension/PageNavigation.php:205Copy
    • SELECT * FROM `sn27j_comment_setting` WHERE `component`='com_content'357μs704B/administrator/components/com_comment/library/config.php:85Copy
    • SELECT * FROM sn27j_comment_queue WHERE status = 0 ORDER BY created ASC LIMIT 5738μs1.27KB/components/com_comment/helpers/queue.php:40Copy
    • SELECT COUNT(*) FROM sn27j_comment WHERE contentid='18' AND component='com_content' AND published=1931μs536B/components/com_comment/models/comment.php:152Copy
    • SELECT f.*, c.catid as catid FROM sn27j_compojoom_customfields as f LEFT JOIN sn27j_compojoom_customfields_cats AS c ON f.id = c.compojoom_customfields_id WHERE `f`.`show`='all' AND `f`.`enabled` = '1' AND `f`.`component` = 'com_comment'627μs2.39KB/libraries/compojoom/model/customfieldsconfig.php:51Copy
    • SELECT f.* FROM sn27j_compojoom_customfields AS f INNER JOIN sn27j_compojoom_customfields_cats AS c ON f.id = c.compojoom_customfields_id WHERE `f`.`show`='category' AND `c`.`catid` IN ('1') AND `f`.`enabled` = '1' AND `f`.`component` = 'com_comment'517μs2.36KB/libraries/compojoom/model/customfieldsconfig.php:70Copy
    • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `sn27j_modules` AS `m` LEFT JOIN `sn27j_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `sn27j_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`1.54ms1.94KBParams/libraries/src/Cache/Controller/CallbackController.php:120Copy
    • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `sn27j_categories` AS `s` INNER JOIN `sn27j_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.13ms3.92KBParams/libraries/src/Categories/Categories.php:375Copy
    • SELECT `alias`,`catid` FROM sn27j_content WHERE `id` = :key455μs1.37KBParams/libraries/src/Component/Router/Rules/PreprocessRules.php:123Copy
    • SELECT MAX(`tag_id`) AS `tag_id`,COUNT(*) AS `count`,MAX(`t`.`title`) AS `title`,MAX(`t`.`access`) AS `access`,MAX(`t`.`alias`) AS `alias`,MAX(`t`.`params`) AS `params`,MAX(`t`.`language`) AS `language` FROM `sn27j_contentitem_tag_map` AS `m` INNER JOIN `sn27j_ucm_content` AS `ucm` ON `m`.`content_item_id` = `ucm`.`core_content_item_id` AND `m`.`type_id` = `ucm`.`core_type_id` INNER JOIN `sn27j_categories` AS `cat` ON `ucm`.`core_catid` = `cat`.`id` INNER JOIN `sn27j_tags` AS `t` ON `tag_id` = `t`.`id` INNER JOIN `sn27j_ucm_content` AS `c` ON `m`.`core_content_id` = `c`.`core_content_id` WHERE `t`.`access` IN (:preparedArray1,:preparedArray2) AND `t`.`published` = 1 AND `cat`.`published` > 0 AND `m`.`type_alias` = `c`.`core_type_alias` AND `c`.`core_state` = 1 AND (`c`.`core_access` IN (:preparedArray3,:preparedArray4) OR `c`.`core_access` = 0) AND (`c`.`core_publish_up` IS NULL OR `c`.`core_publish_up` = :nullDate2 OR `c`.`core_publish_up` <= :nowDate2) AND (`c`.`core_publish_down` IS NULL OR `c`.`core_publish_down` = :nullDate3 OR `c`.`core_publish_down` >= :nowDate3) GROUP BY `tag_id`,`t`.`title`,`t`.`access`,`t`.`alias` ORDER BY `count` DESC LIMIT 1013.31ms1.81KBParams/modules/mod_tags_popular/src/Helper/TagsPopularHelper.php:188Copy
    • SELECT `alias`,`catid` FROM sn27j_content WHERE `id` = :key664μs1.37KBParams/libraries/src/Component/Router/Rules/PreprocessRules.php:123Copy
    • SELECT * FROM `sn27j_schemaorg` WHERE `itemId` = :itemId AND `context` = :context1.3ms1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
    • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `sn27j_content` AS `a` INNER JOIN `sn27j_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `sn27j_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `sn27j_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `sn27j_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `sn27j_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)909μs54.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
    • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `sn27j_content` AS `a` INNER JOIN `sn27j_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `sn27j_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `sn27j_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `sn27j_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `sn27j_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)932μs54.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
    • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `sn27j_scheduler_tasks` AS `a` WHERE `a`.`state` = 1873μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy
    • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `sn27j_categories` AS `s` INNER JOIN `sn27j_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`1.21ms6.42KBParams/libraries/src/Categories/Categories.php:375Copy
    • SELECT `session_id` FROM `sn27j_session` WHERE `session_id` = ?473μs1KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:277Copy
    • UPDATE `sn27j_session` SET `data` = ? , `time` = ? WHERE `session_id` = ?3.11ms592BParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:301Copy